From 256fccc8aec64d34700907f8cf55aec217a0df96 Mon Sep 17 00:00:00 2001 From: Michael Elrom Date: Thu, 13 Aug 2026 20:02:33 -0400 Subject: [PATCH 1/3] feat(vsphere): add VMware vSphere Automation API (/api) spec and project Add a second, independent Integration Model + Studio Project pair for vCenter's modern /api-based vSphere Automation API, alongside the existing /rest-based VMware vSphere vCenter project: - vmware_vsphere_automation-9.1.0.0.json: full spec (1363 ops), sourced from Broadcom's official vmware/vcf-api-specs GitHub repo rather than generated -- unlike the /rest spec, a genuine vendor-published source exists for this API generation. Security scheme narrowed from the vendor's three alternatives to one dynamic-retrieval scheme. - vmware_vsphere_automation-latest.json: curated to 22 operations, deliberately matching the /rest project's scope 1:1 (inventory listing + VM lifecycle) rather than exploring the much larger surface. - VMware vSphere Automation.project.json: same 22 workflows as the existing /rest project, rebuilt on the /api operations, wired to a separate "vSphere Automation" integration instance so both projects can run in parallel without colliding. Auth bootstraps through the legacy /rest session endpoint rather than /api/session -- confirmed live that a token minted via /rest works identically against /api/* endpoints (they share one underlying session), and this routes around a confirmed Itential Platform bug: Gateway.js unconditionally re-JSON.parses an already-decoded string response when routed through a Gateway, which throws whenever a bare string session token (like /api/session returns) isn't itself valid JSON syntax. This is a permanent fix, not a workaround. Also renamed the existing /rest project's adapter_id from "vSphere" to "vSphere vCenter" so both projects can coexist with distinct, clearly named integration instances. Only Vcenter.VM_list has been individually confirmed live (against a real vCenter 7.0.3); the other 21 workflows follow the same platform-generated task pattern (path params as flat fields, JSON bodies as requestBodyPayload/bodyContentType) but haven't each been individually exercised -- flagged in the README. --- .../vmware_vsphere_automation-9.1.0.0.json | 176746 +++++++++++++++ .../vmware_vsphere_automation-latest.json | 4901 + VMware/vSphere/README.md | 136 +- .../VMware vSphere Automation.project.json | 2666 + .../VMware vSphere vCenter.project.json | 44 +- 5 files changed, 184456 insertions(+), 37 deletions(-) create mode 100644 VMware/vSphere/OpenAPIs/vmware_vsphere_automation-9.1.0.0.json create mode 100644 VMware/vSphere/OpenAPIs/vmware_vsphere_automation-latest.json create mode 100644 VMware/vSphere/Studio Projects/VMware vSphere Automation.project.json diff --git a/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-9.1.0.0.json b/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-9.1.0.0.json new file mode 100644 index 0000000..6053be2 --- /dev/null +++ b/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-9.1.0.0.json @@ -0,0 +1,176746 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "VMware vSphere Automation", + "version": "9.1.0.0" + }, + "servers": [ + { + "url": "https://{host}/api", + "variables": { + "host": { + "default": "localhost" + } + } + } + ], + "tags": [ + { + "name": "Appliance.Health", + "description": "The Appliance.Health resource provides operations to retrieve the appliance health information.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.HealthCheckSettings", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. The DB health check tool has been removed from 9.0 release.\n\nThe Appliance.HealthCheckSettings resource provides operations to enable/disable health check settings in vCenter Server.\n\nThis resource was added in __vSphere API 7.0.0.1__." + }, + { + "name": "Appliance.LocalAccounts", + "description": "The Appliance.LocalAccounts resource provides operations to manage local user account.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Monitoring", + "description": "Appliance.Monitoring resource provides operations Get and list monitoring data for requested item." + }, + { + "name": "Appliance.Networking", + "description": "The Appliance.Networking resource provides operations Get Network configurations.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Ntp", + "description": "Appliance.Ntp resource provides operations Gets NTP configuration status and tests connection to ntp servers.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Recovery", + "description": "The Appliance.Recovery resource provides operations to invoke an appliance recovery (backup and restore).\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Services", + "description": "The Service resource provides operations to manage a single/set of appliance services.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Shutdown", + "description": "Appliance.Shutdown resource provides operations Performs reboot/shutdown operations on appliance.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Cores", + "description": "This resource was added in __vSphere API 8.0.2.0__." + }, + { + "name": "Appliance.SupportBundle", + "description": "The Appliance.SupportBundle resource provides operations to create support bundle, list and delete generated support bundle.\n\nThis resource was added in __vSphere API 7.0.1.0__." + }, + { + "name": "Appliance.Timesync", + "description": "Appliance.Timesync resource provides operations Performs time synchronization configuration.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Update", + "description": "The Appliance.Update resource provides operations to get the status of the appliance update.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Access.Consolecli", + "description": "Appliance.Access.Consolecli resource provides operations Get/Set enabled state of CLI." + }, + { + "name": "Appliance.Access.Dcui", + "description": "Appliance.Access.Dcui resource provides operations Get/Set enabled state of DCUI." + }, + { + "name": "Appliance.Access.Shell", + "description": "Appliance.Access.Shell resource provides operations Get/Set enabled state of BASH." + }, + { + "name": "Appliance.Access.Ssh", + "description": "Appliance.Access.Ssh resource provides operations Get/Set enabled state of SSH-based controlled CLI." + }, + { + "name": "Appliance.Health.Applmgmt", + "description": "Appliance.Health.Applmgmt resource provides operations Get health status of applmgmt services." + }, + { + "name": "Appliance.Health.Database", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. The DB health check tool has been removed from 9.0 release.\n\nThe Appliance.Health.Database resource provides operations to retrieve the health status of the vcdb.\n\nThis resource was added in __vSphere API 7.0.0.1__." + }, + { + "name": "Appliance.Health.Databasestorage", + "description": "Appliance.Health.Databasestorage resource provides operations Get database storage health." + }, + { + "name": "Appliance.Health.Load", + "description": "Appliance.Health.Load resource provides operations Get load health." + }, + { + "name": "Appliance.Health.Mem", + "description": "Appliance.Health.Mem resource provides operations Get memory health." + }, + { + "name": "Appliance.Health.Softwarepackages", + "description": "Appliance.Health.Softwarepackages resource provides operations Get information on available software updates available in remote VUM repository." + }, + { + "name": "Appliance.Health.Storage", + "description": "Appliance.Health.Storage resource provides operations Get storage health." + }, + { + "name": "Appliance.Health.Swap", + "description": "Appliance.Health.Swap resource provides operations Get swap health." + }, + { + "name": "Appliance.Health.System", + "description": "Appliance.Health.System resource provides operations Get overall health of the system." + }, + { + "name": "Appliance.Infraprofile.Configs", + "description": "This resource is deprecated as of __vSphere API 9.0.0.0__.\n\nAppliance.Infraprofile.Configs resource provides operations to manage desired configuration specification of an appliance.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Appliance.LocalAccounts.Policy", + "description": "The Appliance.LocalAccounts.Policy resource provides operations to manage local user accounts\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Logging.Forwarding", + "description": "The Appliance.Logging.Forwarding resource provides operations to manage forwarding of log messages to remote logging servers.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Logging.Liagent.LogCollection", + "description": "The Appliance.Logging.Liagent.LogCollection resource provides operations to manage streaming of log messages to loginsight server via liagent.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Appliance.Networking.Proxy", + "description": "The Appliance.Networking.Proxy resource provides operations Proxy configuration.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Networking.NoProxy", + "description": "The Appliance.Networking.NoProxy resource provides operations to configure a connection that does not need a proxy.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Networking.Interfaces", + "description": "Appliance.Networking.Interfaces resource provides operations Provides information about network interface." + }, + { + "name": "Appliance.Networking.Dns.Domains", + "description": "Appliance.Networking.Dns.Domains resource provides operations DNS search domains." + }, + { + "name": "Appliance.Networking.Dns.Hostname", + "description": "Appliance.Networking.Dns.Hostname resource provides operations Performs operations on Fully Qualified Doman Name." + }, + { + "name": "Appliance.Networking.Dns.Servers", + "description": "Appliance.Networking.Dns.Servers resource provides operations DNS server configuration." + }, + { + "name": "Appliance.Networking.Firewall.Inbound", + "description": "The Appliance.Networking.Firewall.Inbound resource provides operations to manage inbound firewall rules.\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Appliance.Networking.Interfaces.Ipv4", + "description": "The Appliance.Networking.Interfaces.Ipv4 resource provides operations to perform IPv4 network configuration for interfaces.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Networking.Interfaces.Ipv6", + "description": "The Appliance.Networking.Interfaces.Ipv6 resource provides operations to perform IPv6 network configuration for interfaces.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Recovery.Backup", + "description": "Appliance.Recovery.Backup resource provides operations Performs backup restore operations" + }, + { + "name": "Appliance.Recovery.Restore", + "description": "Appliance.Recovery.Restore resource provides operations Performs restore operations" + }, + { + "name": "Appliance.Recovery.Backup.Job", + "description": "The Appliance.Recovery.Backup.Job resource provides operations to be performed on a backup job." + }, + { + "name": "Appliance.Recovery.Backup.Parts", + "description": "Appliance.Recovery.Backup.Parts resource provides operations Provides list of parts optional for the backup" + }, + { + "name": "Appliance.Recovery.Backup.Schedules", + "description": "The Appliance.Recovery.Backup.Schedules resource provides operations to be performed to manage backup schedules.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Recovery.Backup.SystemName", + "description": "The Appliance.Recovery.Backup.SystemName resource provides operations to enumerate system names of appliance backups.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Recovery.Backup.Job.Details", + "description": "The Appliance.Recovery.Backup.Job.Details resource provides operations to get the details about backup jobs.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Recovery.Backup.SystemName.Archive", + "description": "The Appliance.Recovery.Backup.SystemName.Archive resource provides operations to get the backup information.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Recovery.Reconciliation.Job", + "description": "The Appliance.Recovery.Reconciliation.Job resource provides operations to create and get the status of reconciliation job.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Recovery.Restore.Job", + "description": "Appliance.Recovery.Restore.Job resource provides operations Performs restore operations" + }, + { + "name": "Appliance.SupportBundle.Components", + "description": "The SupportBundleComponents resource provides operations to get the supported support bundle components.\n\nThis resource was added in __vSphere API 7.0.1.0__." + }, + { + "name": "Appliance.System.CryptoHash", + "description": "The Appliance.System.CryptoHash resource provides operations to switch systems global crypto one-way hash algorithms.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Appliance.System.Storage", + "description": "Appliance.System.Storage resource provides operations Appliance storage configuration" + }, + { + "name": "Appliance.System.Uptime", + "description": "Appliance.System.Uptime resource provides operations Get the system uptime." + }, + { + "name": "Appliance.System.Time", + "description": "Appliance.System.Time resource provides operations Gets system time." + }, + { + "name": "Appliance.System.Version", + "description": "Appliance.System.Version resource provides operations Get the appliance version." + }, + { + "name": "Appliance.System.CryptoHash.Options", + "description": "The Appliance.System.CryptoHash.Options resource provides operations to retrieve available crypto hash modes\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Appliance.System.Security.GlobalFips", + "description": "This resource is deprecated as of __vSphere API 9.0.0.0__. This API is no longer needed as FIPS is enabled by default\n\nThe Appliance.System.Security.GlobalFips resource provides operations to enable/disable appliance FIPS mode.\n\nThis resource was added in __vSphere API 7.0.1.0__." + }, + { + "name": "Appliance.System.Time.Timezone", + "description": "The Appliance.System.Time.Timezone resource provides operations to get and set the appliance timezone.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Tls.Profiles", + "description": "Appliance.Tls.Profiles resource provides operations APIs to list the details of available standard TLS Profiles.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Appliance.Tls.ManualParameters.Global", + "description": "Appliance.Tls.ManualParameters.Global resource provides operations APIs to configure manual/custom TLS parameters.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Appliance.Tls.ManualParameters.Services", + "description": "Appliance.Tls.ManualParameters.Services resource provides operations APIs to configure manual/custom TLS parameters for a specific service.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Appliance.Tls.Profiles.Global", + "description": "Appliance.Tls.Profiles.Global resource provides operations APIs to configure standard TLS profile. \n\n This is a profile based management for TLS usage on vCenter and the interface is for managing standard/built-in profiles globally in the appliance.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Appliance.Update.Policy", + "description": "The Appliance.Update.Policy resource provides operations to set/get background check for the new updates.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Update.Pending", + "description": "The Appliance.Update.Pending resource provides operations to manipulate pending updates.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Appliance.Update.Staged", + "description": "The Appliance.Update.Staged resource provides operations to get the status of the staged update.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Cis.Session", + "description": "The Cis.Session resource allows API clients to manage session tokens including creating, deleting and obtaining information about sessions. \n\n \n - The *POST /session* operation creates session token in exchange for another authentication token.\n - The *DELETE /session* operation invalidates a session token.\n - The *GET /session* retrieves information about a session token.\n \n\n The call to the *POST /session* operation is part of the overall authentication process for API clients. For example, the sequence of steps for establishing a session with SAML token is: \n - Connect to lookup service.\n - Discover the secure token service (STS) endpoint URL.\n - Connect to the secure token service to obtain a SAML token.\n - Authenticate to the lookup service using the obtained SAML token.\n - Discover the API endpoint URL from lookup service.\n - Call the *POST /session* operation. The *POST /session* call must include the SAML token.\n \n\n See the programming guide and samples for additional information about establishing API sessions. \n\n __Execution Context and Security Context__ \n\n To use session based authentication a client should supply the session token obtained through the *POST /session* operation. The client should add the session token in the security context when using SDK classes. Clients using the REST API should supply the session token using the `vmware-api-session-id` HTTP header field. \n\n __Session Lifetime__ \n\n A session begins with call to the *POST /session* operation to exchange a SAML token for a API session token. A session ends under the following circumstances: \n - Call to the *DELETE /session* operation. \n - The session expires. Session expiration may be caused by one of the following situations: \n - Client inactivity - For a particular session identified by client requests that specify the associated session ID, the lapsed time since the last request exceeds the maximum interval between requests.\n - Unconditional or absolute session expiration time: At the beginning of the session, the session logic uses the SAML token and the system configuration to calculate absolute expiration time.\n \n \n\n When a session ends, the authentication logic will reject any subsequent client requests that specify that session. Any operations in progress will continue to completion. \n\n __Error Handling__ \n\n The *Cis.Session* returns the following errors: \n - *Vapi.Std.Errors.Unauthenticated* error for any errors related to the request.\n - *Vapi.Std.Errors.ServiceUnavailable* error for all errors caused by internal service failure.\n " + }, + { + "name": "Cis.Tasks", + "description": "The Cis.Tasks resource provides operations for managing the task related to a long running operation.\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Cis.Tagging.Category", + "description": "The Cis.Tagging.Category resource provides operations to create, read, update, delete, and enumerate categories." + }, + { + "name": "Cis.Tagging.Tag", + "description": "The Cis.Tagging.Tag resource provides operations to create, read, update, delete, and enumerate tags." + }, + { + "name": "Cis.Tagging.TagAssociation", + "description": "The Cis.Tagging.TagAssociation resource provides operations to attach, detach, and query tags." + }, + { + "name": "Content.Configuration", + "description": "The Content.Configuration resource provides operations to configure the global settings of the Content Library Service. \n\n The configuration settings are used by the Content Library Service to control the behavior of various operations." + }, + { + "name": "Content.Library", + "description": "The Content.Library resource manages general library functionalities. \n\n The Content.Library resource provides support for generic functionality which can be applied equally to all types of libraries. The functionality provided by this resource will not affect the properties specific to the type of library. See also *Content.LocalLibrary* and *Content.SubscribedLibrary*." + }, + { + "name": "Content.LocalLibrary", + "description": "The Content.LocalLibrary resource manages local libraries. \n\n The Content.LocalLibrary resource provides support for creating and maintaining local library instances. A local library may also use the *Content.Library* resource to manage general library functionality." + }, + { + "name": "Content.SecurityPolicies", + "description": "The Content.SecurityPolicies resource provides operations to manage security policies. A policy can be applied to a content library.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Content.SubscribedLibrary", + "description": "The Content.SubscribedLibrary resource manages subscribed library entities. \n\n The Content.SubscribedLibrary resource provides support for creating and maintaining subscribed library instances. A subscribed library may also use the *Content.Library* resource to manage general library functionality. \n\n Some subscription functionality can be applied to a library item which exists within a subscribed library. Functionality unique to those items can be utilized through the SubscribedItem resource." + }, + { + "name": "Content.TrustedCertificates", + "description": "The Content.TrustedCertificates resource provides operations to create, modify, delete and read trusted certificates.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Content.Type", + "description": "The Content.Type resource exposes the *Content.Library.ItemModel* types that this Content Library Service supports. \n\n A library item has an optional type which can be specified with the *Content.Library.ItemModel.type* property. For items with a type that is supported by a plugin, the Content Library Service may understand the files which are part of the library item and can produce metadata for the item. \n\n In other cases, uploads may require a process in which one upload implies subsequent uploads. For example, an Open Virtualization Format (OVF) package is composed of an OVF descriptor file and the associated virtual disk files. Uploading an OVF descriptor can enable the Content Library Service to understand that the complete OVF package requires additional disk files, and it can set up the transfers for the disks automatically by adding the file entries for the disks when the OVF descriptor is uploaded. \n\n When a type is not supported by a plugin, or the type is not specified, the Content Library Service can handle a library item in a default way, without adding metadata to the item or guiding the upload process." + }, + { + "name": "Content.Library.Item", + "description": "The Content.Library.Item resource provides operations for managing library items." + }, + { + "name": "Content.Library.SubscribedItem", + "description": "The Content.Library.SubscribedItem resource manages the unique features of library items that are members of a subscribed library." + }, + { + "name": "Content.Library.Subscriptions", + "description": "The Content.Library.Subscriptions resource provides operations for managing the subscription information of the subscribers of a published library.\n\nThis resource was added in __vSphere API 6.7.2__." + }, + { + "name": "Content.Library.Usages", + "description": "The Content.Library.Usages resource manages usage of a content library by other resource(s). \n\n This resource tracks which resource(s) are consuming content from a content library or in other words are associated with a content library (for example, when a content library is associated with a Supervisor or Supervisor namespace). Adding usage on a content library enables a safe library deletion mechanism by checking library usages, and prevents accidental deletion of libraries that are in use. The library usage is tracked per library, and the library usage data will not be synchronized to the target library during sync operation. \n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Content.Library.Item.Changes", + "description": "The Content.Library.Item.Changes resource provides operations to get a history of the content changes made to a library item.\n\nThis resource was added in __vSphere API 6.9.1__." + }, + { + "name": "Content.Library.Item.DownloadSession", + "description": "The Content.Library.Item.DownloadSession resource manipulates download sessions, which are used to download content from the Content Library Service. \n\n A download session is an object that tracks the download of content (that is, downloading content from the Content Library Service) and acts as a lease to keep the download links available. \n\n The *Content.Library.Item.Downloadsession.File* resource provides access to the download links." + }, + { + "name": "Content.Library.Item.File", + "description": "The Content.Library.Item.File resource can be used to query for information on the files within a library item. Files are objects which are added to a library item through the *Content.Library.Item.UpdateSession* and *Content.Library.Item.Updatesession.File* resources." + }, + { + "name": "Content.Library.Item.Storage", + "description": "Content.Library.Item.Storage is a resource that represents a specific instance of a file stored on a storage backing. Unlike *Content.Library.Item.File*, which is abstract, storage represents concrete files on the various storage backings. A file is only represented once in *Content.Library.Item.File*, but will be represented multiple times (once for each storage backing) in Content.Library.Item.Storage. The Content.Library.Item.Storage resource provides information on the storage backing and the specific location of the file in that backing to privileged users who want direct access to the file on the storage medium." + }, + { + "name": "Content.Library.Item.UpdateSession", + "description": "The Content.Library.Item.UpdateSession resource manipulates sessions that are used to upload content into the Content Library Service, and/or to remove files from a library item. \n\n An update session is a resource which tracks changes to content. An update session is created with a set of files that are intended to be uploaded to a specific *Content.Library.ItemModel*, or removed from an item. The session object can be used to track the uploads and inspect the changes that are being made to the item by that upload. It can also serve as a channel to check on the result of the upload, and status messages such as errors and warnings for the upload. \n\n Modifications are not visible to other clients unless the session is completed and all necessary files have been received. \n\n The management of the files within the session is done through the *Content.Library.Item.Updatesession.File* resource." + }, + { + "name": "Content.Library.Item.Downloadsession.File", + "description": "The Content.Library.Item.Downloadsession.File resource provides operations for accessing files within a download session. \n\n After a download session is created against a library item, the Content.Library.Item.Downloadsession.File resource can be used to retrieve all downloadable content within the library item. Since the content may not be available immediately in a downloadable form on the server side, the client will have to prepare the file and wait for the file status to become *Content.Library.Item.Downloadsession.File.PrepareStatus.PREPARED*. \n\n See *Content.Library.Item.DownloadSession*." + }, + { + "name": "Content.Library.Item.Updatesession.File", + "description": "The Content.Library.Item.Updatesession.File resource provides operations for accessing files within an update session. \n\n After an update session is created against a library item, the Content.Library.Item.Updatesession.File resource can be used to make changes to the underlying library item metadata as well as the content of the files. The following changes can be made: \n - deleting an existing file within the library item. This deletes both the metadata and the content.\n - updating an existing file with new content.\n - adding a new file to the library item.\n \n\n The above changes are not applied or visible until the session is completed. See *Content.Library.Item.UpdateSession*." + }, + { + "name": "Esx.Hcl.CompatibilityData", + "description": "This resource provides operations to update the local compatibility data residing on the vCenter Appliance or to get information about the said data. The information in the data is generic VMware compatibility information for servers and devices." + }, + { + "name": "Esx.Hcl.Reports", + "description": "This resource provides operations to download information generated from the hardware compatibility feature residing on the vCenter Appliance." + }, + { + "name": "Esx.Hcl.Hosts.CompatibilityReleases", + "description": "This resource provides operations to list available releases for generating compatibility report for a specific ESXi host." + }, + { + "name": "Esx.Hcl.Hosts.CompatibilityReport", + "description": "This resource provides operations to generate hardware compatibility report for a given ESXi host against a specific ESXi release." + }, + { + "name": "Esx.Hosts.Software", + "description": "The Esx.Hosts.Software resource provides operations to get and extract the current software specification applied to the host.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Esx.Hosts.Software.InstalledComponents", + "description": "The Esx.Hosts.Software.InstalledComponents resource provides operations to get installed list of components.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Depots", + "description": "The Esx.Settings.Depots resource provides operations to manage Software Depots used during ESX lifecycle management.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Inventory", + "description": "The Esx.Settings.Inventory resource defines operations that can be performed on entities belonging to vCenter's inventory.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Configuration", + "description": "The Esx.Settings.Clusters.Configuration resource provides operations to manage desired configuration of an ESX cluster.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Clusters.DepotOverrides", + "description": "The Esx.Settings.Clusters.DepotOverrides resource provides operations to manage software depots overridden for a given cluster. In general ESX servers reach out to vCenter (VUM) to fetch the metadata and payloads required for lifecycle operations. But in ROBO environments ESX clusters can't (or because of bandwidth requirements shouldn't) reach out to vCenter to fetch payloads and metadata. This resource allows setting cluster level overrides for depots. If any depots are provided for a cluster, then vCenter level depots are not used for that cluster's remediation. These are not synced periodically at vCenter and are only used by ESXs for lifecycle operations.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.InstalledImages", + "description": "The Esx.Settings.Clusters.InstalledImages resource provides operations to examine the software bundle running on group of ESXi hosts in a cluster\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Esx.Settings.Clusters.Software", + "description": "The Esx.Settings.Clusters.Software resource provides operations to manage desired software specification of an ESX cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Configuration.AuditRecords", + "description": "The Esx.Settings.Clusters.Configuration.AuditRecords resource provides operations to get the auditing records of the configuration actions performed on a cluster in vCenter Server.\n\nThis resource was added in __vSphere API 8.0.2.0__." + }, + { + "name": "Esx.Settings.Clusters.Configuration.Drafts", + "description": "The Esx.Settings.Clusters.Configuration.Drafts resource provides operations to manage cluster configuration drafts.\n\nThis resource was added in __vSphere API 8.0.2.0__." + }, + { + "name": "Esx.Settings.Clusters.Configuration.Schema", + "description": "The Esx.Settings.Clusters.Configuration.Schema resource provides operations to manage the desired configuration schema of an ESX cluster.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Clusters.Configuration.Reports.LastApplyResult", + "description": "The Esx.Settings.Clusters.Configuration.Reports.LastApplyResult resource provides operations to get the most recent available result of applying the configuration to all hosts within a cluster.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Clusters.Configuration.Reports.LastComplianceResult", + "description": "The Esx.Settings.Clusters.Configuration.Reports.LastComplianceResult resource provides operations to get the last available check compliance result for the cluster.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Clusters.Configuration.Reports.LastPrecheckResult", + "description": "The Esx.Settings.Clusters.Configuration.Reports.LastPrecheckResult resource provides operations to get the most recent available result of Precheck.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Clusters.Configuration.Reports.RecentTasks", + "description": "The Esx.Settings.Clusters.Configuration.Reports.RecentTasks resource provides operations to get the most recent configuration-related tasks.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Clusters.Enablement.Configuration", + "description": "The Esx.Settings.Clusters.Enablement.Configuration resource provides operations to control whether the cluster is managed using desired configuration platform semantics.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Clusters.Enablement.Software", + "description": "The Esx.Settings.Clusters.Enablement.Software resource provides operations to control whether the cluster is managed with a single software specification.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Enablement.Configuration.Transition", + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition resource provides operations to manage transition of an existing cluster to a desired configuration managed cluster.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Clusters.Policies.Apply", + "description": "The Esx.Settings.Clusters.Policies.Apply resource provides operations to configure the policies that will impact how the software and configuration specification documents are applied to an ESXi cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Policies.Apply.Effective", + "description": "The Esx.Settings.Clusters.Policies.Apply.Effective resource provides operations to manage the effective policies that will impact how the software and configuration specification documents are applied to an ESXi cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AddOn", + "description": "The Esx.Settings.Clusters.Software.AddOn resource provides operations to manage desired OEM add-on specification for a given cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages resource provides operations to manage the alternative images for a given cluster.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.BaseImage", + "description": "The Esx.Settings.Clusters.Software.BaseImage resource provides operations to manage desired ESX base image.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Commits", + "description": "The Esx.Settings.Clusters.Software.Commits resource provides operations to manage committed changes to desired software document.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Compliance", + "description": "The Esx.Settings.Clusters.Software.Compliance resource provides operations to get the last software compliance result for an ESX cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Components", + "description": "The Esx.Settings.Clusters.Software.Components resource provides operations to get desired component specification for an ESX cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts", + "description": "The Esx.Settings.Clusters.Software.Drafts resource provides operations to manage working copy of software documents.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.EffectiveComponents", + "description": "The Esx.Settings.Clusters.Software.EffectiveComponents resource provides operations to get effective list of components.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.HardwareSupport", + "description": "The Esx.Settings.Clusters.Software.HardwareSupport resource provides operations to manage a cluster's Hardware Support Package (HSP) configuration.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Recommendations", + "description": "The Esx.Settings.Clusters.Software.Recommendations resource provides operations to manage the generation and retrieval of recommended image specs.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.RemovedComponents", + "description": "The Esx.Settings.Clusters.Software.RemovedComponents resource provides operations to manage removal of components in a software specification.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.SoftwareSpecMetadata", + "description": "The Esx.Settings.Clusters.Software.SoftwareSpecMetadata resource provides information about the software specification in the repository.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Solutions", + "description": "The Esx.Settings.Clusters.Software.Solutions resource provides operations to manage desired software solution specifications for an ESX cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.DisplayName", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.DisplayName resource provides operations to manage the display name of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.SelectionCriteria", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.SelectionCriteria resource provides operations to manage the selection criteria of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.Software", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software resource provides operations to manage the desired software specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.Software.AddOn", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.AddOn resource provides operations to manage the OEM add-on specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.Software.BaseImage", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.BaseImage resource provides operations to manage the base-image specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.Software.Components", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.Components resource provides operations to manage component specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.Software.EffectiveComponents", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.EffectiveComponents resource provides operations to manage effective list of components.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.Software.HardwareSupport", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.HardwareSupport resource provides operations to manage the Hardware Support Package (HSP) configuration of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.Software.RemovedComponents", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.RemovedComponents resource provides operations to manage removal of components in a software specification.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.AlternativeImages.Software.Solutions", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.Solutions resource provides operations to manage desired software solution specifications for an ESX cluster.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.DisplayName", + "description": "The Esx.Settings.Clusters.Software.Drafts.DisplayName resource provides operations to manage the display name in a cluster draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AddOn", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AddOn resource provides operations to manage the OEM add-on specification in a software draft.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages resource provides operations to manage the alternative images of the draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.BaseImage", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.BaseImage resource provides operations to manage the base-image specification in a software draft.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.Components", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.Components resource provides operations to manage component specification in a software draft.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.EffectiveComponents", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.EffectiveComponents resource provides operations to manage effective list of components.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.HardwareSupport", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.HardwareSupport resource provides operations to manage a cluster's Hardware Support Package (HSP) configuration in working copy documents.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents resource provides operations to manage removal of components in a software draft.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName resource provides operations to manage the display name of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.SelectionCriteria", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.SelectionCriteria resource provides operations to configure the selection criteria of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.AddOn", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.AddOn resource provides operations to manage the OEM add-on specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.BaseImage", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.BaseImage resource provides operations to manage the base-image specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components resource provides operations to manage component specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.EffectiveComponents", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.EffectiveComponents resource provides operations to manage effective list of components.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.HardwareSupport", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.HardwareSupport resource provides operations to manage the Hardware Support Package (HSP) configuration of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents", + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents resource provides operations to manage removal of components in a software draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Reports.ApplyImpact", + "description": "The Esx.Settings.Clusters.Software.Reports.ApplyImpact resource provides operations to get the impact of an apply operation on a cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility", + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility resource provides operations to manage HCL Validation of a software specification of an ESX cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Reports.LastApplyResult", + "description": "The Esx.Settings.Clusters.Software.Reports.LastApplyResult resource provides operations to get the most recent available result of applying the desired software document to all hosts within a cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Reports.LastCheckResult", + "description": "The Esx.Settings.Clusters.Software.Reports.LastCheckResult resource provides operations to get the most recent available result of the checks that have been run on a cluster before the application of the desired software document to all hosts within the cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.Details", + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.Details resource provides operations to retrieve selected results from a previously initiated HCL compliance scan.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries", + "description": "This resource provides operations to store and return information about local host hardware provided by the user.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus", + "description": "This resource provides operations to manage hardware hardware compatibility overrides for storage devices.\n\nThis resource was added in __vSphere API 7.0.2.1__." + }, + { + "name": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries", + "description": "This resource provides operations to manage Broadcom Compatibility Guide (BCG) product overrides for storage devices in a cluster.\n\nThis resource was added in __vSphere API 7.0.2.1__." + }, + { + "name": "Esx.Settings.Clusters.Vms.LifecycleHooks", + "description": "The Esx.Settings.Clusters.Vms.LifecycleHooks resource provides operations to read and process VM lifecycle hooks in an ESXi cluster. See *Esx.Settings.Clusters.Vms.LifecycleHookInfo* and *Esx.Settings.Clusters.Vms.LifecycleHookConfig*. \n\n VM lifecycle hook workflow: \n 1. A System VM solution configures hooks for the different lifecycle states of its VMs as part of a desired specification.\n 2. The system starts a deployment of a VM for that solution.\n 3. The VM reaches a lifecycle state for which a hook is configured in the desired specification of the solution.\n 4. The system activates a hook that matches the lifecycle state of the VM and starts waiting for the solution to process this hook. Until the hook is not processed the system does not work actively to reach the desired state of the VM.\n 5. The solution makes the necessary configurations related to the VM.\n 6. The solution marks the hook as processed.\n 7. The system continues working actively to reach the desired specification of the deployment\n \n\n\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Vms.Solutions", + "description": "The Esx.Settings.Clusters.Vms.Solutions resource provides operations to manage the desired System VM solution specification of an ESXi cluster.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Clusters.Vms.Transition", + "description": "The Esx.Settings.Clusters.Vms.Transition resource provides operations to manage the transition of a System VM solution desired solution specification.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Defaults.Clusters.Policies.Apply", + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply resource provides operations to configure the policies that will impact how the software and configuration specification documents are applied to ESXi clusters.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Defaults.Clusters.Policies.Apply.Effective", + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.Effective resource provides operations to manage the effective policies that will impact how the software and configuration specification documents are applied to ESXi clusters.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Defaults.Hosts.Policies.Apply", + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply resource provides operations to configure the policies that will impact how the software and configuration specification documents are applied to ESXi hosts.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Defaults.Hosts.Policies.Apply.Effective", + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.Effective resource provides operations to manage the effective policies that will impact how the software and configuration specification documents are applied to ESXi hosts.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.DepotContent.AddOns", + "description": "The Esx.Settings.DepotContent.AddOns resource provides operations to get OEM add-ons from the sync'ed and imported depots.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.DepotContent.BaseImages", + "description": "The Esx.Settings.DepotContent.BaseImages resource provides operations to get base images from the sync'ed and imported depots.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.DepotContent.Components", + "description": "The Esx.Settings.DepotContent.Components resource provides operations to get Components from the sync'ed and imported depots.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.DepotContent.AddOns.Versions", + "description": "The Esx.Settings.DepotContent.AddOns.Versions resource provides operations to get OEM add-on versions from the sync'ed and imported depots.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.DepotContent.BaseImages.Versions", + "description": "The Esx.Settings.DepotContent.BaseImages.Versions resource provides operations to get versions of base images from the sync'ed and imported depots.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.DepotContent.Components.Versions", + "description": "The Esx.Settings.DepotContent.Components.Versions resource provides operations to get component versions from the sync'ed and imported depots.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Depots.Offline", + "description": "The Esx.Settings.Depots.Offline resource provides operations to manage offline software depots used during ESX lifecycle management.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Depots.Online", + "description": "The Esx.Settings.Depots.Online resource provides operations to manage online software depots used during ESX lifecycle management.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Depots.SyncSchedule", + "description": "The Esx.Settings.Depots.SyncSchedule resource provides operations to manage Schedule of Online Software Depot sync.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Depots.Umds", + "description": "The Esx.Settings.Depots.Umds resource provides operations to manage the VMware vSphere Update Manager Download Service (UMDS) software depot used during ESX lifecycle management. This is the depot downloaded using UMDS. If the UMDS depot is specified, then online depots are ignored and data is downloaded only from the UMDS depot.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Depots.Offline.Content", + "description": "The Esx.Settings.Depots.Offline.Content resource provides operations to manage offline software depots used during ESX lifecycle management.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Esx.Settings.Depots.Online.Content", + "description": "The Esx.Settings.Depots.Online.Content resource provides operations to manage online software depots used during ESX lifecycle management.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Esx.Settings.Depots.Umds.Content", + "description": "The Esx.Settings.Depots.Umds.Content resource provides operations to manage the UMDS depot used during ESX lifecycle management.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Esx.Settings.HardwareSupport.Managers", + "description": "The Esx.Settings.HardwareSupport.Managers resource provides operations to list Hardware Support Manager (HSM) for a given vCenter.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.HardwareSupport.Managers.Packages", + "description": "The Esx.Settings.HardwareSupport.Managers.Packages resource provides operations to manage a host's Hardware Support Package (HSP) configuration.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.HardwareSupport.Managers.Packages.Versions", + "description": "The Esx.Settings.HardwareSupport.Managers.Packages.Versions resource provides operations to inspect a Hardware Support Package (HSP)'s detailed information.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Hosts.Configuration", + "description": "The Esx.Settings.Hosts.Configuration resource provides operations to manage configuration of a ESX host.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Hosts.DepotOverrides", + "description": "The Esx.Settings.Hosts.DepotOverrides resource provides operations to manage software depots overridden for a given host. In general ESX servers reach out to vCenter (VUM) to fetch the metadata and payloads required for lifecycle operations. But in ROBO environments ESX hosts can't (or because of bandwidth requirements shouldn't) reach out to vCenter to fetch payloads and metadata. This resource allows setting host level overrides for depots. If any depots are provided for a host, then vCenter level depots are not used for that host's remediation. These are not synced periodically at vCenter and are only used by ESXs for lifecycle operations.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Esx.Settings.Hosts.Software", + "description": "The Esx.Settings.Hosts.Software resource provides operations to manage desired software specification of a standalone ESX host.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Esx.Settings.Hosts.Enablement.Software", + "description": "The Esx.Settings.Hosts.Enablement.Software resource provides operations to control whether the host is managed with a single software specification.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Policies.Apply", + "description": "The Esx.Settings.Hosts.Policies.Apply resource provides operations to configure the policies that will impact how the software and configuration specification documents are applied to an ESXi host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Policies.Apply.Effective", + "description": "The Esx.Settings.Hosts.Policies.Apply.Effective resource provides operations to manage the effective policies that will impact how the software and configuration specification documents are applied to an ESXi host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.AddOn", + "description": "The Esx.Settings.Hosts.Software.AddOn resource provides operations to manage desired OEM add-on specification for a given standalone host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.BaseImage", + "description": "The Esx.Settings.Hosts.Software.BaseImage resource provides operations to manage desired ESX base image.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Commits", + "description": "The Esx.Settings.Hosts.Software.Commits resource provides operations to manage committed changes to desired software document.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Compliance", + "description": "The Esx.Settings.Hosts.Software.Compliance resource provides operations to get compliance results for a standalone host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Components", + "description": "The Esx.Settings.Hosts.Software.Components resource provides operations to manage desired component specification for a standalone ESX host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Drafts", + "description": "The Esx.Settings.Hosts.Software.Drafts resource provides operations to manage working copy of software documents.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.EffectiveComponents", + "description": "The Esx.Settings.Hosts.Software.EffectiveComponents resource provides operations to get effective list of components.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Recommendations", + "description": "The Esx.Settings.Hosts.Software.Recommendations resource provides operations to manage the generation and retrieval of recommended image specs.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.RemovedComponents", + "description": "The Esx.Settings.Hosts.Software.RemovedComponents resource provides operations to manage removal of components in a software draft.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Esx.Settings.Hosts.Software.SoftwareSpecMetadata", + "description": "The softwareSpecMetadata resource provides information about the software specification from the repository.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Hosts.Software.Solutions", + "description": "The Esx.Settings.Hosts.Software.Solutions resource provides operations to manage desired software solution specifications for an ESX host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Drafts.DisplayName", + "description": "The Esx.Settings.Hosts.Software.Drafts.DisplayName resource provides operations to manage the display name in a host draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Hosts.Software.Drafts.Software.AddOn", + "description": "The Esx.Settings.Hosts.Software.Drafts.Software.AddOn resource provides operations to manage the OEM add-on specification in a software draft.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Drafts.Software.BaseImage", + "description": "The Esx.Settings.Hosts.Software.Drafts.Software.BaseImage resource provides operations to manage the base-image specification in a software draft.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Drafts.Software.Components", + "description": "The Esx.Settings.Hosts.Software.Drafts.Software.Components resource provides operations to manage component specification in a software draft.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Drafts.Software.EffectiveComponents", + "description": "The Esx.Settings.Hosts.Software.Drafts.Software.EffectiveComponents resource provides operations to manage effective list of components.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents", + "description": "The Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents resource provides operations to manage removal of components in a software draft.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Esx.Settings.Hosts.Software.Reports.ApplyImpact", + "description": "The Esx.Settings.Hosts.Software.Reports.ApplyImpact resource provides operations to get the impact of an apply operation on a standalone ESXi host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Reports.LastApplyResult", + "description": "The Esx.Settings.Hosts.Software.Reports.LastApplyResult resource provides operations to get the most recent available result of applying the desired software document to a standalone ESXi host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Hosts.Software.Reports.LastCheckResult", + "description": "The Esx.Settings.Hosts.Software.Reports.LastCheckResult resource provides operations to get the most recent available result of the checks that have been run on the standalone host before the application of the desired software document to the host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Esx.Settings.Inventory.Reports.Summary.Clusters", + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters resource provides operations summary report of clusters under given inventory.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Inventory.Reports.Summary.Hosts", + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts resource provides operations summary report of standalone hosts under given inventory.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters resource provides operations to fetch the installed image report and transition status for given clusters. The transition operation refers to transitioning a baseline managed entity to image managed entity.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts resource provides operations to fetch the installed image report and transition status for standalone hosts. The transition operation refers to transitioning a baseline managed entity to image managed entity.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software", + "description": "The Esx.Settings.Repository.Software resource provides operations to manage desired state software specifications in the repository.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts", + "description": "The Esx.Settings.Repository.Software.Drafts resource provides operations to manage working copy of software specification in the repository.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.EffectiveComponents", + "description": "The Esx.Settings.Repository.Software.EffectiveComponents resource provides operations to get effective list of components.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.AlternativeImages.EffectiveComponents", + "description": "The Esx.Settings.Repository.Software.AlternativeImages.EffectiveComponents resource provides operations to get effective list of components.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AddOn", + "description": "The Esx.Settings.Repository.Software.Drafts.AddOn resource provides operations to manage the OEM add-on specification in a software draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages resource provides operations to manage the alternative images of the draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.BaseImage", + "description": "The Esx.Settings.Repository.Software.Drafts.BaseImage resource provides operations to manage the base-image specification in a software draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.Components", + "description": "The Esx.Settings.Repository.Software.Drafts.Components resource provides operations to manage component specification in a software draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.DisplayName", + "description": "The Esx.Settings.Repository.Software.Drafts.DisplayName resource provides operations to manage the display name in a software specification draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.EffectiveComponents", + "description": "The Esx.Settings.Repository.Software.Drafts.EffectiveComponents resource provides operations to manage effective list of components.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.HardwareSupport", + "description": "The Esx.Settings.Repository.Software.Drafts.HardwareSupport resource provides operations to manage a software specification's Hardware Support Package (HSP) configuration in working copy documents.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.RemovedComponents", + "description": "The Esx.Settings.Repository.Software.Drafts.RemovedComponents resource provides operations to manage removal of components in a software draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.AddOn", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.AddOn resource provides operations to manage the OEM add-on specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.BaseImage", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.BaseImage resource provides operations to manage the base-image specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components resource provides operations to manage component specification of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName resource provides operations to manage the display name of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.EffectiveComponents", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.EffectiveComponents resource provides operations to manage effective list of components.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.HardwareSupport", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.HardwareSupport resource provides operations to manage the Hardware Support Package (HSP) configuration of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents resource provides operations to manage removal of components in a software draft.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.SelectionCriteria", + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.SelectionCriteria resource provides operations to configure the selection criteria of the alternative image.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vapi.Metadata.Authentication.Component", + "description": "The Vapi.Metadata.Authentication.Component resource provides operations to retrieve authentication information of a component element. \n\n A component element is said to contain authentication information if any one of package elements contained in it has authentication information." + }, + { + "name": "Vapi.Metadata.Authentication.Package", + "description": "The Vapi.Metadata.Authentication.Package resource provides operations to retrieve authentication information of a package element. \n\n A package element is said to contain authentication information if there is a default authentication assigned to all service elements contained in the package element or if one of the service element contained in this package element has authentication information." + }, + { + "name": "Vapi.Metadata.Authentication.Service", + "description": "The Vapi.Metadata.Authentication.Service resource provides operations to retrieve authentication information of a service element. \n\n A service element is said to contain authentication information if there is a default authentication assigned to all operation elements contained in a service element or if one of the operation elements contained in this service element has authentication information." + }, + { + "name": "Vapi.Metadata.Authentication.Service.Operation", + "description": "The Vapi.Metadata.Authentication.Service.Operation resource provides operations to retrieve authentication information of an operation element. \n\n An operation element is said to contain authentication information if authentication schemes are specified in the authentication definition file." + }, + { + "name": "Vapi.Metadata.Cli.Command", + "description": "The Vapi.Metadata.Cli.Command resource provides operations to get information about command line interface (CLI) commands." + }, + { + "name": "Vapi.Metadata.Cli.Namespace", + "description": "The Vapi.Metadata.Cli.Namespace resource provides operations to get information about command line interface (CLI) namespaces." + }, + { + "name": "Vapi.Metadata.Metamodel.Component", + "description": "The Vapi.Metadata.Metamodel.Component resource providers operations to retrieve metamodel information of a component element. \n\n A component defines a set of functionality that is deployed together and versioned together. For example, all the resources that belong to VMware Content Library are part of a single component. A component element describes a component. A component element contains one or more package elements. \n\n The operations for package elements are provided by resource *Vapi.Metadata.Metamodel.Package*." + }, + { + "name": "Vapi.Metadata.Metamodel.Enumeration", + "description": "The Vapi.Metadata.Metamodel.Enumeration resource provides operations to retrieve metamodel information about an enumeration element in the interface definition language. \n\n The Vapi.Metadata.Metamodel.Enumeration has a list of enumeration value elements." + }, + { + "name": "Vapi.Metadata.Metamodel.Package", + "description": "The Vapi.Metadata.Metamodel.Package resource provides operations to retrieve metamodel information about a package element in the interface definition language. \n\n A package is a logical grouping of services, structures and enumerations. A package element describes the package. It contains the service elements, structure elements and enumeration elements that are grouped together." + }, + { + "name": "Vapi.Metadata.Metamodel.Resource", + "description": "The *Vapi.Metadata.Metamodel.Resource* resource provides operations to retrieve information about resource types. \n\n A service is a logical grouping of operations that operate on an entity. Each entity is identifier by a namespace (or resource type) and an unique identifier." + }, + { + "name": "Vapi.Metadata.Metamodel.Service", + "description": "The Vapi.Metadata.Metamodel.Service resource provides operations to retrieve metamodel information about a service element in the interface definition language. \n\n A service is a logical grouping of operations that operate on some entity. A service element describes a service. It contains operation elements that describe the operations grouped in the service. It also contains structure elements and enumeration elements corresponding to the structures and enumerations defined in the service." + }, + { + "name": "Vapi.Metadata.Metamodel.Structure", + "description": "The Vapi.Metadata.Metamodel.Structure resource providers operations to retrieve metamodel information about a structure element in the interface definition language." + }, + { + "name": "Vapi.Metadata.Metamodel.Resource.Model", + "description": "The Vapi.Metadata.Metamodel.Resource.Model resource provides operations to retrieve information about models. \n\n A structure is used as a model if it is used for persisting data about an entity. Some of the fields in the model structure are also used for creating indexes for querying. \n\n One or more services can operate on the same resource type. One or more services can provide the model structure for an entity of this resource type. Using Vapi.Metadata.Metamodel.Resource.Model resource you can retrieve the list of all the structure elements that are model structures for a given resource type." + }, + { + "name": "Vapi.Metadata.Metamodel.Service.Operation", + "description": "The Vapi.Metadata.Metamodel.Service.Operation resource provides operations to retrieve metamodel information of an operation element in the interface definition language." + }, + { + "name": "Vapi.Metadata.Privilege.Component", + "description": "The Vapi.Metadata.Privilege.Component resource provides operations to retrieve privilege information of a component element. \n\n A component element is said to contain privilege information if any one of package elements in it contains privilege information." + }, + { + "name": "Vapi.Metadata.Privilege.Package", + "description": "The Vapi.Metadata.Privilege.Package resource provides operations to retrieve privilege information of a package element. \n\n A package element is said to contain privilege information if there is a default privilege assigned to all service elements contained in the package element or if one of the operation elements contained in one of the service elements in this package element has privilege information." + }, + { + "name": "Vapi.Metadata.Privilege.Service", + "description": "The Vapi.Metadata.Privilege.Service resource provides operations to retrieve privilege information of a service element. \n\n A service element is said to contain privilege information if one of the operation elements contained in this service element has privilege information." + }, + { + "name": "Vapi.Metadata.Privilege.Service.Operation", + "description": "The Vapi.Metadata.Privilege.Service.Operation resource provides operations to retrieve privilege information of an operation element. \n\n An operation element is said to contain privilege information if there are any privileges assigned to the operation element or if one of the parameter elements contained in it has privileges assigned in privilege definition file." + }, + { + "name": "Vcenter.Cluster", + "description": "The Vcenter.Cluster resource provides operations to manage clusters in the vCenter Server." + }, + { + "name": "Vcenter.Datacenter", + "description": "The Vcenter.Datacenter resource provides operations to manage datacenters in the vCenter Server." + }, + { + "name": "Vcenter.Datastore", + "description": "The Datastore resource provides operations for manipulating a datastore." + }, + { + "name": "Vcenter.EvcModes", + "description": "The Vcenter.EvcModes interface provides operations to work with custom EVC (Enhanced vMotion Compatibility) modes.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Folder", + "description": "The Folder resource provides operations for manipulating a vCenter Server folder." + }, + { + "name": "Vcenter.FoundationLoadBalancers", + "description": "The Vcenter.FoundationLoadBalancers resource provides operations to manage load balancers(load balancer means foundation load balancer, the same term \"load balancer\" below has the same meaning) from vCenter Server.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Host", + "description": "The Vcenter.Host resource provides operations to manage hosts in the vCenter Server." + }, + { + "name": "Vcenter.Network", + "description": "The Network resource provides operations for manipulating a vCenter Server network." + }, + { + "name": "Vcenter.RegisteredTokens", + "description": "The Vcenter.RegisteredTokens resource provides operations to manage registration of VIDB (VMware Identity Broker) tokens.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.ResourcePool", + "description": "The ResourcePool resource provides operations for manipulating a vCenter Server resource pool. \n\n This resource does not include virtual appliances in the inventory of resource pools even though part of the behavior of a virtual appliance is to act like a resource pool." + }, + { + "name": "Vcenter.System", + "description": "The Vcenter.System resource contains operations for negotiating API communication parameters including release ID. \n\n Software developers obtain a list of supported API release IDs from vCenter documentation or as part of the client library (SDK) they work with at the time they develop and test a solution. The software solution initiates a handshake by sending a prioritized list of release IDs supported by the solution. The server selects the first release ID it supports from the list. \n\n Negotiating API release ID is necessary to use APIs utilizing inheritance based polymorphism. These include all VI/JSON APIs and a set of vSphere Automation APIs. vSphere Automation APIs that require API release ID state this in their documentation. Consult the Programming Guide and API reference documentation of specific operations for more information.\n\nThis resource was added in __vSphere API 8.0.2.0__." + }, + { + "name": "Vcenter.VM", + "description": "The Vcenter.VM resource provides operations for managing the lifecycle of a virtual machine." + }, + { + "name": "Vcenter.Deployment", + "description": "The Vcenter.Deployment resource provides operations to get the status of the vCenter appliance deployment.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Ovfs", + "description": "The Ovfs resource provides operations for deploying Virtual Machines or Virtual Appliances.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Authentication.Token", + "description": "The Vcenter.Authentication.Token interface provides operations for obtaining an access token.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.Authorization.Permissions", + "description": "The Vcenter.Authorization.Permissions resource provides operations to create, update, delete and retrieve authorization permissions in the vCenter Server. \n\n The authorization permissions are the actual access-control rules. There are currently two kinds of permissions - global and inventory permissions. But in the future we could support more. \n\n An inventory permission is defined on an resource which is part of vCenter's inventory and specifies the user or group to which the rule applies. The role specifies the privileges to apply, and the propagate flag specifies whether or not the rule applies to the sub-resources of the inventory. \n\n A resource may have multiple permissions, but can have only one permission per user or group. If, when logging in, a user has both a user permission and a group permission (as a group member) for the same resource, then the user-specific permission takes precedent. If there is no user-specific permission, but two or more group permissions are present, and the user is a member of the groups, then the privileges are the union of the specified roles. \n\n There global permissions are assigned without specifying a resource. These permissions, if set as propagated, could propagated down to all resources, including inventory.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Authorization.PrivilegeChecks", + "description": "The Vcenter.Authorization.PrivilegeChecks resource provides operations for retrieving permission privilege checks recorded by VPXD. \n\n The privilege checks are recorded as VPXD makes them. The latest recorded privilege check can be retrieved by a call to com.vmware.vcenter.authorization.privilege_checks.Latest.get This allows for querying of all privilege checks before or after that moment. For example, if an administrator wants to record the privilege checks made by a given UI workflow, they can do the following. 1. Retrieve the latest privilege check and store it. 2. Go through the UI workflow. 3. Retrieve the latest privilege check and store it. 4. Invoke com.vmware.vcenter.authorization.PrivilegeChecks.list with the values from steps 1) and 3) along with any additional filters.\n\nThis resource was added in __vSphere API 8.0.0.0__." + }, + { + "name": "Vcenter.Authorization.Privileges", + "description": "The Vcenter.Authorization.Privileges resource provides operations to query and retrieve authorization privileges in the vCenter Server. \n\n Privileges are the most fine grained rights required by operations in order to be performed. They are statically defined in the vCenter Server.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Authorization.Roles", + "description": "The Vcenter.Authorization.Roles resource provides operations to create, update, delete and retrieve authorization roles in the vCenter Server. \n\n The authorization role is a collection of *Vcenter.Authorization.Privileges* which are grouped in a such way that they are related to a specific functionality. \n\n Each user defined authorization role contains at minimum three specific *Vcenter.Authorization.Privileges* \"System.Anonymous\", \"System.View\", \"System.Read\".\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Authorization.PrivilegeChecks.Latest", + "description": "The LatestPrivilegeChecks resource provides operations for getting the latest recorded privilege check.\n\nThis resource was added in __vSphere API 8.0.0.0__." + }, + { + "name": "Vcenter.Authorization.VtContainers.Mappings", + "description": "The Vcenter.Authorization.VtContainers.Mappings resource can be used to manage the relationship between containerized objects and vTContainer instances. A containerized object is any data object that is associated with a vTContainer instance, and can be of any resource type. \n\n Each vTContainer instance can hold any number of containerized objects, but there is a service defined limit to the number of vTContainer instances that can be associated with a single containerized object. \n\n When a containerized object is deleted, its mappings to vTContainer instances are automatically removed. However, a vTContainer instance cannot be deleted until all mappings to it have been removed.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.Capacity.Usage", + "description": "The Vcenter.Capacity.Usage resource provides operations to validate if certain configurations of a vCenter Server have exceeded the prescribed maximums.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.CertificateManagement.Vcenter.TrustedRootChains", + "description": "The Vcenter.CertificateManagement.Vcenter.TrustedRootChains interface provides operations to create, modify, delete and read trusted root certificate chains.\n\nThis resource was added in __vSphere API 6.7.2__." + }, + { + "name": "Vcenter.CertificateManagement.Vcenter.SigningCertificate", + "description": "The Vcenter.CertificateManagement.Vcenter.SigningCertificate interface provides operations to view and manage vCenter signing certificates which are used to sign and verify tokens issued by vCenter token service. Versioning is the same as for the com.vmware.vcenter package. 1.23 - vSphere 7.0 U3\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Vcenter.CertificateManagement.Vcenter.Tls", + "description": "The Vcenter.CertificateManagement.Vcenter.Tls interface provides operations to replace Tls certificate.\n\nThis resource was added in __vSphere API 6.7.2__." + }, + { + "name": "Vcenter.CertificateManagement.Vcenter.TlsCsr", + "description": "The Vcenter.CertificateManagement.Vcenter.TlsCsr interface provides operations to generate certificate signing request.\n\nThis resource was added in __vSphere API 6.7.2__." + }, + { + "name": "Vcenter.CertificateManagement.Vcenter.VmcaRoot", + "description": "The Vcenter.CertificateManagement.Vcenter.VmcaRoot interface provides operations to replace VMware Certificate Authority (VMCA) root certificate.\n\nThis resource was added in __vSphere API 6.9.1__." + }, + { + "name": "Vcenter.Cluster.EvcMode", + "description": "The Vcenter.Cluster.EvcMode resource provides operations to manage Vcenter.Cluster.EvcMode settings for a cluster.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Compute.Policies", + "description": "The Vcenter.Compute.Policies resource provides operations to manage compute policies. \n\n A compute policy defines the intended behavior for a collection of vSphere objects identified by a tag. A compute policy is an instance of a capability. It is created by providing a value for the creation type specified by the capability. See *Vcenter.Compute.Policies.Capabilities.Info.create_spec_type*.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Vcenter.Compute.Policies.Capabilities", + "description": "The Vcenter.Compute.Policies.Capabilities resource provides operations to manage compute policy capabilities. The description of the capability provides information about the intent of a policy based on this capability. A capability provides a type to create a policy (see *POST /vcenter/compute/policies*). A capability also provides a type that describes the information returned when retrieving information about a policy (see *GET /vcenter/compute/policies/{policy}*).\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Vcenter.Compute.Policies.TagUsage", + "description": "The Vcenter.Compute.Policies.TagUsage resource provides operations to query which tags are used by policies.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Vcenter.ConfidentialComputing.Sgx.Hosts", + "description": "The Vcenter.ConfidentialComputing.Sgx.Hosts resources provides operations to register Intel Software Guard Extensions (SGX) for the hosts.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.ConsumptionDomains.Zones", + "description": "The Vcenter.ConsumptionDomains.Zones resource provides operations to manage consumption-domain zones.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges", + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges resource provides functionality to list changes to zone-cluster associations using long-polling.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.ConsumptionDomains.ZoneAssociations.Cluster", + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.Cluster resource provides operations to query zone-cluster associations.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.ConsumptionDomains.Zones.Capacity.Summary", + "description": "The Vcenter.ConsumptionDomains.Zones.Capacity.Summary resource provides operations to retrieve capacity of resources in a single vSphere Zone.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.ConsumptionDomains.Zones.Cluster.Associations", + "description": "The Vcenter.ConsumptionDomains.Zones.Cluster.Associations resource provides operations to manage associations of a single consumption-domain zone to multiple vSphere clusters.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.Content.Registries.Harbor", + "description": "This resource is deprecated as of __vSphere API 8.0.1.00200__. Use *Vcenter.NamespaceManagement.SupervisorServices* and *Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices* instead to register and install a [Harbor](https://goharbor.io) service. See [the Harbor supervisor service document](https://www.vmware.com/go/supervisor-service) for more details. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.Content.Registries.Harbor resource provides operations to manage the lifecycle of an integrated Harbor container registry in vCenter.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Content.Registries.Health", + "description": "The Vcenter.Content.Registries.Health resource provides operations to retrieve health status for a container registry.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Content.Registries.Harbor.Projects", + "description": "This resource is deprecated as of __vSphere API 8.0.1.00200__. Since the parent resource *com.vmware.vcenter.content.registries.harbor* is deprecated. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.Content.Registries.Harbor.Projects resource provides operations for managing the lifecycle of Harbor project that stores and distributes container repositories and images.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Crypto.Fips.Modules", + "description": "The Vcenter.Crypto.Fips.Modules resource provides functionality to list the FIPS validated crypto modules installed on the vCenter server as well as an aggregation of the modules on the ESXi hosts it manages. Only ESX modules from the hosts base VIBs are listed.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.CryptoManager.Hosts.Kms.Providers", + "description": "The Vcenter.CryptoManager.Hosts.Kms.Providers resource provides operations to retrieve providers on a host.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.CryptoManager.Kms.Providers", + "description": "The Vcenter.CryptoManager.Kms.Providers resource provides operations to create, retrieve, update, delete, export and import native key providers, not including other types of key providers now.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.Datastore.DefaultPolicy", + "description": "The Vcenter.Datastore.DefaultPolicy resource provides operations related to storage policies associated with datastore object. The *GET /vcenter/datastore/{datastore}/default-policy* operation provides information about the default storage policy associated with the specific datastore.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.Install", + "description": "The Vcenter.Deployment.Install resource provides operations to configure the installation of the appliance\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.Upgrade", + "description": "This resource is deprecated as of __vSphere API 9.0.0.0__. Deprecated since the Reduced Downtime Upgrade (RDU) will be used for upgrading vCenter Server. The RDU endpoint for vCenter Server upgrade is the following vcenter/lcm/deployment/migration-upgrade.\n\nThe Vcenter.Deployment.Upgrade resource provides operations to configure the upgrade of this appliance from an existing vCenter appliance.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.Migrate", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vCenter Migration Assistant. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.Deployment.Migrate resource provides operations to configure the migration of this appliance from an existing vCenter for Windows.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Deployment.Question", + "description": "The Vcenter.Deployment.Question resource provides operations to get the question raised during deployment and to answer them.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.ImportHistory", + "description": "The Vcenter.Deployment.ImportHistory resource provides operations for managing the import of vCenter historical data, e.g. Tasks, Events and Statistics, when is is imported separately from the upgrade.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.Size", + "description": "The Vcenter.Deployment.Size resource provides operations and schemas needed for managing the size of vCenter deployment.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Deployment.Install.RemotePsc", + "description": "The Vcenter.Deployment.Install.RemotePsc resource provides operations to check if the deployed vCenter Server can register with the remote PSC.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.Install.InitialConfig.RemotePsc.Thumbprint", + "description": "This resource is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Install.InitialConfig.RemotePsc.Thumbprint resource provides operations to get the thumbprint of the remote PSC.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.Install.Psc.Replicated", + "description": "The Vcenter.Deployment.Install.Psc.Replicated resource provides operations to check if the configuring vCenter Server can be replicated to the remote PSC.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.Install.Psc.Standalone", + "description": "The Vcenter.Deployment.Install.Psc.Standalone resource provides operations to check if the values provided for the standalone PSC satisfies the requirements.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Deployment.Migrate.ActiveDirectory", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vCenter Migration Assistant. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.Deployment.Migrate.ActiveDirectory resource provides operations to check if the migrated vCenter Server appliance can join to the given domain using the provided credentials.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Deployment.Size.Status", + "description": "The Vcenter.Deployment.Size.Status resource provides the operations to query the status of resize operations performed on size.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.EnvironmentBrowser.ConfigOptionDescriptors", + "description": "The Vcenter.EnvironmentBrowser.ConfigOptionDescriptors resource provides access to the keys used to query for available configuration options on certain hardware via the *GET /vcenter/environment-browser/config-option-descriptors* operation.\n\nThis resource was added in __vSphere API 8.0.2.00300__." + }, + { + "name": "Vcenter.EnvironmentBrowser.ConfigOptions", + "description": "The Vcenter.EnvironmentBrowser.ConfigOptions resource provides access to virtual machine configuration options. The *GET /vcenter/environment-browser/config-options* provides the keys for various config options available on certain hardware. Further the results of *GET /vcenter/environment-browser/config-options* describe the supported execution environment for a virtual machine on a particular set of hardware.\n\nThis resource was added in __vSphere API 8.0.2.00300__." + }, + { + "name": "Vcenter.EnvironmentBrowser.ConfigTargets", + "description": "The Vcenter.EnvironmentBrowser.ConfigTargets resource allows one to enumerate the hardware capabilities / device backings for particular set of clusters.\n\nThis resource was added in __vSphere API 8.0.2.00300__." + }, + { + "name": "Vcenter.FoundationLoadBalancers.Nodes", + "description": "The Vcenter.FoundationLoadBalancers.Nodes resource provides operations to manager load balancer node(s).\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Guest.CustomizationSpecs", + "description": "The Vcenter.Guest.CustomizationSpecs resource provides operations to manage guest customization specifications in the vCenter Server.\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Vcenter.Host.Crypto.Fips.Modules", + "description": "The Vcenter.Host.Crypto.Fips.Modules resource provides a mapping of the the ESX hosts this vCenter server manages to the FIPS validated crypto modules installed on them. Only modules from the hosts base VIBs are listed.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Host.Entropy.ExternalPool", + "description": "The Vcenter.Host.Entropy.ExternalPool resource provides operations to send entropy data and query external entropy pool information on an ESX host. Clients can check the entropy level of an ESX host using the *GET /vcenter/host/{host}/entropy/external-pool* operation to check *Vcenter.Host.Entropy.ExternalPool.Info*. When the entropy level has dropped below a threshold, a client can use the *POST /vcenter/host/{host}/entropy/external-pool?action=add* operation to add additional entropy until as required.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Vcenter.Host.Hardware.DirectPathDevices", + "description": "The Vcenter.Host.Hardware.DirectPathDevices resource provides operations for querying and configuring the physical PCI (Peripheral Component Interconnect) devices on a host that provide resources that can be allocated to virtual machines.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Identity.Providers", + "description": "The Vcenter.Identity.Providers interface provides operations to list, read and modify vCenter Server identity providers.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Identity.Broker.Tenants.AdminClient", + "description": "The Vcenter.Identity.Broker.Tenants.AdminClient interface provides operations to read the token info of tenant admin client. The tenant client belongs to the pre-configured tenant(s), that were created at bootstrap of vcenter trustmanagement service. The tenant admin client tokens can be used to perform API invocations within a tenant entity.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Vcenter.Identity.Broker.Tenants.OperatorClient", + "description": "The Vcenter.Identity.Broker.Tenants.OperatorClient interface provides operations to read the token info of operator client. The operator client belongs to the pre-configured HWS tenant, that was created at bootstrap/installation of broker. The operator client tokens can be used to call the tenant management APIs like create, get and delete of tenant entity.\n\nThis resource was added in __vSphere API 8.0.1.0__." + }, + { + "name": "Vcenter.Inventory.Datastore", + "description": "The Vcenter.Inventory.Datastore resource provides operations to retrieve information about datastores." + }, + { + "name": "Vcenter.Inventory.Network", + "description": "The Vcenter.Inventory.Network resource provides operations to retrieve information about vCenter Server networks." + }, + { + "name": "Vcenter.Iso.Image", + "description": "Provides an interface to mount and unmount an ISO image on a virtual machine. \n\n This is an API that will let its client mount or unmount an ISO image on a virtual machine as a CD-ROM. " + }, + { + "name": "Vcenter.Lcm.Reports", + "description": "The Report resource provides an operation to download the report generated by the interop and precheck operations. To download a report, you must use the get operation. A Report.Location schema represents the location of the file which has Report.Token schema which represents the token ID (@name String) and the expiration time of the token Report.Token.expiry DateTime. Report.Location schema also has the URI for the file which needs to be downloaded." + }, + { + "name": "Vcenter.Lcm.Deployment.MigrationUpgrade", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade resource provides operations to configure and execute the migration upgrade of this vCenter Service appliance to a new version. \n\n The vCenter upgrade should be run directly via the endpoints of the upgrade service - \"/lcm/api\" and \"/lcm/rest\". It is not recommended to use the \"/api\" endpoint exposed by the vCenter's vAPI endpoint service. The \"/lcm/api\" and \"/lcm/rest\" endpoints work correctly on any supported source version allowing monitoring and controlling the upgrade even during the upgrade's switchover. In contrast, the \"/api\" endpoint does not work during the upgrade's switchover and on some of the older supported source vCenter versions.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Lcm.Deployment.Repository", + "description": "The Vcenter.Lcm.Deployment.Repository resource provides operations to configure repository for the upgrade of the vCenter.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime resource provides operations to get information about planned downtime during migration-based upgrade for the vCenter.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Lcm.Deployment.MigrationUpgrade.Status", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.Status resource provides operations to retrieve the status information about the vCenter Appliance upgrade. \n\n The vCenter upgrade API is recommended to be used via the \"/lcm/api\" and \"/lcm/rest\" endpoints and not via the \"/api\" endpoint. The \"/lcm/api\" and \"/lcm/rest\" endpoints work correctly on any supported source version, allowing monitoring and controlling the upgrade even during the upgrade's switchover. In contrast, the \"/api\" endpoint has certain limitations and does not work on all of the older supported source vCenter versions and during the upgrade's switchover.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Lcm.Depot.Services", + "description": "The Vcenter.Lcm.Depot.Services resource provides operations to configure external services in a vCenter appliance.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Lcm.Discovery.InteropReport", + "description": "The Vcenter.Lcm.Discovery.InteropReport interface provides operations to report the interoperability between a vCenter Server release version and the other installed VMware products registered in the vCenter Server instance." + }, + { + "name": "Vcenter.Lcm.Discovery.ProductCatalog", + "description": "The Vcenter.Lcm.Discovery.ProductCatalog resource provides information which VMware products can be associated with vCenter Server." + }, + { + "name": "Vcenter.Lcm.Discovery.AssociatedProducts", + "description": "The Vcenter.Lcm.Discovery.AssociatedProducts resource provides options to list, add, modify, and delete VMware products associated with vCenter Server. Some products can be auto-detected by the system while others can be added manually." + }, + { + "name": "Vcenter.Lcm.Interop.InteropBundle", + "description": "The Vcenter.Lcm.Interop.InteropBundle resource provides operations to upload the VMware Verification Service (VVS) interop bundle in airgap scenario for computation of interop report.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Lcm.Update.Pending", + "description": "The Vcenter.Lcm.Update.Pending resource provides operation for listing pending minor or major updates of vCenter Server." + }, + { + "name": "Vcenter.Lcm.Update.PrecheckReport", + "description": "The Vcenter.Lcm.Update.PrecheckReport resource generates precheck report for a vCenter Server instance against a target update version." + }, + { + "name": "Vcenter.NamespaceManagement.Clusters", + "description": "The Vcenter.NamespaceManagement.Clusters resource provides operations to enable and disable vSphere Namespaces on a vSphere cluster.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.HostsConfig", + "description": "The Vcenter.NamespaceManagement.HostsConfig resource provides operations to retrieve information about vSphere Namespaces support and licensing.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.InfrastructurePolicies", + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies resource provides operations to manage policies for workload placement in vSphere Namespaces.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.LoadBalancers", + "description": "Vcenter.NamespaceManagement.LoadBalancers represent the user provisioned load balancers. The load balancers provided may be used to front the API servers in both, vSphere Namespaces Cluster and Kubernetes Clusters. Note: The lifecycle of these load balancers is not managed by vSphere.\n\nThis resource was added in __vSphere API 7.0.1.0__." + }, + { + "name": "Vcenter.NamespaceManagement.NSXTier0Gateway", + "description": "The Vcenter.NamespaceManagement.NSXTier0Gateway provides operations to get information of NSX Tier0 Gateways.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks", + "description": "The Vcenter.NamespaceManagement.Networks resource provides lifecycle operations on vSphere Namespaces networks associated with a vSphere cluster.\n\nThis resource was added in __vSphere API 7.0.1.0__." + }, + { + "name": "Vcenter.NamespaceManagement.SupervisorServices", + "description": "The Vcenter.NamespaceManagement.SupervisorServices resource provides operations to manage a Supervisor Service object. Supervisor services can be extensions to the vSphere Supervisor and provide services to applications running in vSphere Supervisor. They are often provided by 3rd party vendors.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors", + "description": "The Vcenter.NamespaceManagement.Supervisors service manages the lifecycle of the Supervisor. This interface replaces the *Vcenter.NamespaceManagement.Clusters* service.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.VirtualMachineClasses", + "description": "The Vcenter.NamespaceManagement.VirtualMachineClasses resource provides management operations for customizable virtual machine classes. A virtual machine class represents a policy and configuration resource which defines a set of attributes to be used in the configuration of a virtual machine instance.\n\nThis resource was added in __vSphere API 7.0.2.00100__." + }, + { + "name": "Vcenter.NamespaceManagement.ClusterAvailableVersions", + "description": "The Vcenter.NamespaceManagement.ClusterAvailableVersions resource provides operations to retrieve available upgrade versions of WCP and detailed information about each upgrade.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.ClusterCompatibility", + "description": "The Vcenter.NamespaceManagement.ClusterCompatibility resource provides operations to get Namespace-related compatibility information for clusters in this vCenter.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.ClusterSizeInfo", + "description": "The Vcenter.NamespaceManagement.ClusterSizeInfo resource provides operations to retrieve various sizes available for enabling Namespaces and information about each size.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.DistributedSwitchCompatibility", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches* instead. \n\nThe Vcenter.NamespaceManagement.DistributedSwitchCompatibility resource provides operations to get Namespaces compatibility information of Distributed Switches in this vCenter.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.EdgeClusterCompatibility", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Networks.Nsx.Edges* instead. \n\nThe Vcenter.NamespaceManagement.EdgeClusterCompatibility resource provides operations to get Namespaces compatibility information of NSX Edge Clusters.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.SupportBundle", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. Use the *Vcenter.NamespaceManagement.Supervisors.SupportBundles* service instead. \n\nThe Vcenter.NamespaceManagement.SupportBundle resource provides operations to retrieve the cluster's Namespaces-related support bundle download location.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.NamespaceResourceOptions", + "description": "The Vcenter.NamespaceManagement.NamespaceResourceOptions resource provides operations to get the objects used to create and modify resource quotas on a namespace.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Clusters.Topology", + "description": "The Vcenter.NamespaceManagement.Clusters.Topology resource provides operations to query the topological layout of the infrastructure a Supervisor is running on.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries", + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries resource provides operations to configure vSphere Namespaces with Content Library containing Supervisor images used during the enablement or upgrade workflows.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches", + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches resource provides operations to get the basic information of Distributed Switches.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.Edges", + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Edges resource provides operations to retrieve the basic information for NSX Edges.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.Projects", + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects provides operations to get information of NSX Projects.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Compatibility", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches* instead. \n\nThe Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Compatibility resource provides operations to get Namespaces compatibility information of Distributed Switches.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.Edges.Compatibility", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Networks.Nsx.Edges* instead. \n\nThe Vcenter.NamespaceManagement.Networks.Nsx.Edges.Compatibility resource provides operations to retrieve the basic and Namespaces compatibility information of Edges.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility", + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility resource provides operations to retrieve the basic and Supervisor enablement compatibility information of Projects.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles", + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles provides operations to get information of VPC Connectivity Profiles.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs", + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs resource provides operations to retrieve the basic information for VPCs.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility", + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility resource provides operations to retrieve the basic and Supervisor enablement compatibility information of VPC Connectivity Profiles.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility", + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility resource provides operations to retrieve the basic and Namespaces compatibility information of VPCs.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Software.Clusters", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. Use the *Vcenter.NamespaceManagement.Software.Supervisors.Upgrades* service instead. \n\nThe Vcenter.NamespaceManagement.Software.Clusters resource provides operations to upgrade the vSphere clusters.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Prechecks resource provides operations to perform Supervisor upgrade pre-checks.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades resource provides operations to upgrade a vSphere Supervisor.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Software.Supervisors.Versions", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions resource provides operations to retrieve available Supervisor versions along with detailed information about each version. The list of Supervisor versions is computed from both the Supervisor images already bundled with the vCenter Server release and the Supervisor images available in the Content Library configured with vSphere Namespaces.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs resource provides operations to upgrade a vSphere Supervisor(s).\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes resource provides operations to get information about the sizing options available for the control plane VM during enablement or resize.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Stats.TimeSeries", + "description": "The Vcenter.NamespaceManagement.Stats.TimeSeries resource provides operations to gather statistical values for clusters, namespaces and pods.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Storage.Profiles", + "description": "The Vcenter.NamespaceManagement.Storage.Profiles resource provides operations to get storage profiles compatible with control plane VMDKs which can be used to enable a Supervisor. A storage profile is compatible if it results in at least one datastore in each of the specified zones.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices", + "description": "This resource is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.SupervisorServices* instead. \n\nThe Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices resource provides operations to manage a Supervisor Service on the vSphere Supervisors.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.SupervisorServices.Versions", + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions resource provides operations to manage a version object of a Supervisor Service. A Supervisor Service version can be enabled on the vSphere Supervisor.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Capabilities", + "description": "The Vcenter.NamespaceManagement.Supervisors.Capabilities resource provides operation to retrieve all the Supervisor capabilities along with detailed information about their activation status.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Certificates", + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates resource provides operation to get and update PEM-encoded x509 certificate(s) configured the given Supervisor control plane.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Conditions", + "description": "The Vcenter.NamespaceManagement.Supervisors.Conditions resource provides operations to retrieve conditions related to a particular Supervisor.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries", + "description": "The Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries resource provides operations to manage container image registries on a Supervisor. Supervisor service and PodVM container images will be pulled from those defined container registries.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.ManagementServices", + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices resource provides operations to register and manage Management Services with a Supervisor. A Management Service represents service endpoint(s) registered with a Supervisor that are routable via management network. Once registered, access to a Management Service can be administered to the Supervisor's workloads by creating a Management Service Access Grant that references the Management Service. Workloads that are part of the Access Grant subject will obtain network access to the Management Service's service endpoint(s) via the Supervisor's management proxy.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Networks", + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks resource provides lifecycle operations on networks associated with Supervisors.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Summary", + "description": "\n\nThe Vcenter.NamespaceManagement.Supervisors.Summary resource provides operations to retrieve the current states of Supervisors. \n\nOnly the basic information of the given Supervisor is being queried.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings resource provides information and updates to Supervisor Service settings for a Supervisor.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices resource provides operations to install and manage running instances of Supervisor Services on a vSphere Supervisor.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.SupportBundles", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupportBundles resource provides operations to retrieve the Supervisor's support bundle download location.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Topology", + "description": "The Vcenter.NamespaceManagement.Supervisors.Topology resource provides operations to query the topological layout of the infrastructure a Supervisor is running on.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.VspherePodSettings", + "description": "The Vcenter.NamespaceManagement.Supervisors.VspherePodSettings resource provides information and updates to vSphere Pod settings for a Supervisor.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes", + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes resource allows you to change the size of the signing key for Supervisor internal certificates.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests", + "description": "Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests interface provides operations to generate certificate signing requests.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Passwords", + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Passwords resource enables updates to Supervisor passwords.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings", + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings resource provides information and updates to control plane for the given Supervisor.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings", + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings resource provides information and updates to management network settings for a Supervisor control plane.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies", + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies resource provides operations to get or update Supervisor management storage policies.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules", + "description": "The Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules resource provides operation to list the FIPS validated crypto modules used by Broadcom vendored services installed on the Supervisor.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Identity.Domains", + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Domains resource provides operations to configure an Identity domain on Supervisor that acts as an OIDC provider.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Identity.Providers", + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Providers resource provides operations to configure identity management on a Supervisor.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Logs.AgentConfiguration", + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.AgentConfiguration resource provides operations to provide the log streaming configuration for the logging agent within the Supervisor.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints", + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints resource provides operations for configuring remote endpoints that enable Supervisor to send both Supervisor and Workload metrics.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges", + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges resource enables users to create, update, or delete edge appliances including load balancers.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives", + "description": "The Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives resource provides operations to manage Supervisor Backup archives stored on vCenter Server Appliance file system.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Jobs", + "description": "The Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Jobs resource provides operations to create Supervisor backup jobs.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Recovery.Restore.Jobs", + "description": "The Vcenter.NamespaceManagement.Supervisors.Recovery.Restore.Jobs resource provides operations to create Supervisor restore jobs.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks", + "description": "The Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks resource provides operations to get resource check results of entities such as host or disk for the operations that affects data availability or that causes data movement/rebuild.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures resource provides operations to inspect signatures of Supervisor Services.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings", + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings resource provides information and updates settings of the Kubernetes API Server. \n\nThe API Server is used to manage workloads on the Supervisor.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings", + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings resource provides operations for configuring how Virtual Machines, Kubernetes nodes, and vSphere Pods container images are synced to the Supervisor workload components.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings", + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings resource provides information and updates to workload network settings for a Supervisor.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies", + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies resource provides operations to get or update Supervisor workload storage policies.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes", + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes resource provides operations about FileVolumes on the Supervisor, as well as retrieve the current FileVolumes configuration.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings", + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings resource manages the bindings of vSphere Zones with Supervisors for placing workloads and control plane components.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.NamespaceManagement.Zones.ClusterCompatibilities", + "description": "The Vcenter.NamespaceManagement.Zones.ClusterCompatibilities resource provides operations to check the compatibility of a vSphere Cluster against an existing vSphere Zone.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Namespaces.Access", + "description": "The Vcenter.Namespaces.Access resource provides operations to manage access control of subjects on namespaces.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Namespaces.NamespaceSelfService", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. Use VCF Automation for all namespace self-service use cases. \n\nThe Vcenter.Namespaces.NamespaceSelfService resource provides operations to activate and deactivate a namespace template that empowers users as self-service namespace users. If the service is activated on a cluster, users can create Supervisor Namespaces through kubectl create namespace command without the need of extra assistance.\n\nThis resource was added in __vSphere API 7.0.2.00100__." + }, + { + "name": "Vcenter.Namespaces.NamespaceTemplates", + "description": "This resource is deprecated as of __vSphere API 9.1.0.0__. Use VCF Automation for all namespace self-service use cases. \n\nThe Vcenter.Namespaces.NamespaceTemplates resource provides operations to create and update namespace templates on a cluster. The namespace templates are used if the Vcenter.Namespaces.NamespaceSelfService is enabled on a Supervisor.\n\nThis resource was added in __vSphere API 7.0.2.00100__." + }, + { + "name": "Vcenter.Namespaces.Instances", + "description": "The Vcenter.Namespaces.Instances resource provides operations to create and delete a namespace object. In this version, an Instance is an abstraction around a Kubernetes namespace.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Namespaces.Instances.Zones", + "description": "The Vcenter.Namespaces.Instances.Zones resource provides operations to manage vSphere zones associated with namespaces.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Namespaces.ManagementServices.AccessGrants", + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants resource provides operations to manage grants given to workloads in a particular namespace to access the referenced Management Services.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Namespaces.Mobility.Virtualmachines.Imports", + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports resource provides operations to manage importing VM into a Supervisor.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Namespaces.Networks.Nsx.Subnets", + "description": "The Vcenter.Namespaces.Networks.Nsx.Subnets resource provides operations to get NSX Subnets present in a particular namespace.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Namespaces.User.Instances", + "description": "The Vcenter.Namespaces.User.Instances resource provides operations to access namespaces for non-administrative users.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Network.Projects", + "description": "The Vcenter.Network.Projects resource provides operations to manage projects in vCenter.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Network.Projects.Vpcs", + "description": "The Vcenter.Network.Projects.Vpcs resource provides operations to manage VPC(Virtual Private Cloud) in vCenter.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Network.Projects.Vpcs.Subnets", + "description": "The Vcenter.Network.Projects.Vpcs.Subnets resource provides operations to manage subnets in vCenter.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Ovf.ExportFlag", + "description": "The Vcenter.Ovf.ExportFlag resource provides operations for retrieving information about the export flags supported by the server. Export flags can be specified in a *Vcenter.Ovf.LibraryItem.CreateSpec* to customize an OVF export." + }, + { + "name": "Vcenter.Ovf.ImportFlag", + "description": "The Vcenter.Ovf.ImportFlag resource provides operations for retrieving information about the import flags supported by the deployment platform. Import flags can be specified in a *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec* to customize an OVF deployment." + }, + { + "name": "Vcenter.Ovf.LibraryItem", + "description": "The Vcenter.Ovf.LibraryItem resource provides operations to deploy virtual machines and virtual appliances from library items containing Open Virtualization Format (OVF) packages in content library, as well as operations to create library items in content library from virtual machines and virtual appliances. \n\n To deploy a virtual machine or a virtual appliance from a library item: \n 1. Create a *Vcenter.Ovf.LibraryItem.DeploymentTarget* to specify the target deployment type and target deployment designation. \n 2. Create a *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec* to specify the parameters for the target deployment. \n 3. Use the deploy operation with the created target and parameter specifications, along with the identifier of the specified source content library item. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*. \n \n\n \n\n To create a library item in content library from a virtual machine or virtual appliance: \n 1. Create a *Vcenter.Ovf.LibraryItem.DeployableIdentity* to specify the source virtual machine or virtual appliance to be used as the OVF template source. \n 2. Create a *Vcenter.Ovf.LibraryItem.CreateTarget* to specify the target library and library item. \n 3. Create a *Vcenter.Ovf.LibraryItem.CreateSpec* to specify the settings for the OVF package to be created.\n 4. Use the create operation with the created target and parameter specifications, along with the specified source entity. See *POST /vcenter/ovf/library-item*. \n \n\n" + }, + { + "name": "Vcenter.Phm.About", + "description": "The Vcenter.Phm.About resource returns information about the proactive hardware management API.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.Phm.HardwareSupportManagers", + "description": "The Vcenter.Phm.HardwareSupportManagers resource contains operation for managing registrations of hardware support managers (HSM). Each vendor's HSM needs to register itself with PHM in order to provide proactive hardware management with vCenter.\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.Phm.HardwareSupportManagers.ManagedHosts", + "description": "The Vcenter.Phm.HardwareSupportManagers.ManagedHosts resource contains operations related to the managed host list maintained by each hardware support managers (HSM).\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.Phm.HardwareSupportManagers.ResourceBundle", + "description": "The Vcenter.Phm.HardwareSupportManagers.ResourceBundle resource contains operations related to the message resource bundle maintained by each hardware support managers (HSM).\n\nThis resource was added in __vSphere API 8.0.3.0__." + }, + { + "name": "Vcenter.Services.Service", + "description": "The Vcenter.Services.Service resource provides operations to manage a single/set of vCenter Server services.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Storage.Policies", + "description": "The Vcenter.Storage.Policies resource provides operations for managing the storage policies.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Storage.Policies.Compliance", + "description": "The Compliance resource provides operations related to all the associated entities of given compliance statuses.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Storage.Policies.VM", + "description": "The Vcenter.Storage.Policies.VM resource provides operations managing the storage policy association for a virtual machine and its virtual disks.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Storage.Policies.Compliance.VM", + "description": "The Vcenter.Storage.Policies.Compliance.VM schema provides operations related to query virtual machines of given compliance statuses.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.SystemConfig.DeploymentType", + "description": "The Vcenter.SystemConfig.DeploymentType resource provides operations to get/set the type of the appliance.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.SystemConfig.PscRegistration", + "description": "The Vcenter.SystemConfig.PscRegistration resource provides operations to get and set the PSC_EXTERNAL appliance a VCSA_EXTERNAL appliance is registered with.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Tagging.Associations", + "description": "The Vcenter.Tagging.Associations resource provides operations to manage tag associations.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Tagging.Categories", + "description": "The Vcenter.Tagging.Categories resource provides functionality to list categories.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Tagging.Tags", + "description": "The @name Tags @term service provides functionality to list tags.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Topology.Nodes", + "description": "The Vcenter.Topology.Nodes interface provides operations to retrieve vCenter and Platform Services Controller nodes information in the topology.\n\nThis resource was added in __vSphere API 6.7.2__." + }, + { + "name": "Vcenter.Topology.ReplicationStatus", + "description": "The Vcenter.Topology.ReplicationStatus interface provides operations to retrieve replication status information of vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL (see *Vcenter.Topology.Nodes.Info.type*).\n\nThis resource was added in __vSphere API 6.7.2__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters resource manages all the Trust Authority Components on each Trust Authority Host in the cluster. The Vcenter.TrustedInfrastructure.TrustAuthorityClusters resource transforms a ClusterComputeResource into Trust Authority Cluster and vice versa.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.Principal", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.Principal resource contains information about the certificates which sign the tokens used by vCenter for authentication.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.Attestation.Services", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.Attestation.Services resource contains information about the registered instances of the Attestation Service in vCenter.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm", + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm interface provides operations to get available Trusted Platform Module (TPM) information on a host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys", + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys interface provides operations to get the Trusted Platform Module (TPM) Endorsement Key (EK) on a host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog", + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog interface provides operations to get the Trusted Platform Module (TPM) event log on a host.\n\nThis resource was added in __vSphere API 8.0.0.1__." + }, + { + "name": "Vcenter.TrustedInfrastructure.Kms.Services", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.Kms.Services resource contains information about the registered instances of the Key Provider Service in vCenter.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals resource configures the token policies and STS trust necessary for the workload vCenter to query the trusted services for their status.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus resource provides operations to get the Attestation Service health status.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages resource provides operations to manage trusted instances of ESX software on a cluster level.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates resource provides operations to manage Trusted Platform Module (TPM) CA certificates. \n\n Endorsement Keys are typically packaged in a certificate that is signed by a certificate authority (CA). This resource allows the CA certificate to be registered with the Attestation Service in order to validate TPM EK certificates when presented at attestation time.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys resource provides operations to manage Trusted Platform Module (TPM) Endorsement Keys (EK) on a cluster level.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings interface provides operations to get or update settings related to the TPM 2.0 attestation protocol behavior.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers interface provides operations to create, update and delete Key Providers that handoff to key servers.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus resource provides operations to get the Key Provider Service health status.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate interface provides operations to add and retrieve client certificate.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Credential", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Credential interface provides operations to add a credential for external key management service(s).\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nRetrieves the list of TLS certificates used by peer key servers. Those are meant for review. Following approval these certificates should be added as trusted certificates in the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates* resource\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nProvides management operations for the TLS certificates trusted for communication with peer key servers. \n\n To obtain the currently used TLS certificates use the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates* resource\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Csr", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Csr interface provides operations to create a certificate signing request(CSR).\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation resource contains information necessary to connect to the hosts running Attestation Service.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms resource contains information necessary to connect to the hosts running Key Provider Service.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig resource provides information about the aggregate health of the applied Trust Authority Component configurations on the Trusted Clusters. The desired state of the Trust Authority Component configurations is stored within vCenter, while the applied configuration is stored on the hosts in the cluster and is a copy of the desired state. The Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig resource is available for all clusters, not only Trusted Clusters. When an applied Trust Authority Component configuration is found outside of a Trusted Cluster it is considered an *Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig.Health.ERROR*. The Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig resource is able to make the applied Trust Authority Component configuration consistent with the desired state when individual host configurations have diverged from the desired state.\n\nThis resource was added in __vSphere API 7.0.1.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services resource manages the Attestation Service instances a Trusted Cluster is configured to use.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig resource provides information about the aggregate health of the applied Attestation Service configuration on the Trusted Clusters. The desired state of the Attestation Service is stored within vCenter, while the applied configuration is stored on the hosts in the cluster. The Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig resource is available for all clusters, not only Trusted Clusters. In such cases empty desired state is assumed, e.g. when an applied Attestation Service configuration is found outside of a Trusted Cluster it is considered an *Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Health.ERROR*. The Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig resource is able to put the applied Attestation Service configuration into a consistent state when individual host configurations have diverged from the desired state.\n\nThis resource was added in __vSphere API 7.0.1.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services resource manages the Key Provider Service instances a Trusted Cluster is configured to use.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig", + "description": "This resource is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vcenter trusted infrastructure. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig resource provides information about the aggregate health of the applied Key Provider Service configuration on the Trusted Clusters. The desired state of the Key Provider Service is stored within vCenter, while the applied configuration is stored on the hosts in the cluster. The Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig resource is available for all clusters, not only Trusted Clusters. In such cases empty desired state is assumed, e.g. when an applied Key Provider Service configuration is found outside of a Trusted Cluster it is considered an *Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Health.ERROR*. The Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig resource is able to put the applied Key Provider Service configuration into a consistent state when individual host configurations have diverged from the desired state.\n\nThis resource was added in __vSphere API 7.0.1.0__." + }, + { + "name": "Vcenter.Utilization.Connections", + "description": "The Vcenter.Utilization.Connections resource provides connection utilization information for vCenter server processes that are accessible from outside the vCenter. \n\n The data provided by this resource can also be obtained using netstat on the vCenter VM.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Utilization.Proxies", + "description": "The Vcenter.Utilization.Proxies resource provides utilization statistics for vCenter's HTTP routes available through a proxy.\n\nThis resource was added in __vSphere API 9.1.0.0__." + }, + { + "name": "Vcenter.Vcha.Cluster", + "description": "The Vcenter.Vcha.Cluster resource provides operations to deploy and undeploy a vCenter High Availability (VCHA) cluster, failover from the active VCHA node to the passive VCHA node, and retrieve the status of the VCHA cluster.\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Vcenter.Vcha.Operations", + "description": "The Vcenter.Vcha.Operations resource provides operations to figure out the currently active operations and currently disabled operations in a vCenter High Availability (VCHA) cluster.\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Vcenter.Vcha.Cluster.Active", + "description": "The Vcenter.Vcha.Cluster.Active resource provides operations to get information related to the active vCenter High Availability (VCHA) node.\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Vcenter.Vcha.Cluster.DeploymentType", + "description": "The DeploymentType resource provides operations to get the deployment type of a vCenter High Availability Cluster (VCHA Cluster).\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Vcenter.Vcha.Cluster.Mode", + "description": "The Mode resource provides operations to manage the operating mode of a vCenter High Availability Cluster (VCHA Cluster).\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Vcenter.Vcha.Cluster.Passive", + "description": "The Vcenter.Vcha.Cluster.Passive resource provides operations to validate a passive's placement configuration and redeploy the passive node in a vCenter High Availability (VCHA) cluster.\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Vcenter.Vcha.Cluster.Witness", + "description": "The Vcenter.Vcha.Cluster.Witness resource provides operations to validate a witness's placement configuration and redeploy the witness node in a vCenter High Availability (VCHA) cluster.\n\nThis resource was added in __vSphere API 6.7.1__." + }, + { + "name": "Vcenter.Vm.DataSets", + "description": "The Vcenter.Vm.DataSets resource provides operations for sharing information between a virtual machine and its guest operating system. \n\n See the VMware Guest SDK Programming Guide for details on using DataSets from within a virtual machine. \n\n Information is grouped into data sets, each of which contains key-value entries comprising the data. It's expected that each application using the service will have at least one unique data set in which to store its data to avoid conflict with other applications. Each data set has attributes defining its access control and interoperability configuration. \n\n It's not recommended that sensitive data (for example, passwords or private keys) be stored in plain-text. The data will be visible to other applications, running both on the management network and within the guest. The data can also be exposed by backups or templates. \n\n Data set support requires the virtual machine be at virtual hardware version *Vcenter.Vm.Hardware.Version.VMX_20* or later. \n\n Data sets should only be modified by the application that creates them. Otherwise the application may stop working.\n\nThis resource was added in __vSphere API 8.0.0.0__." + }, + { + "name": "Vcenter.Vm.EvcMode", + "description": "The Vcenter.Vm.EvcMode resource provides operations to manage the com.vmware.evc_mode.EvcMode settings of a virtual machine.\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Vm.Hardware", + "description": "The Vcenter.Vm.Hardware resource provides operations for configuring the virtual hardware of a virtual machine." + }, + { + "name": "Vcenter.Vm.LibraryItem", + "description": "The Vcenter.Vm.LibraryItem resource provides operations to identify virtual machines managed by Content Library.\n\nThis resource was added in __vSphere API 6.9.1__." + }, + { + "name": "Vcenter.Vm.Power", + "description": "The Vcenter.Vm.Power resource provides operations for managing the power state of a virtual machine." + }, + { + "name": "Vcenter.Vm.Tools", + "description": "The Vcenter.Vm.Tools resource provides operations for managing VMware Tools in the guest operating system.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Vm.Compute.Policies", + "description": "The Vcenter.Vm.Compute.Policies resource provides operations to query the status of policies on virtual machines.\n\nThis resource was added in __vSphere API 7.0.3.0__." + }, + { + "name": "Vcenter.Vm.Console.Tickets", + "description": "The Vcenter.Vm.Console.Tickets resource provides operations for managing the virtual machine console tickets.\n\nThis resource was added in __vSphere API 7.0.0.2__." + }, + { + "name": "Vcenter.Vm.DataSets.Entries", + "description": "The Vcenter.Vm.DataSets.Entries resource provides operations for manipulating individual entries in a data set.\n\nThis resource was added in __vSphere API 8.0.0.0__." + }, + { + "name": "Vcenter.Vm.Guest.Customization", + "description": "The Vcenter.Vm.Guest.Customization resource provides operations to apply a customization specification to a virtual machine in powered-off status.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Vm.Guest.CustomizationLive", + "description": "The Vcenter.Vm.Guest.CustomizationLive resource provides operations to apply a customization specification to a virtual machine in powered-on status. If it needs to apply a customization specification to a powered-off virtual machine, please use *Vcenter.Vm.Guest.Customization*. \n\n Live customization only supports the *Vcenter.Guest.ConfigurationSpec* in RunSpec being configured as *Vcenter.Guest.ConfigurationSpec.linux_config*, also the *Vcenter.Guest.LinuxConfiguration.script_text* is not supported yet. If it needs to support other configurations please use *Vcenter.Vm.Guest.Customization*. \n\n Before using the Vcenter.Vm.Guest.CustomizationLive resource, the Guest Customization Engine needs to be installed in the virtual machine. For the steps to install please see: [ Guest Customization Engine](https://developer.vmware.com/docs/11721/vmware-vsphere-web-services-sdk-programming-guide/GUID-27783049-22E4-4F6E-9F0C-ED6A2135A398.html)\n\nThis resource was added in __vSphere API 9.0.0.0__." + }, + { + "name": "Vcenter.Vm.Guest.Environment", + "description": "The Vcenter.Vm.Guest.Environment resource provides operations to manage environment variables in the guest operating system.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.Vm.Guest.Identity", + "description": "The Vcenter.Vm.Guest.Identity resource provides operations for retrieving guest operating system identification information.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Vm.Guest.LocalFilesystem", + "description": "The Vcenter.Vm.Guest.LocalFilesystem resource provides operations for retrieving information about the guest operating system local file systems.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Vm.Guest.Networking", + "description": "The Vcenter.Vm.Guest.Networking resource provides operations for retrieving guest operating system network information.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Vm.Guest.Operations", + "description": "Status of operations in the guest OS.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.Vm.Guest.Power", + "description": "The Vcenter.Vm.Guest.Power resource provides operations for managing the guest operating system power state of a virtual machine.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Vm.Guest.Processes", + "description": "The Vcenter.Vm.Guest.Processes resource provides operations to manage processes in the guest operating system.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.Vm.Guest.Filesystem.Directories", + "description": "The Vcenter.Vm.Guest.Filesystem.Directories resource provides operations to manage directories in the guest filesystem.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.Vm.Guest.Filesystem.Files", + "description": "The Vcenter.Vm.Guest.Filesystem.Files resource provides operations to manage the files in the guest filesystem.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.Vm.Guest.Filesystem.Transfers", + "description": "The Vcenter.Vm.Guest.Filesystem.Transfers resource provides operations to copy files into and out of the guest file system.\n\nThis resource was added in __vSphere API 7.0.2.0__." + }, + { + "name": "Vcenter.Vm.Guest.Networking.Interfaces", + "description": "The Vcenter.Vm.Guest.Networking.Interfaces resource provides operations for retrieving guest operating system network interface information.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Vm.Guest.Networking.Routes", + "description": "The Vcenter.Vm.Guest.Networking.Routes resource provides operations for retrieving guest operating system network routing information.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.Vm.Hardware.Boot", + "description": "The Vcenter.Vm.Hardware.Boot resource provides operations for configuring the settings used when booting a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Cdrom", + "description": "The Vcenter.Vm.Hardware.Cdrom resource provides operations for configuring the virtual CD-ROM devices of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Cpu", + "description": "The Vcenter.Vm.Hardware.Cpu resource provides operations for configuring the CPU settings of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Disk", + "description": "The Vcenter.Vm.Hardware.Disk resource provides operations for configuring the virtual disks of a virtual machine. A virtual disk has a backing such as a VMDK file. The backing has an independent lifecycle from the virtual machine when it is detached from the virtual machine. The *POST /vcenter/vm/{vm}/hardware/disk* operation provides the ability to create a new virtual disk. When creating a virtual disk, a new VMDK file may be created or an existing VMDK file may used as a backing. Once a VMDK file is associated with a virtual machine, its lifecycle will be bound to the virtual machine. In other words, it will be deleted when the virtual machine is deleted. The *DELETE /vcenter/vm/{vm}/hardware/disk/{disk}* operation provides the ability to detach a VMDK file from the virtual machine. The *DELETE /vcenter/vm/{vm}/hardware/disk/{disk}* operation does not delete the VMDK file that backs the virtual disk. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted." + }, + { + "name": "Vcenter.Vm.Hardware.Ethernet", + "description": "The Vcenter.Vm.Hardware.Ethernet resource provides operations for configuring the virtual Ethernet adapters of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Floppy", + "description": "The Vcenter.Vm.Hardware.Floppy resource provides operations for configuring the virtual floppy drives of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Memory", + "description": "The Vcenter.Vm.Hardware.Memory resource provides operations for configuring the memory settings of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Parallel", + "description": "The Vcenter.Vm.Hardware.Parallel resource provides operations for configuring the virtual parallel ports of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Serial", + "description": "The Vcenter.Vm.Hardware.Serial resource provides operations for configuring the virtual serial ports of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Adapter.Nvme", + "description": "The Vcenter.Vm.Hardware.Adapter.Nvme resource provides operations for configuring the virtual NVMe adapters of a virtual machine.\n\nThis resource was added in __vSphere API 7.0.0.1__." + }, + { + "name": "Vcenter.Vm.Hardware.Adapter.Sata", + "description": "The Vcenter.Vm.Hardware.Adapter.Sata resource provides operations for configuring the virtual SATA adapters of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Adapter.Scsi", + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi resource provides operations for configuring the virtual SCSI adapters of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Boot.Device", + "description": "The Vcenter.Vm.Hardware.Boot.Device resource provides operations for configuring the device order used when booting a virtual machine. \n\n The boot order may be specified using a mixture of device classes and device instances, chosen from among the following: \n - *Vcenter.Vm.Hardware.Boot.Device.Type.CDROM*: Boot from a virtual CD-ROM drive; the device instance(s) will be chosen by the BIOS subsystem.\n - *Vcenter.Vm.Hardware.Boot.Device.Type.FLOPPY*: Boot from a virtual floppy drive; the device instance(s) will be chosen by the BIOS subsystem.\n - *Vcenter.Vm.Hardware.Boot.Device.Type.DISK*: Boot from a virtual disk device; the device instance is specified explicitly in *Vcenter.Vm.Hardware.Boot.Device.Entry.disks* list, and multiple instances may be specified in the list.\n - *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET*: Boot from a virtual Ethernet adapter; the device instance is specified explicitly as *Vcenter.Vm.Hardware.Boot.Device.Entry.nic*, and multiple adapters may be specified in the boot order list.\n " + }, + { + "name": "Vcenter.Vm.Storage.Policy", + "description": "The Vcenter.Vm.Storage.Policy resource provides operations to configure the storage policies associated with the virtual machine home and/or its virtual disks.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Vm.Storage.Policy.Compliance", + "description": "The Compliance resource provides operations that return the compliance status of virtual machine entities(virtual machine home directory and virtual disks) that specify storage policy requirements.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Vm.Tools.Installer", + "description": "The Vcenter.Vm.Tools.Installer (@term service} provides operations to install VMware Tools in the guest operating system.\n\nThis resource was added in __vSphere API 7.0.0.0__." + }, + { + "name": "Vcenter.VmTemplate.LibraryItems", + "description": "The Vcenter.VmTemplate.LibraryItems resource provides operations to deploy virtual machines from library items containing virtual machine templates, as well as operations to create library items containing virtual machine templates. \n\n The Vcenter.VmTemplate.LibraryItems resource also provides an operation to retrieve information about the template contained in the library item.\n\nThis resource was added in __vSphere API 6.8__." + }, + { + "name": "Vcenter.VmTemplate.LibraryItems.CheckOuts", + "description": "The Vcenter.VmTemplate.LibraryItems.CheckOuts resource provides operations for managing the checkouts of a library item containing a virtual machine template. This resource provides operations to check out a library item to update the virtual machine template, and to check in the library item when the virtual machine changes are complete.\n\nThis resource was added in __vSphere API 6.9.1__." + }, + { + "name": "Vcenter.VmTemplate.LibraryItems.Versions", + "description": "The Vcenter.VmTemplate.LibraryItems.Versions resource provides operations for managing the live versions of the virtual machine templates contained in a library item. Live versions include the latest and previous virtual machine templates that are available on disk. As new versions of virtual machine templates are checked in, old versions of virtual machine templates are automatically purged. Currently, at most one previous virtual machine template version is stored.\n\nThis resource was added in __vSphere API 6.9.1__." + }, + { + "name": "Vstats.AcqSpecs", + "description": "The Vstats.AcqSpecs resource provides operations to perform acquisition specification related operations. An acquisition specification defines the statistical data that should be collected at desired sampling rates from the underlying providers. It designates the resources and their counters which should be sampled, and a desired sampling rate.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.CounterMetadata", + "description": "The Vstats.CounterMetadata resource provides access to the different historical editions of counters. As computing platforms evolve over time the measurement units for different characteristics of the systems change. As such changes occur, counters will receive different editions reflected in a new metadata record. For example computer memory had changes from kilobytes through megabytes into gigabytes.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.CounterSets", + "description": "The Vstats.CounterSets resource provides operations for accessing groupings of counters. Counter-sets allow consumers to use groups of counters. The counters may relate to different resource types. When an *Vstats.AcqSpecs* record refers to a counter-set, only the relevant counters apply.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.Counters", + "description": "The Vstats.Counters resource provides operations to perform various Counter related operations. Counter is derived from metric. It applies the metric to a particular class of a resource.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.Data", + "description": "The Vstats.Data resource provides operations to query measurement and statistic data.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.Metrics", + "description": "The Vstats.Metrics resource provides operation to list metrics. A metric is a fundamental concept. It means a measurable aspect or property. For instance, temperature, count, velocity, data size, bandwidth.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.Providers", + "description": "The Vstats.Providers resource manages list of statistical data provider services that are currently used.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.ResourceAddressSchemas", + "description": "The Vstats.ResourceAddressSchemas resource manages inventory of resource addressing schemas used by *Vstats.Counters*. Each schema consists of a named list of resource identifiers of specific resource type.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.ResourceAddresses", + "description": "The Vstats.ResourceAddresses resource provides operations to perform resource addressing queries.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + { + "name": "Vstats.ResourceTypes", + "description": "The Vstats.ResourceTypes resource provides list of resource types. Resource refers to any item or concept that could have measurable properties. It is a prerequisite that a resource can be identified. \n\n Example resource types are virtual machine, virtual disk etc.\n\n__Warning:__ this resource is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + } + ], + "paths": { + "/appliance/health/{item}/messages": { + "get": { + "tags": [ + "Appliance.Health" + ], + "description": "Get health messages.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Health_messages", + "parameters": [ + { + "name": "item", + "in": "path", + "description": "ID of the data item\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.health`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "Unknown health item", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of the health messages", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Notification" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/settings": { + "get": { + "tags": [ + "Appliance.HealthCheckSettings" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nGet health settings for vCenter Server.\n\nThis operation was added in __vSphere API 7.0.0.1__.", + "operationId": "Appliance.HealthCheckSettings_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "health settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.HealthCheckSettings.SettingSpec" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Appliance.HealthCheckSettings" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nSet health settings based on provided healthSpec\n\nThis operation was added in __vSphere API 7.0.0.1__.", + "operationId": "Appliance.HealthCheckSettings_update", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.HealthCheckSettings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/local-accounts/{username}": { + "get": { + "tags": [ + "Appliance.LocalAccounts" + ], + "description": "Get the local user account information.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.LocalAccounts_get", + "parameters": [ + { + "name": "username", + "in": "path", + "description": "User login name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the account is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Local user account information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.LocalAccounts.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.LocalAccounts" + ], + "description": "Set local user account properties.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.LocalAccounts_set", + "parameters": [ + { + "name": "username", + "in": "path", + "description": "User login name\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.local_accounts`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "User configuration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.LocalAccounts.Config" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the account is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Appliance.LocalAccounts" + ], + "description": "Delete a local user account.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.LocalAccounts_delete", + "parameters": [ + { + "name": "username", + "in": "path", + "description": "User login name\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.local_accounts`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the account is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Appliance.LocalAccounts" + ], + "description": "Update selected fields in local user account properties.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.LocalAccounts_update", + "parameters": [ + { + "name": "username", + "in": "path", + "description": "User login name\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.local_accounts`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "User configuration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.LocalAccounts.UpdateConfig" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the account is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/local-accounts": { + "get": { + "tags": [ + "Appliance.LocalAccounts" + ], + "description": "Get a list of the local user accounts.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.LocalAccounts_list", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of identifiers\n\nThe response will contain identifiers for the resource type: `com.vmware.appliance.local_accounts`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Appliance.LocalAccounts" + ], + "description": "Create a new local user account.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.LocalAccounts_create", + "requestBody": { + "description": "Request body for invoking operation: create", + "content": { + "application/json": { + "schema": { + "required": [ + "config", + "username" + ], + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "User login name\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.local_accounts`." + }, + "config": { + "$ref": "#/components/schemas/Appliance.LocalAccounts.Config" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** If an account already exists\n\n***Vapi.Std.Errors.InvalidArgument*** If a username is invalid (username is validated against [a-zA-Z0-9][a-zA-Z0-9\\-\\.@]*[a-zA-Z0-9] pattern)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/monitoring/query": { + "get": { + "tags": [ + "Appliance.Monitoring" + ], + "description": "Get monitoring data.", + "operationId": "Appliance.Monitoring_query", + "parameters": [ + { + "name": "item", + "in": "query", + "description": "MonitoredItemDataRequest Structure", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Appliance.Monitoring.MonitoredItemDataRequest" + } + }, + { + "name": "names", + "in": "query", + "description": "monitored item IDs Ex: CPU, MEMORY\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.appliance.monitoring`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.appliance.monitoring`.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "list of MonitoredItemData structure", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Monitoring.MonitoredItemData" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/monitoring": { + "get": { + "tags": [ + "Appliance.Monitoring" + ], + "description": "Get monitored items list", + "operationId": "Appliance.Monitoring_list", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "list of names", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Monitoring.MonitoredItem" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/monitoring/{statId}": { + "get": { + "tags": [ + "Appliance.Monitoring" + ], + "description": "Get monitored item info", + "operationId": "Appliance.Monitoring_get", + "parameters": [ + { + "name": "statId", + "in": "path", + "description": "statistic item id\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.monitoring`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "MonitoredItem structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Monitoring.MonitoredItem" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking": { + "get": { + "tags": [ + "Appliance.Networking" + ], + "description": "Get Networking information for all configured interfaces.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking_get", + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The Map of network configuration info for all interfaces.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Appliance.Networking" + ], + "description": "Enable or Disable ipv6 on all interfaces\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking_update", + "requestBody": { + "description": "update spec with optional boolean value", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking?action=reset": { + "post": { + "tags": [ + "Appliance.Networking" + ], + "description": "Reset and restarts network configuration on all interfaces, also this will renew the DHCP lease for DHCP IP address.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking_reset", + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking?action=change&vmw-task=true": { + "post": { + "tags": [ + "Appliance.Networking" + ], + "description": "Changes the Hostname/IP of the management network of vCenter appliance. The Hostname/IP change invokes the PNID change process which involves LDAP entry modification, updating registry entries, configuration files modification and network configuration changes. vCenter server is expected to be down for few minutes during these changes\n\nThis operation was added in __vSphere API 6.7.3__.", + "operationId": "Appliance.Networking_change$Task", + "requestBody": { + "description": "Information required to change the hostname.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.ChangeSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if it's not embedded node\n\n***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if another change task is in progress", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/ntp?action=test": { + "post": { + "tags": [ + "Appliance.Ntp" + ], + "description": "Test the connection to a list of ntp servers.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Ntp_test", + "requestBody": { + "description": "Request body for invoking operation: test", + "content": { + "application/json": { + "schema": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "List of host names or IP addresses of NTP servers.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of test run statuses.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Ntp.TestRunStatus" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/ntp": { + "get": { + "tags": [ + "Appliance.Ntp" + ], + "description": "Get the NTP configuration status. If you run the 'timesync.get' command, you can retrieve the current time synchronization method (NTP- or VMware Tools-based). The 'ntp' command always returns the NTP server information, even when the time synchronization mode is not set to NTP. If the time synchronization mode is not NTP-based, the NTP server status is displayed as down.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Ntp_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of NTP servers.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Ntp" + ], + "description": "Set NTP servers. This method updates old NTP servers from configuration and sets the input NTP servers in the configuration. If NTP based time synchronization is used internally, the NTP daemon will be restarted to reload given NTP configuration. In case NTP based time synchronization is not used, this method only replaces servers in the NTP configuration.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Ntp_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "List of host names or ip addresses of ntp servers.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery": { + "get": { + "tags": [ + "Appliance.Recovery" + ], + "description": "Gets the properties of the appliance Recovery subsystem.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery_get", + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Structure containing the properties of the Recovery subsystem.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/services/{service}?action=start": { + "post": { + "tags": [ + "Appliance.Services" + ], + "description": "Starts a service\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Services_start", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service to start\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.services`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the operation is denied in the current state of the service. If a stop or restart operation is in progress, the start operation will not be allowed.\n\nif start operation is issued on a service which has startup type StartupType#DISABLED.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.TimedOut*** if any timeout occurs during the execution of the start operation. Timeout occurs when the service takes longer than StartTimeout to start.\n\n***Vapi.Std.Errors.Error*** if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/services/{service}?action=stop": { + "post": { + "tags": [ + "Appliance.Services" + ], + "description": "Stops a service\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Services_stop", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service to stop\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.services`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the operation is denied in the current state of the service. If a stop operation is in progress, issuing another stop operation will lead to this error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/services/{service}?action=restart": { + "post": { + "tags": [ + "Appliance.Services" + ], + "description": "Restarts a service\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Services_restart", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service to restart\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.services`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the operation is denied in the current state of the service. If a stop or start operation is in progress, issuing a restart operation will lead to this error.\n\nif a restart operation is issued on a service which has startup type StartupType#DISABLED", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.TimedOut*** if any timeout occurs during the execution of the restart operation.\n\n***Vapi.Std.Errors.Error*** if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/services/{service}": { + "get": { + "tags": [ + "Appliance.Services" + ], + "description": "Returns the state of a service.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Services_get", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service whose state is being queried.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.services`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Service Info structure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Services.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/services": { + "get": { + "tags": [ + "Appliance.Services" + ], + "description": "Lists details of vCenter services.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Services_list", + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Map of service identifiers to service Info structures.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.appliance.services`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Appliance.Services.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/shutdown?action=cancel": { + "post": { + "tags": [ + "Appliance.Shutdown" + ], + "description": "Cancel pending shutdown action.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Shutdown_cancel", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/shutdown?action=poweroff": { + "post": { + "tags": [ + "Appliance.Shutdown" + ], + "description": "Power off the appliance.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Shutdown_poweroff", + "requestBody": { + "description": "Request body for invoking operation: poweroff", + "content": { + "application/json": { + "schema": { + "required": [ + "delay", + "reason" + ], + "type": "object", + "properties": { + "delay": { + "type": "integer", + "description": "Minutes after which poweroff should start. If 0 is specified, poweroff will start immediately.", + "format": "int64" + }, + "reason": { + "type": "string", + "description": "Reason for peforming poweroff." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/shutdown?action=reboot": { + "post": { + "tags": [ + "Appliance.Shutdown" + ], + "description": "Reboot the appliance.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Shutdown_reboot", + "requestBody": { + "description": "Request body for invoking operation: reboot", + "content": { + "application/json": { + "schema": { + "required": [ + "delay", + "reason" + ], + "type": "object", + "properties": { + "delay": { + "type": "integer", + "description": "Minutes after which reboot should start. If 0 is specified, reboot will start immediately.", + "format": "int64" + }, + "reason": { + "type": "string", + "description": "Reason for peforming reboot." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/shutdown": { + "get": { + "tags": [ + "Appliance.Shutdown" + ], + "description": "Get details about the pending shutdown action.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Shutdown_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Configuration of pending shutdown action.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Shutdown.ShutdownConfig" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/support-bundle/cores": { + "get": { + "tags": [ + "Appliance.Cores" + ], + "description": "Lists all the core files exists on storage.\n\nThis operation was added in __vSphere API 8.0.2.0__.", + "operationId": "Appliance.Cores_list", + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of core files details.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Cores.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/support-bundle": { + "get": { + "tags": [ + "Appliance.SupportBundle" + ], + "description": "Get list of support-bundles generated.\n\nThis operation was added in __vSphere API 7.0.1.0__.", + "operationId": "Appliance.SupportBundle_list", + "parameters": [ + { + "name": "iteration", + "in": "query", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Appliance.SupportBundle.IterationSpec" + } + }, + { + "name": "filter", + "in": "query", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Appliance.SupportBundle.FilterSpec" + } + } + ], + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of support bundle details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.SupportBundle.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/support-bundle/{id}": { + "delete": { + "tags": [ + "Appliance.SupportBundle" + ], + "description": "Deletes the support bundle.\n\nThis operation was added in __vSphere API 8.0.2.0__.", + "operationId": "Appliance.SupportBundle_delete", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The parameter must be an identifier for the resource type: `com.vmware.appliance.supportbundle`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If support bundle Not Found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/support-bundle?vmw-task=true": { + "post": { + "tags": [ + "Appliance.SupportBundle" + ], + "description": "Create a support bundle.\n\nThis operation was added in __vSphere API 7.0.1.0__.", + "operationId": "Appliance.SupportBundle_create$Task", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.SupportBundle.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** If already a support bundle task is in progress.\n\n***Vapi.Std.Errors.InvalidArgument***", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/timesync": { + "get": { + "tags": [ + "Appliance.Timesync" + ], + "description": "Get time synchronization mode.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Timesync_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Time synchronization mode.\n\nPossible values:\n - `DISABLED`: Time synchronization is disabled.\n - `NTP`: NTP-based time synchronization.\n - `HOST`: VMware Tool-based time synchronization.\n\n\nFor more information see: *Appliance.Timesync.TimeSyncMode*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Timesync" + ], + "description": "Set time synchronization mode.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Timesync_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "mode" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Time synchronization mode.\n\nPossible values:\n - `DISABLED`: Time synchronization is disabled.\n - `NTP`: NTP-based time synchronization.\n - `HOST`: VMware Tool-based time synchronization.\n\n\nFor more information see: *Appliance.Timesync.TimeSyncMode*." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update": { + "get": { + "tags": [ + "Appliance.Update" + ], + "description": "Gets the current status of the appliance update.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update_get", + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info structure containing the status information about the appliance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Update.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update?action=cancel": { + "post": { + "tags": [ + "Appliance.Update" + ], + "description": "Request the cancellation the update operation that is currently in progress.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update_cancel", + "responses": { + "400": { + "description": "Current task is not cancellable", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/access/consolecli": { + "get": { + "tags": [ + "Appliance.Access.Consolecli" + ], + "description": "Get enabled state of the console-based controlled CLI (TTY1).", + "operationId": "Appliance.Access.Consolecli_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Console-based controlled CLI is enabled.", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Access.Consolecli" + ], + "description": "Set enabled state of the console-based controlled CLI (TTY1).", + "operationId": "Appliance.Access.Consolecli_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Console-based controlled CLI is enabled." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/access/dcui": { + "get": { + "tags": [ + "Appliance.Access.Dcui" + ], + "description": "Get enabled state of Direct Console User Interface (DCUI TTY2).", + "operationId": "Appliance.Access.Dcui_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "DCUI is enabled.", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Access.Dcui" + ], + "description": "Set enabled state of Direct Console User Interface (DCUI TTY2).", + "operationId": "Appliance.Access.Dcui_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "DCUI is enabled." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/access/shell": { + "get": { + "tags": [ + "Appliance.Access.Shell" + ], + "description": "Get enabled state of BASH, that is, access to BASH from within the controlled CLI.", + "operationId": "Appliance.Access.Shell_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Current shell configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Access.Shell.ShellConfig" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Access.Shell" + ], + "description": "Set enabled state of BASH, that is, access to BASH from within the controlled CLI.", + "operationId": "Appliance.Access.Shell_set", + "requestBody": { + "description": "Shell configuration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Access.Shell.ShellConfig" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/access/ssh": { + "get": { + "tags": [ + "Appliance.Access.Ssh" + ], + "description": "Get enabled state of the SSH-based controlled CLI.", + "operationId": "Appliance.Access.Ssh_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "SSH-based controlled CLI is enabled.", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Access.Ssh" + ], + "description": "Set enabled state of the SSH-based controlled CLI.", + "operationId": "Appliance.Access.Ssh_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "SSH-based controlled CLI is enabled." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/applmgmt": { + "get": { + "tags": [ + "Appliance.Health.Applmgmt" + ], + "description": "Get health status of applmgmt services.", + "operationId": "Appliance.Health.Applmgmt_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "health status", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/database": { + "get": { + "tags": [ + "Appliance.Health.Database" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nReturns the health status of the database.\n\nThis operation was added in __vSphere API 7.0.0.1__.", + "operationId": "Appliance.Health.Database_get", + "responses": { + "500": { + "description": "if issue in retrieving health of the database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Health status of the database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Health.Database.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/database-storage": { + "get": { + "tags": [ + "Appliance.Health.Databasestorage" + ], + "description": "Get database storage health.", + "operationId": "Appliance.Health.Databasestorage_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Database storage health\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: The service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy but experiencing some problems.\n\n\nFor more information see: *Appliance.Health.Databasestorage.HealthLevel*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/load": { + "get": { + "tags": [ + "Appliance.Health.Load" + ], + "description": "Get load health.", + "operationId": "Appliance.Health.Load_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Load health.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n\n\nFor more information see: *Appliance.Health.Load.HealthLevel*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/mem": { + "get": { + "tags": [ + "Appliance.Health.Mem" + ], + "description": "Get memory health.", + "operationId": "Appliance.Health.Mem_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Memory health.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n\n\nFor more information see: *Appliance.Health.Mem.HealthLevel*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/software-packages": { + "get": { + "tags": [ + "Appliance.Health.Softwarepackages" + ], + "description": "Get information on available software updates available in the remote vSphere Update Manager repository. Red indicates that security updates are available. Orange indicates that non-security updates are available. Green indicates that there are no updates available. Gray indicates that there was an error retreiving information on software updates.", + "operationId": "Appliance.Health.Softwarepackages_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "software updates available.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n\n\nFor more information see: *Appliance.Health.Softwarepackages.HealthLevel*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/storage": { + "get": { + "tags": [ + "Appliance.Health.Storage" + ], + "description": "Get storage health.", + "operationId": "Appliance.Health.Storage_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Storage health.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n\n\nFor more information see: *Appliance.Health.Storage.HealthLevel*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/swap": { + "get": { + "tags": [ + "Appliance.Health.Swap" + ], + "description": "Get swap health.", + "operationId": "Appliance.Health.Swap_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Swap health\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n\n\nFor more information see: *Appliance.Health.Swap.HealthLevel*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/system/lastcheck": { + "get": { + "tags": [ + "Appliance.Health.System" + ], + "description": "Get last check timestamp of the health of the system.", + "operationId": "Appliance.Health.System_lastcheck", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "System health last check timestamp", + "content": { + "application/json": { + "schema": { + "type": "string", + "format": "date-time" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/health/system": { + "get": { + "tags": [ + "Appliance.Health.System" + ], + "description": "Get overall health of system.", + "operationId": "Appliance.Health.System_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "System health\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n\n\nFor more information see: *Appliance.Health.System.HealthLevel*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/infraprofile/configs": { + "get": { + "tags": [ + "Appliance.Infraprofile.Configs" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nList all the profiles which are registered.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Infraprofile.Read`. \n", + "operationId": "Appliance.Infraprofile.Configs_list", + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of profiles with description are registered.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Infraprofile.Configs.ProfileInfo" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/infraprofile/configs?action=export": { + "post": { + "tags": [ + "Appliance.Infraprofile.Configs" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nExports the desired profile specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Infraprofile.Read`. \n", + "operationId": "Appliance.Infraprofile.Configs_export", + "requestBody": { + "description": "information to export the profile.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Infraprofile.Configs.ProfilesSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no profile associated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Configuration specification JSON in string format.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/infraprofile/configs?action=validate&vmw-task=true": { + "post": { + "tags": [ + "Appliance.Infraprofile.Configs" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nValidates the desired profile specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Infraprofile.Write`. \n", + "operationId": "Appliance.Infraprofile.Configs_validate$Task", + "requestBody": { + "description": "information to validate the profile.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Infraprofile.Configs.ImportProfileSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no profile associated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Result of validation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/infraprofile/configs?action=import&vmw-task=true": { + "post": { + "tags": [ + "Appliance.Infraprofile.Configs" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nImports the desired profile specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Infraprofile.Write`. \n", + "operationId": "Appliance.Infraprofile.Configs_importProfile$Task", + "requestBody": { + "description": "information to import the profile.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Infraprofile.Configs.ImportProfileSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If there is another operation in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no profile associated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Import version.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/local-accounts/global-policy": { + "get": { + "tags": [ + "Appliance.LocalAccounts.Policy" + ], + "description": "Get the global password policy.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.LocalAccounts.Policy_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Global password policy", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.LocalAccounts.Policy.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.LocalAccounts.Policy" + ], + "description": "Set the global password policy.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.LocalAccounts.Policy_set", + "requestBody": { + "description": "Global password policy", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.LocalAccounts.Policy.Info" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if passed policy values are < -1 or > 99999", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/logging/forwarding?action=test": { + "post": { + "tags": [ + "Appliance.Logging.Forwarding" + ], + "description": "Validates the current log forwarding configuration by checking the liveness of the remote machine and optionally sending a test diagnostic log message from the appliance to all configured logging servers to allow manual end-to-end validation. The message that is sent is: \"This is a diagnostic log test message from vCenter Server.\"\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Logging.Forwarding_test", + "requestBody": { + "description": "Request body for invoking operation: test", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "send_test_message": { + "type": "boolean", + "description": "Flag specifying whether a default test message should be sent to the configured logging servers.\n\nIf missing or `null`, no test message will be sent to the configured remote logging servers." + } + } + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "Information about the status of the connection to each of the remote logging servers.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Logging.Forwarding.ConnectionStatus" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/logging/forwarding": { + "get": { + "tags": [ + "Appliance.Logging.Forwarding" + ], + "description": "Returns the configuration for forwarding log messages to remote logging servers.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Logging.Forwarding_get", + "responses": { + "200": { + "description": "Information about the configuration for forwarding log messages to remote logging servers.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Logging.Forwarding.Config" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Logging.Forwarding" + ], + "description": "Sets the configuration for forwarding log messages to remote log servers.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Logging.Forwarding_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "cfg_list" + ], + "type": "object", + "properties": { + "cfg_list": { + "type": "array", + "description": "The cfgList is a list of Config structure that contains the log message forwarding rules in terms of the host, port, protocol of the log message.", + "items": { + "$ref": "#/components/schemas/Appliance.Logging.Forwarding.Config" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if an invalid configuration is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.UnableToAllocateResource*** if the number of configurations exceeds the maximum number of supported configurations.\n\n***Vapi.Std.Errors.Error*** if there is any internal error during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/logging/liagent/log-collection": { + "get": { + "tags": [ + "Appliance.Logging.Liagent.LogCollection" + ], + "description": "Returns the loginsight agent configurations.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Appliance.Logging.Liagent.LogCollection_get", + "responses": { + "401": { + "description": "if the session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is any internal error during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.ServerError" + } + } + } + }, + "200": { + "description": "Information about the configuration used by loginsight agent to stream the logs to the loginsight server. If not configured, it will return an empty object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Logging.Liagent.LogCollection" + ], + "description": "Sets the configurations for loginsight agent to forward log messages to loginsight server.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Appliance.Logging.Liagent.LogCollection_set", + "requestBody": { + "description": "The configurations is a list of Config structure that contains the loginsight agent configuration including the list of files or directories that will be streamed to the given hostname with mentioned protocol and port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if an invalid configuration is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.ClientError" + } + } + } + }, + "401": { + "description": "if the session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is any internal error during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.ServerError" + } + } + } + }, + "200": { + "description": "Information on status of the log insight configuration that was applied.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.SetResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/proxy/{protocol}?action=test": { + "post": { + "tags": [ + "Appliance.Networking.Proxy" + ], + "description": "Tests a proxy configuration by testing the connection to the proxy server and test host.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Proxy_test", + "parameters": [ + { + "name": "protocol", + "in": "path", + "description": "Protocol whose proxy is to be tested.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: test", + "content": { + "application/json": { + "schema": { + "required": [ + "config", + "host" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "A hostname, IPv4 or Ipv6 address." + }, + "config": { + "$ref": "#/components/schemas/Appliance.Networking.Proxy.Config" + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Status of proxy settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Proxy.TestResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/proxy/{protocol}": { + "get": { + "tags": [ + "Appliance.Networking.Proxy" + ], + "description": "Gets the proxy configuration for a specific protocol.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Proxy_get", + "parameters": [ + { + "name": "protocol", + "in": "path", + "description": "The protocol whose proxy configuration is requested.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Proxy configuration for a specific protocol.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Proxy.Config" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Networking.Proxy" + ], + "description": "Configures which proxy server to use for the specified protocol. This operation sets environment variables for using proxy. In order for this configuration to take effect a logout / service restart is required.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Proxy_set", + "parameters": [ + { + "name": "protocol", + "in": "path", + "description": "The protocol for which proxy should be set.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Proxy configuration for the specific protocol.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Proxy.Config" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Appliance.Networking.Proxy" + ], + "description": "Deletes a proxy configuration for a specific protocol.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Proxy_delete", + "parameters": [ + { + "name": "protocol", + "in": "path", + "description": "ID whose proxy is to be deleted.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/proxy": { + "get": { + "tags": [ + "Appliance.Networking.Proxy" + ], + "description": "Gets proxy configuration for all configured protocols.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Proxy_list", + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Proxy configuration for all configured protocols.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Appliance.Networking.Proxy.Config" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/noproxy": { + "get": { + "tags": [ + "Appliance.Networking.NoProxy" + ], + "description": "Returns servers for which no proxy configuration will be applied.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.NoProxy_get", + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of servers for which no proxy configuration will be applied.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Networking.NoProxy" + ], + "description": "Sets servers for which no proxy configuration should be applied. This operation sets environment variables. In order for this operation to take effect, a logout from appliance or a service restart is required. If IPv4 is enabled, \"127.0.0.1\" and \"localhost\" will always bypass the proxy (even if they are not explicitly configured).\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.NoProxy_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "List of strings representing servers to bypass proxy. A server can be a FQDN, IP address, FQDN:port or IP:port combinations.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/interfaces": { + "get": { + "tags": [ + "Appliance.Networking.Interfaces" + ], + "description": "Get list of available network interfaces, including those that are not yet configured.", + "operationId": "Appliance.Networking.Interfaces_list", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of InterfaceInfo structures.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.InterfaceInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/interfaces/{interface_name}": { + "get": { + "tags": [ + "Appliance.Networking.Interfaces" + ], + "description": "Get information about a particular network interface.", + "operationId": "Appliance.Networking.Interfaces_get", + "parameters": [ + { + "name": "interface_name", + "in": "path", + "description": "Network interface, for example, \"nic0\".\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.networking.interfaces`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified interface is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Network interface information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.InterfaceInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/dns/domains": { + "get": { + "tags": [ + "Appliance.Networking.Dns.Domains" + ], + "description": "Get list of DNS search domains.", + "operationId": "Appliance.Networking.Dns.Domains_list", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of domains.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Networking.Dns.Domains" + ], + "description": "Set DNS search domains.", + "operationId": "Appliance.Networking.Dns.Domains_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "domains" + ], + "type": "object", + "properties": { + "domains": { + "type": "array", + "description": "List of domains.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Appliance.Networking.Dns.Domains" + ], + "description": "Add domain to DNS search domains.", + "operationId": "Appliance.Networking.Dns.Domains_add", + "requestBody": { + "description": "Request body for invoking operation: add", + "content": { + "application/json": { + "schema": { + "required": [ + "domain" + ], + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "Domain to add." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/dns/hostname?action=test": { + "post": { + "tags": [ + "Appliance.Networking.Dns.Hostname" + ], + "description": "Test the Fully Qualified Domain Name.", + "operationId": "Appliance.Networking.Dns.Hostname_test", + "requestBody": { + "description": "Request body for invoking operation: test", + "content": { + "application/json": { + "schema": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "FQDN." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "FQDN status", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Dns.Hostname.TestStatusInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/dns/hostname": { + "get": { + "tags": [ + "Appliance.Networking.Dns.Hostname" + ], + "description": "Get the Fully Qualified Doman Name.", + "operationId": "Appliance.Networking.Dns.Hostname_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "FQDN.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Networking.Dns.Hostname" + ], + "description": "Set the Fully Qualified Domain Name.", + "operationId": "Appliance.Networking.Dns.Hostname_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "FQDN." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/dns/servers?action=test": { + "post": { + "tags": [ + "Appliance.Networking.Dns.Servers" + ], + "description": "Test if dns servers are reachable.", + "operationId": "Appliance.Networking.Dns.Servers_test", + "requestBody": { + "description": "Request body for invoking operation: test", + "content": { + "application/json": { + "schema": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "DNS servers.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "DNS reacable status", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Dns.Servers.TestStatusInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/dns/servers": { + "get": { + "tags": [ + "Appliance.Networking.Dns.Servers" + ], + "description": "Get DNS server configuration.", + "operationId": "Appliance.Networking.Dns.Servers_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "DNS server configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Dns.Servers.DNSServerConfig" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Networking.Dns.Servers" + ], + "description": "Set the DNS server configuration. If you set the mode argument to \"DHCP\", a DHCP refresh is forced.", + "operationId": "Appliance.Networking.Dns.Servers_set", + "requestBody": { + "description": "DNS server configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Dns.Servers.DNSServerConfig" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Appliance.Networking.Dns.Servers" + ], + "description": "Add a DNS server. This method fails if mode argument is \"dhcp\"", + "operationId": "Appliance.Networking.Dns.Servers_add", + "requestBody": { + "description": "Request body for invoking operation: add", + "content": { + "application/json": { + "schema": { + "required": [ + "server" + ], + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "DNS server." + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/firewall/inbound": { + "get": { + "tags": [ + "Appliance.Networking.Firewall.Inbound" + ], + "description": "Get the ordered list of firewall rules. Within the list of traffic rules, rules are processed in order of appearance, from top to bottom. When a connection matches a firewall rule, further processing for the connection stops, and the appliance ignores any additional firewall rules you have set.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Appliance.Networking.Firewall.Inbound_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of address-based firewall rules.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Networking.Firewall.Inbound.Rule" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Networking.Firewall.Inbound" + ], + "description": "Set the ordered list of firewall rules to allow or deny traffic from one or more incoming IP addresses. This overwrites the existing firewall rules and creates a new rule list. Within the list of traffic rules, rules are processed in order of appearance, from top to bottom. For example, the list of rules can be as follows: AddressPrefixInterface NamePolicy 10.112.0.10*REJECT 10.112.0.10nic0ACCEPT
In the above example, the first rule drops all packets originating from 10.112.0.1 and \n the second rule accepts all packets originating from 10.112.0.1 only on nic0. In effect, the second rule is always ignored which is not desired, hence the order has to be swapped. When a connection matches a firewall rule, further processing for the connection stops, and the appliance ignores any additional firewall rules you have set.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Appliance.Networking.Firewall.Inbound_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "rules" + ], + "type": "object", + "properties": { + "rules": { + "type": "array", + "description": "List of address-based firewall rules.", + "items": { + "$ref": "#/components/schemas/Appliance.Networking.Firewall.Inbound.Rule" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/interfaces/{interface_name}/ipv4": { + "get": { + "tags": [ + "Appliance.Networking.Interfaces.Ipv4" + ], + "description": "Get IPv4 network configuration for specific NIC.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Interfaces.Ipv4_get", + "parameters": [ + { + "name": "interface_name", + "in": "path", + "description": "The Network interface to query, for example, \"nic0\".\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.networking.interfaces`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified NIC is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The IPv4 configuration for the queried NIC.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv4.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Networking.Interfaces.Ipv4" + ], + "description": "Set IPv4 network configuration for specific network interface.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Interfaces.Ipv4_set", + "parameters": [ + { + "name": "interface_name", + "in": "path", + "description": "Network interface to update, for example, \"nic0\".\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.networking.interfaces`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The IPv4 Network configuration to set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv4.Config" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the IP is used as PNID", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceBusy*** if the specified NIC is busy.\n\n***Vapi.Std.Errors.Error*** Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified NIC is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/networking/interfaces/{interface_name}/ipv6": { + "get": { + "tags": [ + "Appliance.Networking.Interfaces.Ipv6" + ], + "description": "Get IPv6 network configuration for specific interface.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Interfaces.Ipv6_get", + "parameters": [ + { + "name": "interface_name", + "in": "path", + "description": "Network interface to query, for example, \"nic0\".\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.networking.interfaces`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified NIC is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "IPv6 configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv6.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Networking.Interfaces.Ipv6" + ], + "description": "Set IPv6 network configuration for specific interface.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Networking.Interfaces.Ipv6_set", + "parameters": [ + { + "name": "interface_name", + "in": "path", + "description": "Network interface to update, for example, \"nic0\".\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.networking.interfaces`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The IPv6 configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv6.Config" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "The specified NIC is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceBusy*** The specified NIC is busy.\n\n***Vapi.Std.Errors.Error*** Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup?action=validate": { + "post": { + "tags": [ + "Appliance.Recovery.Backup" + ], + "description": "Check for backup errors without starting backup.", + "operationId": "Appliance.Recovery.Backup_validate", + "requestBody": { + "description": "BackupRequest Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.BackupRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "A backup or restore is already in progress", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.FeatureInUse" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "ReturnResult Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.ReturnResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/restore?action=validate": { + "post": { + "tags": [ + "Appliance.Recovery.Restore" + ], + "description": "Get metadata before restore", + "operationId": "Appliance.Recovery.Restore_validate", + "requestBody": { + "description": "RestoreRequest Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.RestoreRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if RestoreRequest includes a part that isn't marked as standalone", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "404": { + "description": "if RestoreRequest includes a part that isn't in the backup", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Metadata Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.Metadata" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/job/{id}?action=cancel": { + "post": { + "tags": [ + "Appliance.Recovery.Backup.Job" + ], + "description": "Cancel the backup job.", + "operationId": "Appliance.Recovery.Backup.Job_cancel", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID (ID of job)\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.job`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if backup associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "BackupJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.ReturnResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/job": { + "get": { + "tags": [ + "Appliance.Recovery.Backup.Job" + ], + "description": "Get list of backup jobs", + "operationId": "Appliance.Recovery.Backup.Job_list", + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "list of BackupJob IDs\n\nThe response will contain identifiers for the resource type: `com.vmware.appliance.recovery.backup.job`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Appliance.Recovery.Backup.Job" + ], + "description": "Initiate backup.", + "operationId": "Appliance.Recovery.Backup.Job_create", + "requestBody": { + "description": "BackupRequest Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.BackupRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "A backup or restore is already in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.FeatureInUse" + } + } + } + }, + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "BackupJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.BackupJobStatus" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/job/{id}": { + "get": { + "tags": [ + "Appliance.Recovery.Backup.Job" + ], + "description": "See backup job progress/result.", + "operationId": "Appliance.Recovery.Backup.Job_get", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "ID (ID of job)\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.job`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if backup associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "BackupJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.BackupJobStatus" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/parts": { + "get": { + "tags": [ + "Appliance.Recovery.Backup.Parts" + ], + "description": "Gets a list of the backup parts.", + "operationId": "Appliance.Recovery.Backup.Parts_list", + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about each of the backup parts.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Parts.Part" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/parts/{id}": { + "get": { + "tags": [ + "Appliance.Recovery.Backup.Parts" + ], + "description": "Gets the size (in MB) of the part.", + "operationId": "Appliance.Recovery.Backup.Parts_get", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the part.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.parts`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "long Size of the part in megabytes.", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/schedules": { + "get": { + "tags": [ + "Appliance.Recovery.Backup.Schedules" + ], + "description": "Returns a list of existing schedules with details\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.Schedules_list", + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Map of schedule id to Info Structure\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.appliance.recovery.backup.schedule`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Appliance.Recovery.Backup.Schedules" + ], + "description": "Creates a schedule\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.Schedules_create", + "requestBody": { + "description": "Request body for invoking operation: create", + "content": { + "application/json": { + "schema": { + "required": [ + "schedule", + "spec" + ], + "type": "object", + "properties": { + "schedule": { + "type": "string", + "description": "Identifier of the schedule\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.schedule`." + }, + "spec": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.CreateSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if provided with invalid schedule specification.\n\n***Vapi.Std.Errors.AlreadyExists*** if the schedule with the given id already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/schedules/{schedule}?action=run": { + "post": { + "tags": [ + "Appliance.Recovery.Backup.Schedules" + ], + "description": "Initiate backup with the specified schedule\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.Schedules_run", + "parameters": [ + { + "name": "schedule", + "in": "path", + "description": "Identifier of the schedule\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.schedule`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: run", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "comment": { + "type": "string", + "description": "field that specifies the description for the backup.\n\nIf missing or `null` the backup will have an empty comment." + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if a backup or restore is already in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.FeatureInUse" + } + } + } + }, + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if schedule associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "BackupJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.BackupJobStatus" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/schedules/{schedule}": { + "get": { + "tags": [ + "Appliance.Recovery.Backup.Schedules" + ], + "description": "Returns an existing schedule information based on id\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.Schedules_get", + "parameters": [ + { + "name": "schedule", + "in": "path", + "description": "Identifier of the schedule\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.schedule`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if schedule associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Info Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Appliance.Recovery.Backup.Schedules" + ], + "description": "Deletes an existing schedule\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.Schedules_delete", + "parameters": [ + { + "name": "schedule", + "in": "path", + "description": "Identifier of the schedule\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.schedule`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if schedule associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Appliance.Recovery.Backup.Schedules" + ], + "description": "Updates a schedule\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.Schedules_update", + "parameters": [ + { + "name": "schedule", + "in": "path", + "description": "Identifier of the schedule\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.schedule`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "UpdateSpec Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if provided with invalid schedule specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if schedule associated with id does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/system-name?action=list": { + "post": { + "tags": [ + "Appliance.Recovery.Backup.SystemName" + ], + "description": "Returns a list of system names for which backup archives exist under locSpec.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.SystemName_list", + "requestBody": { + "description": "LocationSpec Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.LocationSpec" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if locSpec doesn't refer to an existing location on the backup server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "list of system names\n\nThe response will contain identifiers for the resource type: `com.vmware.appliance.recovery.backup.system_name`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/job/details": { + "get": { + "tags": [ + "Appliance.Recovery.Backup.Job.Details" + ], + "description": "Returns detailed information about the current and historical backup jobs.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.Job.Details_list", + "parameters": [ + { + "name": "jobs", + "in": "query", + "description": "Identifiers of backup jobs that can match the filter.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the filter will match all the backup jobs.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.appliance.recovery.backup.job`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.appliance.recovery.backup.job`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Map of backup job identifier to Info Structure.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.appliance.recovery.backup.job`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.Details.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/system-name/{systemName}/archives/{archive}?action=get": { + "post": { + "tags": [ + "Appliance.Recovery.Backup.SystemName.Archive" + ], + "description": "Returns the information for backup corresponding to given backup location and system name.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.SystemName.Archive_get", + "parameters": [ + { + "name": "systemName", + "in": "path", + "description": "System name identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.system_name`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "archive", + "in": "path", + "description": "Archive identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.system_name.archive`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "LocationSpec Structure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.LocationSpec" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if backup does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Info Structure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.SystemName.Archive.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/backup/system-name/{systemName}/archives?action=list": { + "post": { + "tags": [ + "Appliance.Recovery.Backup.SystemName.Archive" + ], + "description": "Returns information about backup archives corresponding to given backup location and system name, which match the *Appliance.Recovery.Backup.SystemName.Archive.FilterSpec*.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Backup.SystemName.Archive_list", + "parameters": [ + { + "name": "systemName", + "in": "path", + "description": "System name identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.system_name`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: list", + "content": { + "application/json": { + "schema": { + "required": [ + "filter_spec", + "loc_spec" + ], + "type": "object", + "properties": { + "loc_spec": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.LocationSpec" + }, + "filter_spec": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.SystemName.Archive.FilterSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if combination of locSpec and system name does not refer to an existing location on the backup server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Commonly used information about the backup archives.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.SystemName.Archive.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/reconciliation/job": { + "get": { + "tags": [ + "Appliance.Recovery.Reconciliation.Job" + ], + "description": "Get reconciliation job progress/result.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Reconciliation.Job_get", + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no running reconciliation job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Info Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Reconciliation.Job.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Appliance.Recovery.Reconciliation.Job" + ], + "description": "Initiate reconciliation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Recovery.Reconciliation.Job_create", + "requestBody": { + "description": "CreateSpec Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Reconciliation.Job.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.FeatureInUse*** A backup or restore is already in progress.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** Reconciliation is allowed only after restore has finished successfully.\n\n***Vapi.Std.Errors.InvalidArgument***", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Info Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Reconciliation.Job.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/restore/job?action=cancel": { + "post": { + "tags": [ + "Appliance.Recovery.Restore.Job" + ], + "description": "Cancel the restore job", + "operationId": "Appliance.Recovery.Restore.Job_cancel", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "RestoreJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.Job.ReturnResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/recovery/restore/job": { + "get": { + "tags": [ + "Appliance.Recovery.Restore.Job" + ], + "description": "See restore job progress/result.", + "operationId": "Appliance.Recovery.Restore.Job_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "RestoreJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.Job.RestoreJobStatus" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Appliance.Recovery.Restore.Job" + ], + "description": "Initiate restore. If parts field is set in RestoreRequest, only specified parts will be restored instead of entire VCSA.", + "operationId": "Appliance.Recovery.Restore.Job_create", + "requestBody": { + "description": "RestoreRequest Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.Job.RestoreRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if RestoreRequest includes a part that isn't marked as standalone\n\n***Vapi.Std.Errors.FeatureInUse*** A backup or restore is already in progress\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** Restore is allowed only after deployment and before firstboot", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if RestoreRequest includes a part that isn't in the backup", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "RestoreJobStatus Structure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.Job.RestoreJobStatus" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/support-bundle/components": { + "get": { + "tags": [ + "Appliance.SupportBundle.Components" + ], + "description": "Get list of components/manifests included in the support bundle. Manifests for a component specifies the files for a particular component that all needs to be collected as part of support bundle.\n\nThis operation was added in __vSphere API 7.0.1.0__.", + "operationId": "Appliance.SupportBundle.Components_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "A map of components with it's group. The keys in the map are group names and values in the map are a list of components in the group.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/crypto-hash": { + "get": { + "tags": [ + "Appliance.System.CryptoHash" + ], + "description": "Get current system crypto one-way hash settings.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Appliance.System.CryptoHash_get", + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Current one-way hash settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.System.CryptoHash.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/storage": { + "get": { + "tags": [ + "Appliance.System.Storage" + ], + "description": "Get disk to partition mapping.", + "operationId": "Appliance.System.Storage_list", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "list of mapping items", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.System.Storage.StorageMapping" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/storage?action=resize": { + "post": { + "tags": [ + "Appliance.System.Storage" + ], + "description": "Resize all partitions to 100 percent of disk size.", + "operationId": "Appliance.System.Storage_resize", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/storage?action=resize-ex": { + "post": { + "tags": [ + "Appliance.System.Storage" + ], + "description": "Resize all partitions to 100 percent of disk size.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.System.Storage_resizeEx", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of the partitions with the size before and after resizing", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Appliance.System.Storage.StorageChange" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/uptime": { + "get": { + "tags": [ + "Appliance.System.Uptime" + ], + "description": "Get the system uptime.", + "operationId": "Appliance.System.Uptime_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "system uptime", + "content": { + "application/json": { + "schema": { + "type": "number", + "format": "double" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/time": { + "get": { + "tags": [ + "Appliance.System.Time" + ], + "description": "Get system time.", + "operationId": "Appliance.System.Time_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "System time", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.System.Time.SystemTimeStruct" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/version": { + "get": { + "tags": [ + "Appliance.System.Version" + ], + "description": "Get the version.", + "operationId": "Appliance.System.Version_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "version information about the appliance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.System.Version.VersionStruct" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/crypto-hash/options": { + "get": { + "tags": [ + "Appliance.System.CryptoHash.Options" + ], + "description": "Get list of available options for hash mode and supported algorithms for each hash mode\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Appliance.System.CryptoHash.Options_list", + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "list of available hash settings", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.System.CryptoHash.Options.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/global-fips": { + "get": { + "tags": [ + "Appliance.System.Security.GlobalFips" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nGet current appliance FIPS settings.\n\nThis operation was added in __vSphere API 7.0.1.0__.", + "operationId": "Appliance.System.Security.GlobalFips_get", + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Current FIPS settings state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.System.Security.GlobalFips.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.System.Security.GlobalFips" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nEnable/Disable Global FIPS mode for the appliance. \n\n__Caution:__ Changing the value of this setting will reboot the Appliance.\n\nThis operation was added in __vSphere API 7.0.1.0__.", + "operationId": "Appliance.System.Security.GlobalFips_update", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.System.Security.GlobalFips.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/system/time/timezone": { + "get": { + "tags": [ + "Appliance.System.Time.Timezone" + ], + "description": "Get time zone.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.System.Time.Timezone_get", + "responses": { + "500": { + "description": "if timezone cannot be read.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Time zone name.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.System.Time.Timezone" + ], + "description": "Set time zone.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.System.Time.Timezone_set", + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Time zone name." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if passed arguments are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/profiles/{profile}": { + "get": { + "tags": [ + "Appliance.Tls.Profiles" + ], + "description": "Gets the TLS parameters of a particular profile.\n\nThis operation was added in __vSphere API 8.0.3.0__.", + "operationId": "Appliance.Tls.Profiles_get", + "parameters": [ + { + "name": "profile", + "in": "path", + "description": "Name of the TLS Profile for which the info is needed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.tls.profiles`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have operator privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The TLS parameters of the passed profile.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Tls.Profiles.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/profiles": { + "get": { + "tags": [ + "Appliance.Tls.Profiles" + ], + "description": "Gets the list of all the available standard TLS Profiles and their configuration.\n\nThis operation was added in __vSphere API 8.0.3.0__.", + "operationId": "Appliance.Tls.Profiles_list", + "responses": { + "401": { + "description": "if the session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have operator privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of all standard TLS Profiles and their configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Tls.Profiles.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/manual-parameters/global": { + "get": { + "tags": [ + "Appliance.Tls.ManualParameters.Global" + ], + "description": "Gets the current custom/manual global TLS parameters configured in the appliance.\n\nThis operation was added in __vSphere API 8.0.3.0__.", + "operationId": "Appliance.Tls.ManualParameters.Global_get", + "responses": { + "401": { + "description": "if the session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have operator privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The current protocol version, ciphers, and other TLS parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Global.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/manual-parameters/global?vmw-task=true": { + "put": { + "tags": [ + "Appliance.Tls.ManualParameters.Global" + ], + "description": "Sets manual/custom TLS parameters globally in the appliance. The result of this operation can be queried by calling the cis/tasks/{task-id} with the task-id in the response of this call. In case of a VCHA enabled cluster, setting a profile expects the VCHA cluster to be healthy and in maintenance or disabled mode before proceeding with the operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Appliance.Tls.ManualParameters.Global_set$Task", + "requestBody": { + "description": "Request body for invoking operation: set$task", + "content": { + "application/json": { + "schema": { + "required": [ + "spec" + ], + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Global.SetSpecEx" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if the passed ciphers, curves and protocol version is either empty or not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the session is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have superAdministrator privileges to perform this operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/manual-parameters/services": { + "get": { + "tags": [ + "Appliance.Tls.ManualParameters.Services" + ], + "description": "Gets the list of all the available services integrated with TLS Profiles and its configurations.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Appliance.Tls.ManualParameters.Services_list", + "responses": { + "401": { + "description": "if the session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have operator privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of all services integrated with TLS Profiles and its configurations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Services.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/manual-parameters/services/{service}": { + "get": { + "tags": [ + "Appliance.Tls.ManualParameters.Services" + ], + "description": "Gets the current TLS parameters configured for a specific service.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Appliance.Tls.ManualParameters.Services_get", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "for which the current TLS parameters has to be fetched.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.tls.manual_parameters.services`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have operator privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the service is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "the current TLS parameters configured for the passed service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Services.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/manual-parameters/services/{service}?vmw-task=true": { + "put": { + "tags": [ + "Appliance.Tls.ManualParameters.Services" + ], + "description": "Sets manual/custom TLS parameters for a specific service. In case of a VCHA enabled cluster, setting a profile expects the VCHA cluster to be healthy and in maintenance or disabled mode before proceeding with the operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Appliance.Tls.ManualParameters.Services_set$Task", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "for which the configured TLS parameters has to be set.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.tls.manual_parameters.services`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: set$task", + "content": { + "application/json": { + "schema": { + "required": [ + "spec" + ], + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Services.SetSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if the passed ciphers, curves and protocol version is either empty or not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the session is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have superAdministrator privileges to perform this operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the service is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Appliance.Tls.ManualParameters.Services" + ], + "description": "Deletes manual/custom TLS parameters for a specific service. In case of a VCHA enabled cluster, deleting a profile expects the VCHA cluster to be healthy and in maintenance or disabled mode before proceeding with the operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Appliance.Tls.ManualParameters.Services_delete$Task", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "for which the configured TLS parameters has to be deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.tls.manual_parameters.services`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the session is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have superAdministrator privileges to perform this operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the service is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/profiles/global": { + "get": { + "tags": [ + "Appliance.Tls.Profiles.Global" + ], + "description": "Gets the name of the current TLS Profile configured globally.\n\nThis operation was added in __vSphere API 8.0.3.0__.", + "operationId": "Appliance.Tls.Profiles.Global_get", + "responses": { + "401": { + "description": "if the session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have operator privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "the name of the current global TLS Profile.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Tls.Profiles.Global.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/tls/profiles/global?vmw-task=true": { + "put": { + "tags": [ + "Appliance.Tls.Profiles.Global" + ], + "description": "Sets any one of the standard profiles globally in the appliance. The result of this operation can be queried by calling the cis/tasks/{task-id} with the task-id in the response of this call. In case of a VCHA enabled cluster, setting a profile expects the VCHA cluster to be healthy and in maintenance or disabled mode before proceeding with the operation.\n\nThis operation was added in __vSphere API 8.0.3.0__.", + "operationId": "Appliance.Tls.Profiles.Global_set$Task", + "requestBody": { + "description": "Defines the name of the standard profile to be configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Tls.Profiles.Global.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the session is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user is not authorized. User needs to have superAdministrator privileges to perform this operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there is some unknown internal error. appropriate error in case of VCHA enabled cluster if VCHA is not healthy or if it is in enabled state. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/policy": { + "get": { + "tags": [ + "Appliance.Update.Policy" + ], + "description": "Gets the automatic update checking and staging policy.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Policy_get", + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Structure containing the policy for the appliance update.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Update.Policy.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Appliance.Update.Policy" + ], + "description": "Sets the automatic update checking and staging policy.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Policy_set", + "requestBody": { + "description": "Info structure containing the policy for the appliance update.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Update.Policy.Config" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending": { + "get": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "Checks if there are any eligible updates.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Pending_list", + "parameters": [ + { + "name": "source_type", + "in": "query", + "description": "type of the source\n\nPossible values:\n - `LAST_CHECK`: Do not perform a new check, return the previous result\n - `LOCAL`: Check the local sources, ISO devices, staged area\n - `LOCAL_AND_ONLINE`: Check the local sources, ISO devices, staged area, then online repository as stated in update policy\n\n\nFor more information see: *Appliance.Update.Pending.SourceType*.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "url", + "in": "query", + "description": "specific URL to check at\n\nIf missing or `null` then URL is taken from the policy settings", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "enable_list_major_upgrade_versions", + "in": "query", + "description": "checks and lists if there are eligible major version upgrades available. Possible values are true and false\n\nwhen set to true it allows listing of across version upgrade When not specified lists only minor updates available", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "source is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of the update summaries", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Update.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending/{version}": { + "get": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "Gets update information\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Pending_get", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Update version\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "query", + "description": "Name of the upgradeable component\n\nThis parameter was added in __vSphere API 8.0.0.1__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the update of this version is already installed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Update", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Update.Pending.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending/{version}/components": { + "get": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "List of all upgradeable components eligible for update within specified version. An upgradeable component can be upgraded to new version individually without upgrading the whole vCenter to it.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Appliance.Update.Pending_listUpgradeableComponents", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "specific version to check eligible updates\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "source is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of the upgradeable component info", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Appliance.Update.Pending.UpgradeableComponent" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending/{version}?action=precheck": { + "post": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "Runs update precheck\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Pending_precheck", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Update version\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: precheck", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "component": { + "type": "string", + "description": "Name of the upgradeable component\n\nThis parameter was added in __vSphere API 8.0.0.1__.\n\nThis parameter is optional because it was added in a newer version than its parent node." + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if this version is already installed\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if another operation is in progress", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "PrecheckResult", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Update.Pending.PrecheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending/{version}?action=stage": { + "post": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "Starts staging the appliance update. The updates are searched for in the following order: staged, CDROM, URL\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Pending_stage", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Update version\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: stage", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "component": { + "type": "string", + "description": "Name of the upgradeable component\n\nThis parameter was added in __vSphere API 8.0.0.1__.\n\nThis parameter is optional because it was added in a newer version than its parent node." + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the update of this version is already installed\n\n***Vapi.Std.Errors.AlreadyExists*** the update is already staged\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if appliance update state prevents staging", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending/{version}?action=validate": { + "post": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "Validates the user provided data before the update installation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Pending_validate", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Update version\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: validate", + "content": { + "application/json": { + "schema": { + "required": [ + "user_data" + ], + "type": "object", + "properties": { + "user_data": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "map of user provided data with IDs\n\nThe key in the parameter map must be an identifier for the resource type: `com.vmware.applicance.update.pending.dataitem`." + }, + "component": { + "type": "string", + "description": "Name of the upgradeable component\n\nThis parameter was added in __vSphere API 8.0.0.1__.\n\nThis parameter is optional because it was added in a newer version than its parent node." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the update of this version is already installed\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if appliance update state prevents running an check", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Issues struct with the issues found during the validation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Notifications" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending/{version}?action=install": { + "post": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "Starts operation of installing the appliance update. Will fail is the update is not staged\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Pending_install", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Update version\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: install", + "content": { + "application/json": { + "schema": { + "required": [ + "user_data" + ], + "type": "object", + "properties": { + "user_data": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "map of user provided data with IDs\n\nThe key in the parameter map must be an identifier for the resource type: `com.vmware.applicance.update.pending.dataitem`." + }, + "component": { + "type": "string", + "description": "Name of the upgradeable component\n\nThis parameter was added in __vSphere API 8.0.0.1__.\n\nThis parameter is optional because it was added in a newer version than its parent node." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the update of this version is already installed\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if appliance update state prevents running an update or not staged", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error\n\nGeneric error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending/{version}?action=stage-and-install": { + "post": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "Starts operation of installing the appliance update. Will stage update if not already staged The updates are searched for in the following order: staged, CDROM, URL\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Pending_stageAndInstall", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Update version\n\nThe parameter must be an identifier for the resource type: `com.vmware.appliance.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: stageAndInstall", + "content": { + "application/json": { + "schema": { + "required": [ + "user_data" + ], + "type": "object", + "properties": { + "user_data": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "map of user provided data with IDs\n\nThe key in the parameter map must be an identifier for the resource type: `com.vmware.applicance.update.pending.dataitem`." + }, + "component": { + "type": "string", + "description": "upgradeable component to be staged and installed\n\nThis parameter was added in __vSphere API 8.0.0.1__.\n\nThis parameter is optional because it was added in a newer version than its parent node." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the update of this version is already installed\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if appliance update state prevents running an update", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the update is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error\n\nGeneric error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/pending?action=rollback": { + "post": { + "tags": [ + "Appliance.Update.Pending" + ], + "description": "Starts the update rollback operation such that the vCenter is reverted to a state before update installation. It will remove any changes done by update-install operation on the vCenter. \n\n__Caution:__ This operation will perform a reboot of appliance.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Pending_rollback", + "responses": { + "400": { + "description": "if appliance update state prevents running a rollback operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no valid snapshot present on the vCenter", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/appliance/update/staged": { + "get": { + "tags": [ + "Appliance.Update.Staged" + ], + "description": "Gets the current status of the staged update\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Staged_get", + "responses": { + "400": { + "description": "if nothing is staged", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info structure with information about staged update", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Appliance.Update.Staged.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Appliance.Update.Staged" + ], + "description": "Deletes the staged update\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Appliance.Update.Staged_delete", + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tasks/{task}": { + "get": { + "tags": [ + "Cis.Tasks" + ], + "description": "Returns information about a task.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Cis.Tasks_get", + "parameters": [ + { + "name": "task", + "in": "path", + "description": "Task identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.task`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spec", + "in": "query", + "description": "Specification on what to get for a task.\n\nIf missing or `null`, the behavior is equivalent to a *Cis.Tasks.GetSpec* with all properties missing or `null` which means only the data described in *Cis.Task.Info* will be returned and the result of the operation will be return.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Cis.Tasks.GetSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the task is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the task's state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified task.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Task.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tasks?action=list": { + "post": { + "tags": [ + "Cis.Tasks" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) tasks matching the *Cis.Tasks.FilterSpec*. All tasks must be in the same provider.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Cis.Tasks_list", + "requestBody": { + "description": "Request body for invoking operation: list", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "filter_spec": { + "$ref": "#/components/schemas/Cis.Tasks.FilterSpec" + }, + "result_spec": { + "$ref": "#/components/schemas/Cis.Tasks.GetSpec" + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if a task's state cannot be accessed or over 1000 tasks matching the *Cis.Tasks.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of task identifier to information about the task.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.cis.task`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Cis.Task.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tasks/{task}?action=cancel": { + "post": { + "tags": [ + "Cis.Tasks" + ], + "description": "Cancel a running operation associated with the task. This is the best effort attempt. Operation may not be cancelled anymore once it reaches certain stage.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Cis.Tasks_cancel", + "parameters": [ + { + "name": "task", + "in": "path", + "description": "Task identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.task`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the task is already canceled or completed.\n\n***Vapi.Std.Errors.Unsupported*** if the task is not cancelable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the task is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the task's state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/category": { + "get": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Enumerates the categories in the system. To invoke this operation, you need the read privilege on the individual categories. The list will only contain those categories for which you have read privileges.", + "operationId": "Cis.Tagging.Category_list", + "responses": { + "200": { + "description": "The list of resource identifiers for the categories in the system.\n\nThe response will contain identifiers for the resource type: `com.vmware.cis.tagging.Category`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Creates a category. To invoke this operation, you need the create category privilege.", + "operationId": "Cis.Tagging.Category_create", + "requestBody": { + "description": " Specification for the new category to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.Category.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the *Cis.Tagging.Category.CreateSpec.name* provided in the createSpec is the name of an already existing category.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the information in the createSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to create a category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "201": { + "description": "The identifier of the created category.\n\nThe response will be an identifier for the resource type: `com.vmware.cis.tagging.Category`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/category/{categoryId}": { + "get": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Fetches the category information for the given category identifier. In order to view the category information, you need the read privilege on the category.", + "operationId": "Cis.Tagging.Category_get", + "parameters": [ + { + "name": "categoryId", + "in": "path", + "description": " The identifier of the input category.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Category`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": " if you do not have the privilege to read the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Cis.Tagging.CategoryModel* that corresponds to categoryId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.CategoryModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Deletes an existing category. To invoke this operation, you need the delete privilege on the category.", + "operationId": "Cis.Tagging.Category_delete", + "parameters": [ + { + "name": "categoryId", + "in": "path", + "description": " The identifier of category to be deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Category`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to delete the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Updates an existing category. To invoke this operation, you need the edit privilege on the category.", + "operationId": "Cis.Tagging.Category_update", + "parameters": [ + { + "name": "categoryId", + "in": "path", + "description": " The identifier of the category to be updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Category`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification to update the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.Category.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the *Cis.Tagging.Category.UpdateSpec.name* provided in the updateSpec is the name of an already existing category.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the information in the updateSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to update the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/category?action=list-used-categories": { + "post": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Enumerates all categories for which the usedByEntity is part of the *Cis.Tagging.CategoryModel.used_by* subscribers set. To invoke this operation, you need the read privilege on the individual categories.", + "operationId": "Cis.Tagging.Category_listUsedCategories", + "requestBody": { + "description": "Request body for invoking operation: listUsedCategories", + "content": { + "application/json": { + "schema": { + "required": [ + "used_by_entity" + ], + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": " The field on which the results will be filtered." + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The list of resource identifiers for the categories in the system that are used by usedByEntity.\n\nThe response will contain identifiers for the resource type: `com.vmware.cis.tagging.Category`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/category/{categoryId}?action=add-to-used-by": { + "post": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Adds the usedByEntity to the *Cis.Tagging.CategoryModel.used_by* subscribers set for the specified category. If the usedByEntity is already in the set, then this becomes an idempotent no-op. To invoke this operation, you need the modify *Cis.Tagging.CategoryModel.used_by* privilege on the category.", + "operationId": "Cis.Tagging.Category_addToUsedBy", + "parameters": [ + { + "name": "categoryId", + "in": "path", + "description": " The identifier of the input category.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Category`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: addToUsedBy", + "content": { + "application/json": { + "schema": { + "required": [ + "used_by_entity" + ], + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": " The name of the user to be added to the *Cis.Tagging.CategoryModel.used_by* set." + } + } + } + } + }, + "required": true + }, + "responses": { + "403": { + "description": " if you do not have the privilege to add an entity to the *Cis.Tagging.CategoryModel.used_by* field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/category/{categoryId}?action=remove-from-used-by": { + "post": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Removes the usedByEntity from the *Cis.Tagging.CategoryModel.used_by* subscribers set. If the usedByEntity is not using this category, then this becomes a no-op. To invoke this operation, you need the modify *Cis.Tagging.CategoryModel.used_by* privilege on the category.", + "operationId": "Cis.Tagging.Category_removeFromUsedBy", + "parameters": [ + { + "name": "categoryId", + "in": "path", + "description": " The identifier of the input category.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Category`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: removeFromUsedBy", + "content": { + "application/json": { + "schema": { + "required": [ + "used_by_entity" + ], + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": " The name of the user to be removed from the *Cis.Tagging.CategoryModel.used_by* set." + } + } + } + } + }, + "required": true + }, + "responses": { + "403": { + "description": " if you do not have the privilege to remove an entity from the *Cis.Tagging.CategoryModel.used_by* field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/category/{categoryId}?action=revoke-propagating-permissions": { + "post": { + "tags": [ + "Cis.Tagging.Category" + ], + "description": "Revokes all propagating permissions on the given category. You should then attach a direct permission with tagging privileges on the given category. To invoke this operation, you need category related privileges (direct or propagating) on the concerned category.", + "operationId": "Cis.Tagging.Category_revokePropagatingPermissions", + "parameters": [ + { + "name": "categoryId", + "in": "path", + "description": " The identifier of the input category.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Category`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": " if you do not have the privilege to revoke propagating permissions on the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag": { + "get": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Enumerates the tags in the system. To invoke this operation, you need read privilege on the individual tags. The list will only contain tags for which you have read privileges.", + "operationId": "Cis.Tagging.Tag_list", + "responses": { + "200": { + "description": "The list of resource identifiers for the tags in the system.\n\nThe response will contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Creates a tag. To invoke this operation, you need the create tag privilege on the input category.", + "operationId": "Cis.Tagging.Tag_create", + "requestBody": { + "description": " Specification for the new tag to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.Tag.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the *Cis.Tagging.Tag.CreateSpec.name* provided in the createSpec is the name of an already existing tag in the input category.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the input information in the createSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to create tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the category for in the given createSpec does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "The identifier of the created tag.\n\nThe response will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag/{tagId}": { + "get": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Fetches the tag information for the given tag identifier. To invoke this operation, you need the read privilege on the tag in order to view the tag info.", + "operationId": "Cis.Tagging.Tag_get", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": " if the user does not have the privilege to read the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Cis.Tagging.TagModel* that corresponds to tagId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.TagModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Deletes an existing tag. To invoke this operation, you need the delete privilege on the tag.", + "operationId": "Cis.Tagging.Tag_delete", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to delete the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Updates an existing tag. To invoke this operation, you need the edit privilege on the tag.", + "operationId": "Cis.Tagging.Tag_update", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification to update the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.Tag.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the *Cis.Tagging.Tag.UpdateSpec.name* provided in the updateSpec is the name of an already existing tag in the same category.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the input information in the updateSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to update the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag?action=list-used-tags": { + "post": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Enumerates all tags for which the usedByEntity is part of the *Cis.Tagging.TagModel.used_by* subscribers set. To invoke this operation, you need the read privilege on the individual tags.", + "operationId": "Cis.Tagging.Tag_listUsedTags", + "requestBody": { + "description": "Request body for invoking operation: listUsedTags", + "content": { + "application/json": { + "schema": { + "required": [ + "used_by_entity" + ], + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": " The field on which the results will be filtered." + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The list of resource identifiers for the tags in the system that are used by usedByEntity.\n\nThe response will contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag?action=list-tags-for-category": { + "post": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Enumerates all tags for the given category. To invoke this operation, you need the read privilege on the given category and the individual tags in that category.", + "operationId": "Cis.Tagging.Tag_listTagsForCategory", + "requestBody": { + "description": "Request body for invoking operation: listTagsForCategory", + "content": { + "application/json": { + "schema": { + "required": [ + "category_id" + ], + "type": "object", + "properties": { + "category_id": { + "type": "string", + "description": " The identifier of the input category.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Category`." + } + } + } + } + }, + "required": true + }, + "responses": { + "403": { + "description": " if you do not have the privilege to read the category.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the category for the given categoryId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of resource identifiers for the tags in the given input category.\n\nThe response will contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag/{tagId}?action=add-to-used-by": { + "post": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Adds the usedByEntity to the *Cis.Tagging.TagModel.used_by* subscribers set. If the usedByEntity is already in the set, then this becomes a no-op. To invoke this operation, you need the modify *Cis.Tagging.TagModel.used_by* privilege on the tag.", + "operationId": "Cis.Tagging.Tag_addToUsedBy", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: addToUsedBy", + "content": { + "application/json": { + "schema": { + "required": [ + "used_by_entity" + ], + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": " The name of the user to be added to the *Cis.Tagging.TagModel.used_by* set." + } + } + } + } + }, + "required": true + }, + "responses": { + "403": { + "description": " if you do not have the privilege to add an entity to the *Cis.Tagging.TagModel.used_by* field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag/{tagId}?action=remove-from-used-by": { + "post": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Removes the usedByEntity from the *Cis.Tagging.TagModel.used_by* subscribers set. If the usedByEntity is not using this tag, then this becomes a no-op. To invoke this operation, you need modify *Cis.Tagging.TagModel.used_by* privilege on the tag.", + "operationId": "Cis.Tagging.Tag_removeFromUsedBy", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: removeFromUsedBy", + "content": { + "application/json": { + "schema": { + "required": [ + "used_by_entity" + ], + "type": "object", + "properties": { + "used_by_entity": { + "type": "string", + "description": " The name of the user to be removed from the *Cis.Tagging.TagModel.used_by* set." + } + } + } + } + }, + "required": true + }, + "responses": { + "403": { + "description": " if you do not have the privilege to remove an entity from the *Cis.Tagging.TagModel.used_by* field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag/{tagId}?action=revoke-propagating-permissions": { + "post": { + "tags": [ + "Cis.Tagging.Tag" + ], + "description": "Revokes all propagating permissions on the given tag. You should then attach a direct permission with tagging privileges on the given tag. To invoke this operation, you need tag related privileges (direct or propagating) on the concerned tag.", + "operationId": "Cis.Tagging.Tag_revokePropagatingPermissions", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": " if you do not have the privilege to revoke propagating permissions on the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association/{tagId}?action=attach": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Attaches the given tag to the input object. The tag needs to meet the cardinality (*Cis.Tagging.CategoryModel.cardinality*) and associability (*Cis.Tagging.CategoryModel.associable_types*) criteria in order to be eligible for attachment. If the tag is already attached to the object, then this operation is a no-op and an error will not be thrown. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on the object.", + "operationId": "Cis.Tagging.TagAssociation_attach", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: attach", + "content": { + "application/json": { + "schema": { + "required": [ + "object_id" + ], + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if the input tag is not eligible to be attached to this object or if the objectId is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to attach the tag or do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association?action=attach-multiple-tags-to-object": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Attaches the given tags to the input object. If a tag is already attached to the object, then the individual operation is a no-op and an error will not be added to *Cis.Tagging.TagAssociation.BatchResult.error_messages*. To invoke this operation, you need the read privilege on the object and the attach tag privilege on each tag.\n\nThis operation was added in __vSphere API 6.5__.", + "operationId": "Cis.Tagging.TagAssociation_attachMultipleTagsToObject", + "requestBody": { + "description": "Request body for invoking operation: attachMultipleTagsToObject", + "content": { + "application/json": { + "schema": { + "required": [ + "object_id", + "tag_ids" + ], + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + }, + "tag_ids": { + "type": "array", + "description": " The identifiers of the input tags.\n\nThe parameter must contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "The outcome of the batch operation and the list of error messages (*Cis.Tagging.TagAssociation.BatchResult.error_messages*) describing attachment failures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.TagAssociation.BatchResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association/{tagId}?action=attach-tag-to-multiple-objects": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Attaches the given tag to the input objects. If a tag is already attached to the object, then the individual operation is a no-op and an error will not be added to *Cis.Tagging.TagAssociation.BatchResult.error_messages*. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on each object.\n\nThis operation was added in __vSphere API 6.5__.", + "operationId": "Cis.Tagging.TagAssociation_attachTagToMultipleObjects", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: attachTagToMultipleObjects", + "content": { + "application/json": { + "schema": { + "required": [ + "object_ids" + ], + "type": "object", + "properties": { + "object_ids": { + "type": "array", + "description": " The identifiers of the input objects.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the attach tag privilege on the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The outcome of the batch operation and the list of error messages (*Cis.Tagging.TagAssociation.BatchResult.error_messages*) describing attachment failures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.TagAssociation.BatchResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association/{tagId}?action=detach": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Detaches the tag from the given object. If the tag is already removed from the object, then this operation is a no-op and an error will not be thrown. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on the object.", + "operationId": "Cis.Tagging.TagAssociation_detach", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: detach", + "content": { + "application/json": { + "schema": { + "required": [ + "object_id" + ], + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to detach the tag or do not have the privilege to read the given object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association?action=detach-multiple-tags-from-object": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Detaches the given tags from the input object. If a tag is already removed from the object, then the individual operation is a no-op and an error will not be added to *Cis.Tagging.TagAssociation.BatchResult.error_messages*. To invoke this operation, you need the read privilege on the object and the attach tag privilege each tag.\n\nThis operation was added in __vSphere API 6.5__.", + "operationId": "Cis.Tagging.TagAssociation_detachMultipleTagsFromObject", + "requestBody": { + "description": "Request body for invoking operation: detachMultipleTagsFromObject", + "content": { + "application/json": { + "schema": { + "required": [ + "object_id", + "tag_ids" + ], + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + }, + "tag_ids": { + "type": "array", + "description": " The identifiers of the input tags.\n\nThe parameter must contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "The outcome of the batch operation and the list of error messages (*Cis.Tagging.TagAssociation.BatchResult.error_messages*) describing detachment failures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.TagAssociation.BatchResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association/{tagId}?action=detach-tag-from-multiple-objects": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Detaches the given tag from the input objects. If a tag is already removed from the object, then the individual operation is a no-op and an error will not be added to *Cis.Tagging.TagAssociation.BatchResult.error_messages*. To invoke this operation, you need the attach tag privilege on the tag and the read privilege on each object.\n\nThis operation was added in __vSphere API 6.5__.", + "operationId": "Cis.Tagging.TagAssociation_detachTagFromMultipleObjects", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: detachTagFromMultipleObjects", + "content": { + "application/json": { + "schema": { + "required": [ + "object_ids" + ], + "type": "object", + "properties": { + "object_ids": { + "type": "array", + "description": " The identifiers of the input objects.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the attach tag privilege on the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tag does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The outcome of the batch operation and the list of error messages (*Cis.Tagging.TagAssociation.BatchResult.error_messages*) describing detachment failures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Cis.Tagging.TagAssociation.BatchResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association/{tagId}?action=list-attached-objects": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Fetches the list of attached objects for the given tag. To invoke this operation, you need the read privilege on the input tag. Only those objects for which you have the read privilege will be returned.", + "operationId": "Cis.Tagging.TagAssociation_listAttachedObjects", + "parameters": [ + { + "name": "tagId", + "in": "path", + "description": " The identifier of the input tag.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to read the tag.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the tag for the given tagId does not exist in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of attached object identifiers.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association?action=list-attached-objects-on-tags": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Fetches the list of *Cis.Tagging.TagAssociation.TagToObjects* describing the input tag identifiers and the objects they are attached to. To invoke this operation, you need the read privilege on each input tag. The *Cis.Tagging.TagAssociation.TagToObjects.object_ids* will only contain those objects for which you have the read privilege.\n\nThis operation was added in __vSphere API 6.5__.", + "operationId": "Cis.Tagging.TagAssociation_listAttachedObjectsOnTags", + "requestBody": { + "description": "Request body for invoking operation: listAttachedObjectsOnTags", + "content": { + "application/json": { + "schema": { + "required": [ + "tag_ids" + ], + "type": "object", + "properties": { + "tag_ids": { + "type": "array", + "description": " The identifiers of the input tags.\n\nThe parameter must contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "The list of the tag identifiers to all object identifiers that each tag is attached to.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Cis.Tagging.TagAssociation.TagToObjects" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association?action=list-attached-tags": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Fetches the list of tags attached to the given object. To invoke this operation, you need the read privilege on the input object. The list will only contain those tags for which you have the read privileges.", + "operationId": "Cis.Tagging.TagAssociation_listAttachedTags", + "requestBody": { + "description": "Request body for invoking operation: listAttachedTags", + "content": { + "application/json": { + "schema": { + "required": [ + "object_id" + ], + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "The list of all tag identifiers that correspond to the tags attached to the given object.\n\nThe response will contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association?action=list-attached-tags-on-objects": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Fetches the list of *Cis.Tagging.TagAssociation.ObjectToTags* describing the input object identifiers and the tags attached to each object. To invoke this operation, you need the read privilege on each input object. The *Cis.Tagging.TagAssociation.ObjectToTags.tag_ids* will only contain those tags for which you have the read privilege.\n\nThis operation was added in __vSphere API 6.5__.", + "operationId": "Cis.Tagging.TagAssociation_listAttachedTagsOnObjects", + "requestBody": { + "description": "Request body for invoking operation: listAttachedTagsOnObjects", + "content": { + "application/json": { + "schema": { + "required": [ + "object_ids" + ], + "type": "object", + "properties": { + "object_ids": { + "type": "array", + "description": " The identifiers of the input objects.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "The list of the object identifiers to all tag identifiers that are attached to that object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Cis.Tagging.TagAssociation.ObjectToTags" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/cis/tagging/tag-association?action=list-attachable-tags": { + "post": { + "tags": [ + "Cis.Tagging.TagAssociation" + ], + "description": "Fetches the list of attachable tags for the given object, omitting the tags that have already been attached. Criteria for attachability is calculated based on tagging cardinality (*Cis.Tagging.CategoryModel.cardinality*) and associability (*Cis.Tagging.CategoryModel.associable_types*) constructs. To invoke this operation, you need the read privilege on the input object. The list will only contain those tags for which you have read privileges.", + "operationId": "Cis.Tagging.TagAssociation_listAttachableTags", + "requestBody": { + "description": "Request body for invoking operation: listAttachableTags", + "content": { + "application/json": { + "schema": { + "required": [ + "object_id" + ], + "type": "object", + "properties": { + "object_id": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if you do not have the privilege to read the object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "The list of tag identifiers that are eligible to be attached to the given object.\n\nThe response will contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/configuration": { + "get": { + "tags": [ + "Content.Configuration" + ], + "description": "Retrieves the current configuration values.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.GetConfiguration`. \n", + "operationId": "Content.Configuration_get", + "responses": { + "200": { + "description": "The *Content.ConfigurationModel* instance representing the configuration of the Content Library Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.ConfigurationModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Content.Configuration" + ], + "description": "Updates the configuration. The update is incremental. Any property in the *Content.ConfigurationModel* schema that is missing or `null` will not be modified. Note that this update operation doesn't guarantee an atomic change of all the properties. In the case of a system crash or failure, some of the properties could be left unchanged while others may be updated.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.UpdateConfiguration`. \n", + "operationId": "Content.Configuration_update", + "requestBody": { + "description": " The *Content.ConfigurationModel* specifying the settings to update.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.ConfigurationModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if one of the configuration properties is not within the proper range.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{libraryId}": { + "get": { + "tags": [ + "Content.Library" + ], + "description": "Returns a given *Content.LibraryModel*.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `System.Read`. \n", + "operationId": "Content.Library_get", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the library to return.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if the specified library does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Content.LibraryModel* instance with the specified libraryId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.LibraryModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.Library" + ], + "description": "Deletes the specified library. \n\n The delete operation applies to all library types. Deleting a library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal. \n\n Since vSphere 9.1, deletion of a content library will trigger a usage check to determine whether any resource(s) have declared usage on the library via *POST /content/library/{library}/usages*. If one or more resources are using the library, the library deletion will be blocked by default to prevent accidental disruption of dependent workflows. If the deletion request is issued with *POST /content/library/{libraryId}?action=force-delete*, the usage check will be skipped and the library will be deleted regardless of its usage. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.DeleteLibrary`. \n", + "operationId": "Content.Library_delete", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the library to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the library contains a library item that cannot be deleted in its current state. For example, the library item contains a virtual machine template and a virtual machine is checked out of the library item. If the library is currently used by other resource(s). ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Content.Library" + ], + "description": "Updates the properties of a library. \n\n This is an incremental update to the library. Any property in the *Content.LibraryModel* schema that is missing or `null` will not be modified. \n\n This operation will only update the common properties for all library types. This will not, for example, update the *Content.LibraryModel.publish_info* of a local library, nor the *Content.LibraryModel.subscription_info* of a subscribed library. Specific properties are updated in *PATCH /content/local-library/{libraryId}* and *PATCH /content/subscribed-library/{libraryId}*.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.UpdateLibrary`. \n", + "operationId": "Content.Library_update", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the library to update.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification of the new property values to set on the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.LibraryModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if the updateSpec is not valid.\n\n if the *Content.LibraryModel.version* of updateSpec is not equal to the current version of the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "404": { + "description": " if the library associated with libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library": { + "get": { + "tags": [ + "Content.Library" + ], + "description": "Returns the identifiers of all libraries of any type in the Content Library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Content.Library_list", + "responses": { + "200": { + "description": "The list of all identifiers of all libraries in the Content Library.\n\nThe response will contain identifiers for the resource type: `com.vmware.content.Library`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library?action=find": { + "post": { + "tags": [ + "Content.Library" + ], + "description": "Returns a list of all the visible (as determined by authorization policy) libraries matching the requested *Content.Library.FindSpec*.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Content.Library_find", + "requestBody": { + "description": " Specification describing what properties to filter on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.FindSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if no properties are specified in the spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "200": { + "description": "The list of identifiers of all the visible libraries matching the given spec.\n\nThe response will contain identifiers for the resource type: `com.vmware.content.Library`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{libraryId}?action=migrate": { + "post": { + "tags": [ + "Content.Library" + ], + "description": "Migrates the library content from current storage backing to specified storage backing. \n\n The only supported storage backing type is DATASTORE for both source and target storage backing. Migrating Virtual machine template items is not supported. \n\n This will trigger a migration task which goes through phases of migration. \n - 1. Migration Pre-checks \n - 2. Content Migration \n - 3. Post Migration \n \n\n There will be set of pre-checks before starting content migration that prepares the library for migration, any failures in pre-checks phase will stop the task, failure will be returned. \n\n On successful pre-checks, Library would be put in to MAINTENANCE state and actual content migration phase starts. Content migration involve copying contents from source datastore to target datastore. During the content migration phase, library content will be inaccessible and any operations that alter the Library content or its use are restricted to avoid conflicts. On successfully copying contents to target datastore, library metadata in the database will be updated to repoint to the target datastore. \n\n Post migration, Library is transitioned back to ACTIVE state. Any failures in Migration will be reported. Cleanup of library content on datastore happens in this phase. This would be source datastore on successful migration, target datastore on failure case. \n\n In case of published library with PublishInfo#persistJsonEnabled flag, publisher metadata json files will also be migrated to target datastore. \n\n \n\n Since VCF 9.1, Migration of library specified by libraryId with *Content.Library.StorageBacking.Type* STORAGEPOLICY as storage backing type will be restricted to migrate to compatible datastore provided by *POST /vcenter/storage/policies/{policy}?action=check-compatibility* and specified by StoragePolicy#getUsedDatastores(). \n\n A library with *Content.Library.StorageBacking.Type.DATASTORE* backing type shall be migrated to *Content.Library.StorageBacking.Type* STORAGEPOLICY backing. \n\n Migration of library with *Content.Library.StorageBacking.Type* STORAGEPOLICY as storage backing type to a different storage policy or {StorageBacking.Type#DATASTORE} is not supported. \n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.MigrateLibrary`. \n", + "operationId": "Content.Library_migrate", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the local, published or subscribed content library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification containing storage backing to migrate this library to.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.MigrateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If one or more *Content.Library.MigrateSpec.storage_backings* specified in migrateSpec is not valid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library specified by libraryId already being migrated or blocked by condition that do not allow start of migration.\n\n***Vapi.Std.Errors.AlreadyInDesiredState*** If the storage backing of library specified by libraryId is same as specified in migrateSpec target storage backing.\n\n***Vapi.Std.Errors.Unsupported*** If the storage backing type of library specified by libraryId or storage backing type of *Content.Library.MigrateSpec.storage_backings* specified in migrateSpec are not supported for migration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{libraryId}?action=convert": { + "post": { + "tags": [ + "Content.Library" + ], + "description": "Converts the library to a different type of library. \n\n The currently supported conversion is ConversionType#TO_PUBLISHED_LIBRARY, which is for conversion from *Content.SubscribedLibrary* to *Content.LocalLibrary* with PublishInfo#published set to `true`. \n\n The ConversionType#TO_PUBLISHED_LIBRARY involves transitioning the subscribed content library that subscribes to a remote published content library into a published local content library that is capable of distributing content externally. \n\n The ConversionType#TO_PUBLISHED_LIBRARY is supported only for subscribed library where the items are fully synchronized with the remote published content library items. This operation is not supported in the following cases and will raise a NotAllowedInCurrentState error with an appropriate message. \n - When the library item(s) in the library contains VM templates \n - When *Content.SubscribedLibrary* is on-demand and the content is not synchronized \n - When the *Content.SubscribedLibrary* item(s) are not synchronized \n - When the library is put to *Content.LibraryModel.state_info* in MAINTENANCE and currently undergoing library migration \n - When the published library of the given library is put to *Content.LibraryModel.state_info* in MAINTENANCE and currently undergoing library migration \n A successful converted library will inherit properties such as authentication settings and library metadata persistence in converted library's datastore. It retains all existing metadata defined in PublishInfo with the exception of the PublishInfo#publishUrl, with PublishInfo#published set to `true`. It also ensures that identifier of the library item(s) of the given library will not change. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.ConvertLibrary`. \n", + "operationId": "Content.Library_convert", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " The unique identifier of the library to be converted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " The conversion specification containing the target library type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.ConversionSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the library specified by libraryId is not valid for the conversion.\n\n***Vapi.Std.Errors.InvalidElementType*** If the library specified by libraryId is not a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library specified by libraryId has conditions that do not allow the conversion.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " If any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " If the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{libraryId}?action=enter-maintenance": { + "post": { + "tags": [ + "Content.Library" + ], + "description": "Transitions the specified *Content.Library* *Content.Library.StateInfo.state* to *Content.Library.StateInfo.State.MAINTENANCE*. \n\n The *Content.Library.StateInfo.State.MAINTENANCE* state is a controlled state of a *Content.Library* during which certain content library operations are restricted as described in *Content.Library.StateInfo.State.MAINTENANCE*. If any of the restricted operations is already running, the library will raise a NotAllowedInCurrentState error with appropriate message indicating that it cannot enter *Content.Library.StateInfo.State.MAINTENANCE* at this time. Otherwise, the library will change *Content.Library.StateInfo.state* from *Content.Library.StateInfo.State.ACTIVE* to *Content.Library.StateInfo.State.MAINTENANCE*. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.LibraryMaintenance`. \n", + "operationId": "Content.Library_enterMaintenance", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " The unique identifier of the library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " If the library specified by libraryId has conditions that do not allow the library to enter maintenance state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " If the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{libraryId}?action=exit-maintenance": { + "post": { + "tags": [ + "Content.Library" + ], + "description": "Transitions the specified *Content.Library* *Content.Library.StateInfo.state* to *Content.Library.StateInfo.State.ACTIVE*. \n\n Once the *Content.Library.StateInfo.state* of the library is changed from *Content.Library.StateInfo.State.MAINTENANCE* to *Content.Library.StateInfo.State.ACTIVE*, all operations are permitted. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.LibraryMaintenance`. \n", + "operationId": "Content.Library_exitMaintenance", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " The unique identifier of the library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " If the library specified by libraryId has conditions that do not allow the library to enter maintenance state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " If the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{libraryId}?action=force-delete": { + "post": { + "tags": [ + "Content.Library" + ], + "description": "Force deletes the specified library by skipping the usage check. \n\n This force delete operation applies to all library types. Force deleting a library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.DeleteLibrary`. \n", + "operationId": "Content.Library_forceDelete", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the local library to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the library contains a library item that cannot be deleted in its current state. For example, the library item contains a virtual machine template and a virtual machine is checked out of the library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " If the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/local-library": { + "get": { + "tags": [ + "Content.LocalLibrary" + ], + "description": "Returns the identifiers of all local libraries in the Content Library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Content.LocalLibrary_list", + "responses": { + "200": { + "description": "The list of identifiers of all local libraries in the Content Library.\n\nThe response will contain identifiers for the resource type: `com.vmware.content.Library`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Content.LocalLibrary" + ], + "description": "Creates a new local library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.CreateLocalLibrary`. \n - The resource `Datastore` referenced by the property *Content.Library.StorageBacking.datastore_id* requires `Datastore.AllocateSpace`. \n", + "operationId": "Content.LocalLibrary_create", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": " A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: `b8a2a2e3-2314-43cd-a871-6ede0f429751`. This token can be used to guarantee idempotent creation.\n\nIf not specified creation is not idempotent.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification for the new local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.LibraryModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if the createSpec is not valid.\n- if the clientToken does not conform to the UUID format.\n\n***Vapi.Std.Errors.Unsupported*** if using multiple storage backings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Identifier of the newly created *Content.LibraryModel*.\n\nThe response will be an identifier for the resource type: `com.vmware.content.Library`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/local-library/{libraryId}": { + "get": { + "tags": [ + "Content.LocalLibrary" + ], + "description": "Returns a given local library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `System.Read`. \n", + "operationId": "Content.LocalLibrary_get", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the local library to return.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the library specified by libraryId is not a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidElementType" + } + } + } + }, + "404": { + "description": " if the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Content.LibraryModel* instance associated with libraryId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.LibraryModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.LocalLibrary" + ], + "description": "Deletes the specified local library. \n\n Deleting a local library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal. \n\n Since vSphere 9.1, deletion of a local content library will trigger a usage check to determine whether any resource(s) have declared usage on the library via *POST /content/library/{library}/usages*. If one or more resources are using the library, the local library deletion will be blocked by default to prevent accidental disruption of dependent workflows. If the deletion request is issued with *POST /content/local-library/{libraryId}?action=force-delete*, the usage check will be skipped and the library will be deleted regardless of its usage. \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.DeleteLocalLibrary`. \n", + "operationId": "Content.LocalLibrary_delete", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the local library to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** if the library specified by libraryId is not a local library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the library contains a library item that cannot be deleted in its current state. For example, the library item contains a virtual machine template and a virtual machine is checked out of the library item. If library deletion is blocked due to library usage by other resource(s). ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Content.LocalLibrary" + ], + "description": "Updates the properties of a local library. \n\n This is an incremental update to the local library. Properties that are missing or `null` in the update specification will be left unchanged.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.UpdateLocalLibrary`. \n", + "operationId": "Content.LocalLibrary_update", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the local library to update.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification of the new property values to set on the local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.LibraryModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the library specified by libraryId is a published library with JSON persistence enabled (see *Content.Library.PublishInfo.persist_json_enabled*) and the content of the library has been deleted from the storage backings (see *Content.LibraryModel.storage_backings*) associated with it.\n\n***Vapi.Std.Errors.InvalidElementType*** if the library specified by libraryId is not a local library.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if the updateSpec is not valid.\n- if the *Content.Library.PublishInfo.current_password* in the updateSpec does not match the existing password of the published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": " if the *Content.LibraryModel.version* of updateSpec is missing or `null` and the library is being concurrently updated by another user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": " if the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "409": { + "description": " if the *Content.LibraryModel.version* of updateSpec is not equal to the current version of the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/local-library/{libraryId}?action=force-delete": { + "post": { + "tags": [ + "Content.LocalLibrary" + ], + "description": "Force deletes the specified local library by skipping the usage check. \n\n Force deleting a local library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.DeleteLocalLibrary`. \n", + "operationId": "Content.LocalLibrary_forceDelete", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the local library to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** If the library specified by libraryId is not a local library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the library contains a library item that cannot be deleted in its current state. For example, the library item contains a virtual machine template and a virtual machine is checked out of the library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " If the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/local-library/{libraryId}?action=publish": { + "post": { + "tags": [ + "Content.LocalLibrary" + ], + "description": "Publishes the library to specified subscriptions. If no subscriptions are specified, then publishes the library to all its subscriptions.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.PublishLibrary`. \n", + "operationId": "Content.LocalLibrary_publish", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": "Identifier of the published library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: publish", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "subscriptions": { + "type": "array", + "description": "The list of subscriptions to publish this library to.\n\nIf not specified, the library is published to all its subscriptions.", + "items": { + "$ref": "#/components/schemas/Content.LocalLibrary.DestinationSpec" + } + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If one or more subscriptions is not valid.\n\n***Vapi.Std.Errors.InvalidElementType*** If the library specified by libraryId is a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library specified by libraryId is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/security-policies": { + "get": { + "tags": [ + "Content.SecurityPolicies" + ], + "description": "Returns the list of security policies.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Content.SecurityPolicies_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of security policies.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.SecurityPolicies.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/subscribed-library": { + "get": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Returns the identifiers of all subscribed libraries in the Content Library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Content.SubscribedLibrary_list", + "responses": { + "200": { + "description": "The list of identifiers of all subscribed libraries in the Content Library.\n\nThe response will contain identifiers for the resource type: `com.vmware.content.Library`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Creates a new subscribed library. \n\n Once created, the subscribed library will be empty. If the *Content.LibraryModel.subscription_info* property is set, the Content Library Service will attempt to synchronize to the remote source. This is an asynchronous operation so the content of the published library may not immediately appear.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.CreateSubscribedLibrary`. \n - The resource `Datastore` referenced by the property *Content.Library.StorageBacking.datastore_id* requires `Datastore.AllocateSpace`. \n", + "operationId": "Content.SubscribedLibrary_create", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": " Unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: `b8a2a2e3-2314-43cd-a871-6ede0f429751`. This token can be used to guarantee idempotent creation.\n\nIf not specified creation is not idempotent.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification for the new subscribed library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.LibraryModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if the createSpec is not valid.\n- if the clientToken does not conform to the UUID format.\n\n***Vapi.Std.Errors.Unsupported*** if using multiple storage backings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": " if subscribing to a published library which cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" + } + } + } + }, + "201": { + "description": "Identifier of the newly created subscribed library.\n\nThe response will be an identifier for the resource type: `com.vmware.content.Library`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/subscribed-library/{libraryId}": { + "get": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Returns a given subscribed library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `System.Read`. \n", + "operationId": "Content.SubscribedLibrary_get", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the subscribed library to return.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the library associated with libraryId is not a subscribed library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidElementType" + } + } + } + }, + "404": { + "description": " if the library associated with libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Content.LibraryModel* instance that corresponds to libraryId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.LibraryModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Deletes the specified subscribed library. \n\n Deleting a subscribed library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal. \n\n Since vSphere 9.1, deletion of a subscribed content library will trigger a usage check to determine whether any resource(s) have declared usage on the library via *POST /content/library/{library}/usages*. If one or more resources are using the library, the subscribed library deletion will be blocked by default to prevent accidental disruption of dependent workflows. If the deletion request is issued with *POST /content/subscribed-library/{libraryId}?action=force-delete*, the usage check will be skipped and the library will be deleted regardless of its usage. \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.DeleteSubscribedLibrary`. \n", + "operationId": "Content.SubscribedLibrary_delete", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the subscribed library to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** if the library referenced by libraryId is not a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If library deletion is blocked due to library usage by other resource(s). ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library referenced by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Updates the properties of a subscribed library. \n\n This is an incremental update to the subscribed library. Properties that are missing or `null` in the update specification will be left unchanged.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.UpdateSubscribedLibrary`. \n", + "operationId": "Content.SubscribedLibrary_update", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the subscribed library to update.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification of the new property values to set on the subscribed library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.LibraryModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the updateSpec updates the subscription URL (see *Content.Library.SubscriptionInfo.subscription_url*) and the content of the library specified by libraryId has been deleted from the storage backings (see *Content.LibraryModel.storage_backings*) associated with it.\n\n***Vapi.Std.Errors.InvalidElementType*** if the library specified by libraryId is not a subscribed library.\n\n***Vapi.Std.Errors.InvalidArgument*** if the updateSpec is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if the subscription info is being updated but the published library cannot be contacted or found.\n\n***Vapi.Std.Errors.ResourceBusy*** if the *Content.LibraryModel.version* of updateSpec is missing or `null` and the library is being concurrently updated by another user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "409": { + "description": " if the *Content.LibraryModel.version* of updateSpec is not equal to the current version of the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/subscribed-library/{libraryId}?action=force-delete": { + "post": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Force deletes the specified subscribed library by skipping the usage check. \n\n Force deleting a subscribed library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.DeleteSubscribedLibrary`. \n", + "operationId": "Content.SubscribedLibrary_forceDelete", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the local library to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " If the library specified by libraryId is not a local library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidElementType" + } + } + } + }, + "404": { + "description": " If the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/subscribed-library/{libraryId}?action=evict": { + "post": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Evicts the cached content of an on-demand subscribed library. \n\n This operation allows the cached content of a subscribed library to be removed to free up storage capacity. This operation will only work when a subscribed library is synchronized on-demand.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.EvictSubscribedLibrary`. \n", + "operationId": "Content.SubscribedLibrary_evict", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the subscribed library whose content should be evicted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** if the library specified by libraryId is not a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the library specified by libraryId does not synchronize on-demand, or if the content of the library specified by libraryId has been deleted from the storage backings (see *Content.LibraryModel.storage_backings*) associated with it. \n\n For instance, this {@term error) is reported on evicting an on-demand subscribed library that was restored from backup, and the library was deleted after the backup was taken, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library is present on a restore, while its content has been deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/subscribed-library/{libraryId}?action=sync": { + "post": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Forces the synchronization of the subscribed library. \n\n Synchronizing a subscribed library forcefully with this operation will perform the same synchronization behavior as would run periodically for the library. The *Content.Library.SubscriptionInfo.on_demand* setting is respected. Calling this operation on a library that is already in the process of synchronizing will have no effect.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `ContentLibrary.SyncLibrary`. \n", + "operationId": "Content.SubscribedLibrary_sync", + "parameters": [ + { + "name": "libraryId", + "in": "path", + "description": " Identifier of the subscribed library to synchronize.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** if the library specified by libraryId is not a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the content of the library specified by libraryId has been deleted from the storage backings (see *Content.LibraryModel.storage_backings*) associated with it. \n\n For instance, this {@term error) is reported on synchronizing a subscribed library that was restored from backup, and the library was deleted after the backup was taken, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library is present on a restore, while its content has been deleted.\n\n***Vapi.Std.Errors.InvalidArgument*** if some parameter in the subscribed library subscription info is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": " if the published library cannot be contacted or found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" + } + } + } + }, + "404": { + "description": " if the library specified by libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/subscribed-library?action=probe": { + "post": { + "tags": [ + "Content.SubscribedLibrary" + ], + "description": "Probes remote library subscription information, including URL, SSL certificate and password. The resulting *Content.SubscribedLibrary.ProbeResult* schema describes whether or not the subscription configuration is successful.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.ProbeSubscription`. \n", + "operationId": "Content.SubscribedLibrary_probe", + "requestBody": { + "description": "Request body for invoking operation: probe", + "content": { + "application/json": { + "schema": { + "required": [ + "subscription_info" + ], + "type": "object", + "properties": { + "subscription_info": { + "$ref": "#/components/schemas/Content.Library.SubscriptionInfo" + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The subscription info probe result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.SubscribedLibrary.ProbeResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/trusted-certificates": { + "get": { + "tags": [ + "Content.TrustedCertificates" + ], + "description": "Returns Content.TrustedCertificates.ListResult schema. All content library's trusted certificates.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Content.TrustedCertificates_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Content.TrustedCertificates.ListResult containing trusted certificates.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.TrustedCertificates.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Content.TrustedCertificates" + ], + "description": "Adds a certificate to content library trust store. \n\n This API has to be invoked separately for each certificate block - (BEGIN_CERTIFICATE ... END_CERTIFICATE)\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.AddCertToTrustStore`. \n", + "operationId": "Content.TrustedCertificates_create", + "requestBody": { + "description": " Specification for the certificate to be added to content library trust store.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.TrustedCertificates.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "ID of the certificates added. The certificate ID will be unique for each certificate. If the certificate already exists, existing ID is returned.\n\nThe response will be an identifier for the resource type: `com.vmware.content.TrustedCertificate`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/trusted-certificates/{certificate}": { + "get": { + "tags": [ + "Content.TrustedCertificates" + ], + "description": "Retrieves a trusted certificate for a given certificate id.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.TrustedCertificate` referenced by the parameter certificate requires `System.Read`. \n", + "operationId": "Content.TrustedCertificates_get", + "parameters": [ + { + "name": "certificate", + "in": "path", + "description": "id of the trusted certificate.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.TrustedCertificate`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if a trusted certificate does not exist for given id.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "*Content.TrustedCertificates.Info* instance that corresponds to the certificate.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.TrustedCertificates.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.TrustedCertificates" + ], + "description": "Deletes the trusted certificate from content library's trust store for a given identifier.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.TrustedCertificate` referenced by the parameter certificate requires `ContentLibrary.DeleteCertFromTrustStore`. \n", + "operationId": "Content.TrustedCertificates_delete", + "parameters": [ + { + "name": "certificate", + "in": "path", + "description": "id of the trusted certificate.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.TrustedCertificate`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the trusted certificate specified by certificate could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/type": { + "get": { + "tags": [ + "Content.Type" + ], + "description": "Returns a list of *Content.Type.Info* instances which describe the type support plugins in a Content Library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.TypeIntrospection`. \n", + "operationId": "Content.Type_list", + "responses": { + "200": { + "description": "The list of *Content.Type.Info* instances which describe the type support plugins in a Content Library.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.Type.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{sourceLibraryItemId}?action=copy": { + "post": { + "tags": [ + "Content.Library.Item" + ], + "description": "Copies a library item. \n\n Copying a library item allows a duplicate to be made within the same or different library. The copy occurs by first creating a new library item, whose identifier is returned. The content of the library item is then copied asynchronously. This copy can be tracked as a task. \n\n If the copy fails, Content Library Service will roll back the copy by deleting any content that was already copied, and removing the new library item. A failure during rollback may require manual cleanup by an administrator. \n\n A library item cannot be copied into a subscribed library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter sourceLibraryItemId requires `System.Read`. \n - The resource `com.vmware.content.Library` referenced by the property *Content.Library.ItemModel.library_id* requires `ContentLibrary.AddLibraryItem`. \n", + "operationId": "Content.Library.Item_copy", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": " A unique token generated on the client for each copy request. The token should be a universally unique identifier (UUID), for example: `b8a2a2e3-2314-43cd-a871-6ede0f429751`. This token can be used to guarantee idempotent copy.\n\nIf not specified copy is not idempotent.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sourceLibraryItemId", + "in": "path", + "description": " Identifier of the existing library item from which the content will be copied.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification for the new library item to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.ItemModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if one of the following is true for the new library item: \n - name is empty\n - name exceeds 80 characters\n - description exceeds 2000 characters\n \n- if the clientToken does not conform to the UUID format.\n\n***Vapi.Std.Errors.InvalidElementType*** if the *Content.Library.ItemModel.library_id* property of destinationCreateSpec refers to a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the content of the source library item specified by sourceLibraryItemId, or the content of the target library specified by the library ID (see *Content.Library.ItemModel.library_id*) property of destinationCreateSpec has been deleted from the storage backings (see LibraryModel#storageBackings) associated with it.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": " if the copy operation failed because the source or destination library item is not accessible.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" + } + } + } + }, + "404": { + "description": " if the library item with sourceLibraryItemId does not exist, or if the library referenced by the *Content.Library.ItemModel.library_id* property of destinationCreateSpec does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The identifier of the new library item into which the content is being copied.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.Item`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item": { + "post": { + "tags": [ + "Content.Library.Item" + ], + "description": "Creates a new library item. \n\n A new library item is created without any content. After creation, content can be added through the *Content.Library.Item.UpdateSession* and *Content.Library.Item.Updatesession.File* resources. \n\n A library item cannot be created in a subscribed library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the property *Content.Library.ItemModel.library_id* requires `ContentLibrary.AddLibraryItem`. \n", + "operationId": "Content.Library.Item_create", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": " A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: `b8a2a2e3-2314-43cd-a871-6ede0f429751`. This token can be used to guarantee idempotent creation.\n\nIf not specified creation is not idempotent.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification that defines the properties of the new library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.ItemModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if one of the following is true for the new library item: \n - name is empty\n - name exceeds 80 characters\n - description exceeds 2000 characters\n \n- if the clientToken does not conform to the UUID format.\n\n***Vapi.Std.Errors.InvalidElementType*** if the *Content.Library.ItemModel.library_id* property of createSpec refers to a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the content of the library specified by the library ID (see *Content.Library.ItemModel.library_id*) property of createSpec has been deleted from the storage backings (see LibraryModel#storageBackings) associated with it.\n\n***Vapi.Std.Errors.AlreadyExists*** if there is already a library item with same name in the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the *Content.Library.ItemModel.library_id* property of createSpec refers to a library that does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "Identifier of the new library item.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.Item`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{libraryItemId}": { + "get": { + "tags": [ + "Content.Library.Item" + ], + "description": "Returns the *Content.Library.ItemModel* with the given identifier.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `System.Read`. \n", + "operationId": "Content.Library.Item_get", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item to return.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if no item with the given libraryItemId exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Content.Library.ItemModel* instance with the given libraryItemId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.ItemModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.Library.Item" + ], + "description": "Deletes a library item. \n\n This operation will immediately remove the item from the library that owns it. The content of the item will be asynchronously removed from the storage backings. The content deletion can be tracked with a task. In the event that the task fails, an administrator may need to manually remove the files from the storage backing. \n\n This operation cannot be used to delete a library item that is a member of a subscribed library. Removing an item from a subscribed library requires deleting the item from the original published local library and syncing the subscribed library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `ContentLibrary.DeleteLibraryItem`. \n", + "operationId": "Content.Library.Item_delete", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** if the library item with the given libraryItemId is a member of a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the library item contains a virtual machine template and a virtual machine is checked out of the library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item with the specified libraryItemId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Content.Library.Item" + ], + "description": "Updates the specified properties of a library item. \n\n This is an incremental update to the library item. Properties that are missing or `null` in the update specification are left unchanged. \n\n This operation cannot update a library item that is a member of a subscribed library. Those items must be updated in the source published library and synchronized to the subscribed library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `ContentLibrary.UpdateLibraryItem`. \n", + "operationId": "Content.Library.Item_update", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item to update.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification of the properties to set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.ItemModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** if the library item corresponding to libraryItemId is a member of a subscribed library.\n\n***Vapi.Std.Errors.InvalidArgument*** if one of the following is true for the updateSpec: \n - name is empty\n - name exceeds 80 characters\n - description exceeds 2000 characters\n - version is not equal to the current version of the library item\n \n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the library item belongs to a published library with JSON persistence enabled (see *Content.Library.PublishInfo.persist_json_enabled*) and the content of the library item specified by libraryItemId has been deleted from the storage backings (see LibraryModel#storageBackings) associated with it.\n\n***Vapi.Std.Errors.AlreadyExists*** if there is already a library item with same name in the library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item specified by libraryItemId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item?library_id": { + "get": { + "tags": [ + "Content.Library.Item" + ], + "description": "Returns the identifiers of all items in the given library.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter libraryId requires `System.Read`. \n", + "operationId": "Content.Library.Item_list", + "parameters": [ + { + "name": "library_id", + "in": "query", + "description": " Identifier of the library whose items should be returned.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if the library associated with libraryId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of identifiers of the items in the library specified by libraryId.\n\nThe response will contain identifiers for the resource type: `com.vmware.content.library.Item`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item?action=find": { + "post": { + "tags": [ + "Content.Library.Item" + ], + "description": "Returns identifiers of all the visible (as determined by authorization policy) library items matching the requested *Content.Library.Item.FindSpec*.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.Library` referenced by the property *Content.Library.Item.FindSpec.library_id* requires `System.Read`. \n", + "operationId": "Content.Library.Item_find", + "requestBody": { + "description": " Specification describing what properties to filter on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.FindSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if no properties are specified in the spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "200": { + "description": "The list of identifiers of all the visible library items matching the given spec.\n\nThe response will contain identifiers for the resource type: `com.vmware.content.library.Item`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{libraryItemId}?action=publish": { + "post": { + "tags": [ + "Content.Library.Item" + ], + "description": "Publishes the library item to specified subscriptions of the library. If no subscriptions are specified, then publishes the library item to all subscriptions of the library.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `ContentLibrary.PublishLibraryItem`. \n", + "operationId": "Content.Library.Item_publish", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": "Library item identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: publish", + "content": { + "application/json": { + "schema": { + "required": [ + "force_sync_content" + ], + "type": "object", + "properties": { + "force_sync_content": { + "type": "boolean", + "description": "Whether to synchronize file content as well as metadata. This parameter applies only if the subscription is on-demand." + }, + "subscriptions": { + "type": "array", + "description": "The list of subscriptions to publish this library item to.", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.DestinationSpec" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If one or more arguments in subscriptions is not valid.\n\n***Vapi.Std.Errors.InvalidElementType*** If the library item specified by libraryItemId is a member of a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library item specified by libraryItemId does not belong to a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the library item specified by libraryItemId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/subscribed-item/{libraryItemId}?action=evict": { + "post": { + "tags": [ + "Content.Library.SubscribedItem" + ], + "description": "Evicts the cached content of a library item in a subscribed library. \n\n This operation allows the cached content of a library item to be removed to free up storage capacity. This operation will only work when a library item is synchronized on-demand. When a library is not synchronized on-demand, it always attempts to keep its cache up-to-date with the published source. Evicting the library item will set *Content.Library.ItemModel.cached* to false.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `ContentLibrary.EvictLibraryItem`. \n", + "operationId": "Content.Library.SubscribedItem_evict", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item whose content should be evicted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** if the library item specified by libraryItemId is not a member of a subscribed library.\n\n***Vapi.Std.Errors.InvalidElementConfiguration*** if the library item specified by libraryItemId is a member of a subscribed library that does not synchronize on-demand.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the content of the library item specified by libraryItemId has been deleted from the storage backings (see LibraryModel#storageBackings) associated with it. \n\n For instance, this {@term error) is reported on evicting a library item in an on-demand subscribed library that was restored from backup, and the library item was deleted after backup, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library item is present on a restore, while its content has been deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item specified by libraryItemId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/subscribed-item/{libraryItemId}?action=sync": { + "post": { + "tags": [ + "Content.Library.SubscribedItem" + ], + "description": "Forces the synchronization of an individual library item in a subscribed library. \n\n Synchronizing an individual item will update that item's metadata from the remote source. If the source library item on the remote library has been deleted, this operation will delete the library item from the subscribed library as well. \n\n The default behavior of the synchronization is determined by the *Content.Library.SubscriptionInfo* of the library which owns the library item. \n - If *Content.Library.SubscriptionInfo.on_demand* is true, then the file content is not synchronized by default. In this case, only the library item metadata is synchronized. The file content may still be forcefully synchronized by passing true for the forceSyncContent parameter.\n - If *Content.Library.SubscriptionInfo.on_demand* is false, then this call will always synchronize the file content. The forceSyncContent parameter is ignored when the subscription is not on-demand.\n When the file content has been synchronized, the *Content.Library.ItemModel.cached* property will be true. \n\n This operation will return immediately and create an asynchronous task to perform the synchronization.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `ContentLibrary.SyncLibraryItem`. \n", + "operationId": "Content.Library.SubscribedItem_sync", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item to synchronize.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: sync", + "content": { + "application/json": { + "schema": { + "required": [ + "force_sync_content" + ], + "type": "object", + "properties": { + "force_sync_content": { + "type": "boolean", + "description": " Whether to synchronize file content as well as metadata. This parameter applies only if the subscription is on-demand." + }, + "sync_optional_files": { + "type": "boolean", + "description": " Whether to synchronize optional files. This parameter applies to both types of subscriptions on-demand as well as sync-immediately.\n\nThis parameter was added in __vSphere API 7.0.3.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** if the library item specified by libraryItemId is not a member of a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the content of the library item specified by libraryItemId has been deleted from the storage backings (see LibraryModel#storageBackings) associated with it. \n\n For instance, this {@term error) is reported on synchronizing a library item in a subscribed library that was restored from backup, and the library item was deleted after backup, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library item is present on a restore, while its content has been deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item specified by libraryItemId could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{library}/subscriptions": { + "get": { + "tags": [ + "Content.Library.Subscriptions" + ], + "description": "Lists the subscriptions of the published library.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter library requires `System.Read`. \n", + "operationId": "Content.Library.Subscriptions_list", + "parameters": [ + { + "name": "library", + "in": "path", + "description": "Identifier of the published library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** If the library specified by library is a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library specified by library is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the library specified by library does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of commonly used information about subscriptions of the published library.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.Library.Subscriptions.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Content.Library.Subscriptions" + ], + "description": "Creates a subscription of the published library.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter library requires `ContentLibrary.AddSubscription`. \n", + "operationId": "Content.Library.Subscriptions_create", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: `b8a2a2e3-2314-43cd-a871-6ede0f429751`. This token can be used to guarantee idempotent creation.\n\nIf not specified, creation is not idempotent.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "library", + "in": "path", + "description": "Identifier of the published library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the subscription.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Subscriptions.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** If a subscription of the published library to the specified subscribed library already exists. This is only applicable when subscribedLibrary#subscribedLibrary is specified.\n\n***Vapi.Std.Errors.InvalidArgument*** If *Content.Library.Subscriptions.CreateSpec* contains invalid arguments.\n\n***Vapi.Std.Errors.InvalidElementType*** If the library specified by library is a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library specified by library is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the library specified by library does not exist.\n\n If the subscribed library specified by subscribedLibrary#subscribedLibrary does not exist at the vCenter instance specified by subscribedLibrary#vcenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** If the vCenter instance specified by subscribedLibrary#vcenter cannot be contacted or found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Subscription identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.Subscriptions`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{library}/subscriptions/{subscription}": { + "get": { + "tags": [ + "Content.Library.Subscriptions" + ], + "description": "Returns information about the specified subscription of the published library.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter library requires `System.Read`. \n", + "operationId": "Content.Library.Subscriptions_get", + "parameters": [ + { + "name": "library", + "in": "path", + "description": "Identifier of the published library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subscription", + "in": "path", + "description": "Identifier of the subscription.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Subscriptions`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the subscription is not valid.\n\n***Vapi.Std.Errors.InvalidElementType*** If the library specified by library is a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library specified by library is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the library specified by library does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the subscription.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Subscriptions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.Library.Subscriptions" + ], + "description": "Deletes the specified subscription of the published library. The subscribed library associated with the subscription will not be deleted.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter library requires `ContentLibrary.DeleteSubscription`. \n", + "operationId": "Content.Library.Subscriptions_delete", + "parameters": [ + { + "name": "library", + "in": "path", + "description": "Identifier of the published library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subscription", + "in": "path", + "description": "Subscription identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Subscriptions`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidElementType*** If the library specified by library is a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library specified by library is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the library specified by library does not exist.\n\n If the subscription specified by subscription does not exist for the library specified by library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Content.Library.Subscriptions" + ], + "description": "Updates the specified subscription of the published library. \n\n This is an incremental update to the subscription. Except for the *Content.Library.Subscriptions.UpdateSpecPlacement* schema, properties that are missing or `null` in the update specification will be left unchanged. If spec#subscribedLibraryPlacement is specified, all properties of the current subscribed library placement will be replaced by this placement.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.Library` referenced by the parameter library requires `ContentLibrary.UpdateSubscription`. \n", + "operationId": "Content.Library.Subscriptions_update", + "parameters": [ + { + "name": "library", + "in": "path", + "description": "Identifier of the published library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subscription", + "in": "path", + "description": "subscription identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Subscriptions`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification of the new property values to set on the subscription.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Subscriptions.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If *Content.Library.Subscriptions.UpdateSpec* contains invalid arguments.\n\n***Vapi.Std.Errors.InvalidElementType*** If the library specified by library is a subscribed library.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the library specified by library is not a published library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the library specified by library does not exist.\n\n If the subscription specified by subscription does not exist for the library specified by library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** If the subscribed library cannot be contacted or found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{library}/usages": { + "get": { + "tags": [ + "Content.Library.Usages" + ], + "description": "Retrieves the list of resources currently using a content library. A content library can be safely deleted if no usage is present for that library.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Content.Library.Usages_list", + "parameters": [ + { + "name": "library", + "in": "path", + "description": " The identifier of the content library for which the usage needs to be listed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the content library associated with library does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A *Content.Library.Usages.ListResult* containing the list of resource(s) using the content library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Usages.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Content.Library.Usages" + ], + "description": "Adds a resource usage on a content library. \n\n Adds a usage by a resource on a content library specified by the content library identifier and the associated resource URN. Once a resource usage is added on a content library, the Content Library service will prevent that library from being deleted, unless a force deletion is explicitly specified. This safeguard ensures that actively used libraries are not accidentally deleted which could otherwise disrupt dependent services or workloads. \n\n By default, usage protection applies only to the content library itself and not to the items inside it. This means that even if the library is in use, its individual items can still be deleted. If usage protection on library items is desired, set the *Content.Library.ConfigurationInfo.apply_library_usage_to_items* configuration flag. When this flag is set to `true`, the presence of library usage will also prevent deletion of individual library items inside it, unless the library is forcefully deleted. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.AddLibraryUsage`. \n", + "operationId": "Content.Library.Usages_add", + "parameters": [ + { + "name": "library", + "in": "path", + "description": " The identifier of the content library for which the usage needs to be added.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification for the usage on a content library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Usages.AddSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** If the usage specified by AddSpec#resourceUrn already exists on the given content library.\n\n***Vapi.Std.Errors.InvalidArgument*** If the resource URN specified by AddSpec#resourceUrn is not in a valid format.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If the content library specified by library does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Identifier of the usage on a content library.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.Usages`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/{library}/usages/{usage}": { + "get": { + "tags": [ + "Content.Library.Usages" + ], + "description": "Retrieves the library usage information for a given usage identifier.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Content.Library.Usages_get", + "parameters": [ + { + "name": "library", + "in": "path", + "description": " The identifier of the content library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "usage", + "in": "path", + "description": " The identifier of the content library usage.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Usages`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " \n - If the content library specified by library does not exist. \n - If content library usage specified by usage does not exist. \n ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the usage on a content library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Usages.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.Library.Usages" + ], + "description": "Removes a resource usage on a content library. \n\n Removes the usage of a resource on a content library. Once all the usage on the content library is removed, the content library service will permit deletion of the library. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.RemoveLibraryUsage`. \n", + "operationId": "Content.Library.Usages_remove", + "parameters": [ + { + "name": "library", + "in": "path", + "description": " The identifier of the content library for which the usage needs to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "usage", + "in": "path", + "description": " The usage to be removed from the content library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Usages`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " If the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " \n - If the content library specified by library does not exist. \n - If content library usage specified by usage does not exist. \n ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{libraryItem}/changes": { + "get": { + "tags": [ + "Content.Library.Item.Changes" + ], + "description": "Returns commonly used information about the content changes made to a library item.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItem requires `System.Read`. \n", + "operationId": "Content.Library.Item.Changes_list", + "parameters": [ + { + "name": "libraryItem", + "in": "path", + "description": "Library item identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of commonly used information about the library item changes.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.Changes.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{libraryItem}/changes/{version}": { + "get": { + "tags": [ + "Content.Library.Item.Changes" + ], + "description": "Returns information about a library item change.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItem requires `System.Read`. \n", + "operationId": "Content.Library.Item.Changes_get", + "parameters": [ + { + "name": "libraryItem", + "in": "path", + "description": "Library item identifer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Library item version.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item or version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the specified library item change.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.Changes.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/download-session": { + "get": { + "tags": [ + "Content.Library.Item.DownloadSession" + ], + "description": "Lists the identifiers of the download sessions created by the calling user. Optionally may filter by library item.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.item.DownloadSession` referenced by the parameter libraryItemId requires `ContentLibrary.DownloadSession`. \n", + "operationId": "Content.Library.Item.DownloadSession_list", + "parameters": [ + { + "name": "library_item_id", + "in": "query", + "description": " Library item identifier on which to filter results.\n\nIf not specified all download session identifiers are listed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if a library item identifier is given for an item which does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of identifiers of all download sessions created by the calling user.\n\nThe response will contain identifiers for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Content.Library.Item.DownloadSession" + ], + "description": "Creates a new download session.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the property *Content.Library.Item.DownloadSessionModel.library_item_id* requires `ContentLibrary.DownloadSession`. \n", + "operationId": "Content.Library.Item.DownloadSession_create", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": " A unique token generated by the client for each creation request. The token should be a universally unique identifier (UUID), for example: `b8a2a2e3-2314-43cd-a871-6ede0f429751`. This token can be used to guarantee idempotent creation.\n\nIf not specified creation is not idempotent.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification for the new download session to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.DownloadSessionModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if the session specification is not valid.\n\n format.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "404": { + "description": " if the library item targeted by the download does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "Identifier of the new download session being created.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/download-session/{downloadSessionId}": { + "get": { + "tags": [ + "Content.Library.Item.DownloadSession" + ], + "description": "Gets the download session with the specified identifier, including the most up-to-date status information for the session.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.DownloadSession_get", + "parameters": [ + { + "name": "downloadSessionId", + "in": "path", + "description": " Identifier of the download session to retrieve.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if no download session with the given downloadSessionId exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Content.Library.Item.DownloadSessionModel* instance with the given downloadSessionId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.DownloadSessionModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.Library.Item.DownloadSession" + ], + "description": "Deletes a download session. This removes the session and all information associated with it. \n\n Removing a download session leaves any current transfers for that session in an indeterminate state (there is no guarantee that the transfers will be able to complete). However there will no longer be a means of inspecting the status of those downloads except by seeing the effect on the library item. \n\n Download sessions for which there is no download activity or which are complete will automatically be expired and then deleted after a period of time.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.DownloadSession_delete", + "parameters": [ + { + "name": "downloadSessionId", + "in": "path", + "description": " Identifier of the download session to be deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if the download session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/download-session/{downloadSessionId}?action=keep-alive": { + "post": { + "tags": [ + "Content.Library.Item.DownloadSession" + ], + "description": "Keeps a download session alive. This operation is allowed only if the session is in the *Content.Library.Item.DownloadSessionModel.State.ACTIVE* state. \n\n If there is no activity for a download session for a certain period of time, the download session will expire. The download session expiration timeout is configurable in the Content Library Service system configuration. The default is five minutes. Invoking this operation enables a client to specifically extend the lifetime of an active download session.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.DownloadSession_keepAlive", + "parameters": [ + { + "name": "downloadSessionId", + "in": "path", + "description": " Identifier of the download session whose lifetime should be extended.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: keepAlive", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "progress": { + "type": "integer", + "description": " Optional update to the progress property of the session. If specified, the new progress should be greater then the current progress. See *Content.Library.Item.DownloadSessionModel.client_progress*.\n\nIf not specified the progress is not updated.", + "format": "int64" + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": " if the download session is not in the *Content.Library.Item.DownloadSessionModel.State.ACTIVE* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if no download session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/download-session/{downloadSessionId}?action=cancel": { + "post": { + "tags": [ + "Content.Library.Item.DownloadSession" + ], + "description": "Cancels the download session. This operation will abort any ongoing transfers and invalidate transfer urls that the client may be downloading from.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.DownloadSession_cancel", + "parameters": [ + { + "name": "downloadSessionId", + "in": "path", + "description": " Identifer of the download session that should be canceled.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the download session is not in the *Content.Library.Item.DownloadSessionModel.State.ACTIVE* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if no download session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/download-session/{downloadSessionId}?action=fail": { + "post": { + "tags": [ + "Content.Library.Item.DownloadSession" + ], + "description": "Terminates the download session with a client specified error message. \n\n This is useful in transmitting client side failures (for example, not being able to download a file) to the server side.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.DownloadSession_fail", + "parameters": [ + { + "name": "downloadSessionId", + "in": "path", + "description": " Identifier of the download session to fail.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: fail", + "content": { + "application/json": { + "schema": { + "required": [ + "client_error_message" + ], + "type": "object", + "properties": { + "client_error_message": { + "type": "string", + "description": " Client side error message. This can be useful in providing some extra details about the client side failure. Note that the message won't be translated to the user's locale." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if the download session is not in the *Content.Library.Item.DownloadSessionModel.State.ACTIVE* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if the download session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{libraryItemId}/file?name": { + "get": { + "tags": [ + "Content.Library.Item.File" + ], + "description": "Retrieves the information for a single file in a library item by its name.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `System.Read`. \n", + "operationId": "Content.Library.Item.File_get", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item whose file information should be returned.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "name", + "in": "query", + "description": " Name of the file in the library item whose information should be returned.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if *Content.Library.Item.File.Info.file_download_endpoint* URI cannot be constructed for the file due to unsupported characters in file name.\n\nThis error was added in __vSphere API 9.0.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "404": { + "description": " if libraryItemId refers to a library item that does not exist.\n\n if name refers to a file that does not exist in the library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Content.Library.Item.File.Info* object with information on the specified file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.File.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{libraryItemId}/file": { + "get": { + "tags": [ + "Content.Library.Item.File" + ], + "description": "Lists all of the files that are stored within a given library item.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `System.Read`. \n", + "operationId": "Content.Library.Item.File_list", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item whose files should be listed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if *Content.Library.Item.File.Info.file_download_endpoint* URI cannot be constructed for the file due to unsupported characters in file name.\n\nThis error was added in __vSphere API 9.0.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "404": { + "description": " if libraryItemId refers to a library item that does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of all of the files that are stored within the given library item.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.File.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{libraryItemId}/storage?file_name": { + "get": { + "tags": [ + "Content.Library.Item.Storage" + ], + "description": "Retrieves the storage information for a specific file in a library item.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `ContentLibrary.ReadStorage`. \n", + "operationId": "Content.Library.Item.Storage_get", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item whose storage information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "file_name", + "in": "query", + "description": " Name of the file for which the storage information should be listed.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if the specified library item does not exist.\n\n if the specified file does not exist in the given library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of all the storage items for the given file within the given library item.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.Storage.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/{libraryItemId}/storage": { + "get": { + "tags": [ + "Content.Library.Item.Storage" + ], + "description": "Lists all storage items for a given library item.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItemId requires `ContentLibrary.ReadStorage`. \n", + "operationId": "Content.Library.Item.Storage_list", + "parameters": [ + { + "name": "libraryItemId", + "in": "path", + "description": " Identifier of the library item whose storage information should be listed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if the specified library item does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of all storage items for a given library item.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.Storage.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session": { + "get": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Lists the identifiers of the update session created by the calling user. Optionally may filter by library item.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.item.UpdateSession` referenced by the parameter libraryItemId requires `ContentLibrary.UpdateSession`. \n", + "operationId": "Content.Library.Item.UpdateSession_list", + "parameters": [ + { + "name": "library_item_id", + "in": "query", + "description": " Optional library item identifier on which to filter results.\n\nIf not specified the results are not filtered.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if a library item identifier is given for an item which does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of identifiers of all update sessions created by the calling user.\n\nThe response will contain identifiers for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Creates a new update session. An update session is used to make modifications to a library item. Modifications are not visible to other clients unless the session is completed and all necessary files have been received. \n\n Content Library Service allows only one single update session to be active for a specific library item.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.content.library.Item` referenced by the property *Content.Library.Item.UpdateSessionModel.library_item_id* requires `ContentLibrary.UpdateSession`. \n", + "operationId": "Content.Library.Item.UpdateSession_create", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": " Unique token generated by the client for each creation request. The token should be a universally unique identifier (UUID), for example: `b8a2a2e3-2314-43cd-a871-6ede0f429751`. This token can be used to guarantee idempotent creation.\n\nIf not specified creation is not idempotent.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification for the new update session to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.UpdateSessionModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if the session specification is not valid.\n- if the clientToken does not conform to the UUID format.\n\n***Vapi.Std.Errors.InvalidElementType*** if the update session is being created on a subscribed library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": " if there is another update session on the same library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": " if the item targeted for update does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "Identifier of the new update session being created.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session/{updateSessionId}": { + "get": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Gets the update session with the specified identifier, including the most up-to-date status information for the session.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.UpdateSession_get", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session to retrieve.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Content.Library.Item.UpdateSessionModel* instance with the given updateSessionId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.UpdateSessionModel" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Deletes an update session. This removes the session and all information associated with it. \n\n Removing an update session leaves any current transfers for that session in an indeterminate state (there is no guarantee that the server will terminate the transfers, or that the transfers can be completed). However there will no longer be a means of inspecting the status of those uploads except by seeing the effect on the library item. \n\n Update sessions for which there is no upload activity or which are complete will automatically be deleted after a period of time.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.UpdateSession_delete", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifer of the update session to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the update session is in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if the update session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Updates the properties of an update session. \n\n This is an incremental update to the update session. Any property in the *Content.Library.Item.UpdateSessionModel* schema that is missing or `null` will not be modified. \n\n This operation will only update the property *Content.Library.Item.UpdateSessionModel.warning_behavior* of the update session. This will not, for example, update the *Content.Library.Item.UpdateSessionModel.library_item_id* or *Content.Library.Item.UpdateSessionModel.state* of an update session. \n\n This operation requires the session to be in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state.\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.UpdateSession_update", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifer of the update session that should be updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification for the new property values to be set on the update session.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.UpdateSessionModel" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the update session is not in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state.\n\n***Vapi.Std.Errors.InvalidArgument*** if the update session specification is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the update session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session/{updateSessionId}?action=complete": { + "post": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Completes the update session. This indicates that the client has finished making all the changes required to the underlying library item. If the client is pushing the content to the server, the library item will be updated once this call returns. If the server is pulling the content, the call may return before the changes become visible. In that case, the client can track the session to know when the server is done. \n\n This operation requires the session to be in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state. \n\n Depending on the type of the library item associated with this session, a type adapter may be invoked to verify the validity of the files uploaded. The user can explicitly validate the session before completing the session by using the *POST /content/library/item/update-session/{updateSessionId}/file?action=validate* operation. \n\n Modifications are not visible to other clients unless the session is completed and all necessary files have been received.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.UpdateSession_complete", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session that should be completed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the update session is not in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state, or if some of the files that will be uploaded by the client aren't received correctly.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session/{updateSessionId}?action=keep-alive": { + "post": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Keeps an update session alive. \n\n If there is no activity for an update session after a period of time, the update session will expire, then be deleted. The update session expiration timeout is configurable in the Content Library Service system configuration. The default is five minutes. Invoking this operation enables a client to specifically extend the lifetime of the update session.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.UpdateSession_keepAlive", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session whose lifetime should be extended.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: keepAlive", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "client_progress": { + "type": "integer", + "description": " Optional update to the progress property of the session. If specified, the new progress should be greater then the current progress. See *Content.Library.Item.UpdateSessionModel.client_progress*.\n\nIf not specified the progress is not updated.", + "format": "int64" + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": " if the update session is not in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session/{updateSessionId}?action=cancel": { + "post": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Cancels the update session and sets its state to *Content.Library.Item.UpdateSessionModel.State.CANCELED*. This operation will free up any temporary resources currently associated with the session. \n\n This operation is not allowed if the session has been already completed. \n\n Cancelling an update session will cancel any in progress transfers (either uploaded by the client or pulled by the server). Any content that has been already received will be scheduled for deletion.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.UpdateSession_cancel", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session that should be canceled.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the update session is not in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session/{updateSessionId}?action=fail": { + "post": { + "tags": [ + "Content.Library.Item.UpdateSession" + ], + "description": "Terminates the update session with a client specified error message. \n\n This is useful in transmitting client side failures (for example, not being able to access a file) to the server side.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.UpdateSession_fail", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session to fail.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: fail", + "content": { + "application/json": { + "schema": { + "required": [ + "client_error_message" + ], + "type": "object", + "properties": { + "client_error_message": { + "type": "string", + "description": " Client side error message. This can be useful in providing some extra details about the client side failure. Note that the message won't be translated to the user's locale." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if the update session is not in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if the update session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/download-session/{downloadSessionId}/file": { + "get": { + "tags": [ + "Content.Library.Item.Downloadsession.File" + ], + "description": "Lists the information of all the files in the library item associated with the download session.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.Downloadsession.File_list", + "parameters": [ + { + "name": "downloadSessionId", + "in": "path", + "description": " Identifier of the download session.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if the download session associated with downloadSessionId doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of *Content.Library.Item.Downloadsession.File.Info* instances.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.Downloadsession.File.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/download-session/{downloadSessionId}/file?action=prepare": { + "post": { + "tags": [ + "Content.Library.Item.Downloadsession.File" + ], + "description": "Requests a file to be prepared for download.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.Downloadsession.File_prepare", + "parameters": [ + { + "name": "downloadSessionId", + "in": "path", + "description": " Identifier of the download session.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: prepare", + "content": { + "application/json": { + "schema": { + "required": [ + "file_name" + ], + "type": "object", + "properties": { + "file_name": { + "type": "string", + "description": " Name of the file requested for download." + }, + "endpoint_type": { + "type": "string", + "description": " Endpoint type request, one of EndpointType. This will determine the type of the *Content.Library.Item.Downloadsession.File.Info.download_endpoint* that is generated when the file is prepared. The *Content.Library.Item.Downloadsession.File.EndpointType.DIRECT* is only available to users who have the ContentLibrary.ReadStorage privilege.\n\nPossible values:\n - `HTTPS`: An https download endpoint.\n - `DIRECT`: A direct download endpoint indicating the location of the file on storage. The caller is responsible for retrieving the file from the storage location directly.\n\n\nFor more information see: *Content.Library.Item.Downloadsession.File.EndpointType*.\n\nIf not specified the default is *Content.Library.Item.Downloadsession.File.EndpointType.HTTPS*." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if there is no file with the specified fileName.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "403": { + "description": " if the the download session wasn't created with the ContentLibrary.ReadStorage privilege and the caller requested a *Content.Library.Item.Downloadsession.File.EndpointType.DIRECT* endpoint type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the download session does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "File information containing the status of the request and the download link to the file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.Downloadsession.File.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/download-session/{downloadSessionId}/file?file_name": { + "get": { + "tags": [ + "Content.Library.Item.Downloadsession.File" + ], + "description": "Retrieves file download information for a specific file.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.Downloadsession.File_get", + "parameters": [ + { + "name": "downloadSessionId", + "in": "path", + "description": " Identifier of the download session.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "file_name", + "in": "query", + "description": " Name of the file requested.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if there is no file with the specified fileName.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "404": { + "description": " if the download session associated with downloadSessionId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Content.Library.Item.Downloadsession.File.Info* instance containing the status of the file and its download link if available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.Downloadsession.File.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session/{updateSessionId}/file?action=validate": { + "post": { + "tags": [ + "Content.Library.Item.Updatesession.File" + ], + "description": "Validates the files in the update session with the referenced identifier and ensures all necessary files are received. \n\n In the case where a file is missing, this operation will return its name in the *Content.Library.Item.Updatesession.File.ValidationResult.missing_files* set. The user can add the missing files and try re-validating. For other type of errors, *Content.Library.Item.Updatesession.File.ValidationResult.invalid_files* will contain the list of invalid files.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.Updatesession.File_validate", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session to validate.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the update session is not in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE* state, or if some of the files that will be uploaded by the client aren't received correctly.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": " if no update session with the given identifier exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A validation result containing missing files or invalid files and the reason why they are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.File.ValidationResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session/{updateSessionId}/file": { + "get": { + "tags": [ + "Content.Library.Item.Updatesession.File" + ], + "description": "Lists all files in the library item associated with the update session.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.Updatesession.File_list", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " if the update session doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of the files in the library item associated with the update session. This list may be empty if the caller has removed all the files as part of this session (in which case completing the update session will result in an empty library item).", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.File.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Content.Library.Item.Updatesession.File" + ], + "description": "Requests file content to be changed (either created, or updated). \n\n Depending on the source type of the file, this operation will either return an upload endpoint where the client can push the content, or the server will pull from the provided source endpoint. If a file with the same name already exists in this session, this operation will be used to update the content of the existing file. \n\n When importing a file directly from storage, where the source endpoint is a file or datastore URI, you will need to have the ContentLibrary.ReadStorage privilege on the library item. If the file is located in the same directory as the library storage backing folder, the server will move the file instead of copying it, thereby allowing instantaneous import of files for efficient backup and restore scenarios. In all other cases, a copy is performed rather than a move.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.Updatesession.File_add", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session to be modified.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification for the file that needs to be added or updated. This includes whether the client wants to push the content or have the server pull it.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.File.AddSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the fileSpec is invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if the content of the library item associated with the update session has been deleted from the storage backings (see LibraryModel#storageBackings) associated with it.\n- if metadata files such as manifest and certificate file are added after the OVF descriptor file. This is applicable to update sessions with library item type OVF only. This error was added in vSphere 6.8.0.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": " if the caller doesn't have ContentLibrary.ReadStorage privilege on the library item of the update session and source type *Content.Library.Item.Updatesession.File.SourceType.PULL* is requested for a file or datastore source endpoint (that is, not HTTP or HTTPs based endpoint).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the update session doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "An *Content.Library.Item.Updatesession.File.Info* schema containing upload links as well as server side state tracking the transfer of the file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.File.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/content/library/item/update-session/{updateSessionId}/file/{fileName}": { + "get": { + "tags": [ + "Content.Library.Item.Updatesession.File" + ], + "description": "Retrieves information about a specific file in the snapshot of the library item at the time when the update session was created.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.Updatesession.File_get", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "fileName", + "in": "path", + "description": " Name of the file.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the file doesn't exist in the library item associated with the update session.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "404": { + "description": " if the update session doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.File.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Content.Library.Item.Updatesession.File" + ], + "description": "Requests a file to be removed. \n\n The file will only be effectively removed when the update session is completed.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Content.Library.Item.Updatesession.File_remove", + "parameters": [ + { + "name": "updateSessionId", + "in": "path", + "description": " Identifier of the update session.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "fileName", + "in": "path", + "description": " Name of the file to be removed.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the file doesn't exist in the library item associated with the update session.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "404": { + "description": " if the update session doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/hcl/compatibility-data/status": { + "get": { + "tags": [ + "Esx.Hcl.CompatibilityData" + ], + "description": "Provides information about the compatibility data located on the vCenter Appliance.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Hcl.CompatibilityData_get", + "responses": { + "400": { + "description": "if there is no compatibility data on the vCenter executing the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if the vCenter this API is executed on is not part of the Customer Experience Improvement Program (CEIP).\n\n***Vapi.Std.Errors.Error*** If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the compatibility data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Hcl.CompatibilityData.Status" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/hcl/compatibility-data?action=download&vmw-task=true": { + "post": { + "tags": [ + "Esx.Hcl.CompatibilityData" + ], + "description": "Replaces the local compatibility data with the latest version found from VMware official source.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Hcl.CompatibilityData_update$Task", + "responses": { + "400": { + "description": "if there is compatibility data update in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if the vCenter this API is executed on is not part of the Customer Experience Improvement Program (CEIP).\n\n***Vapi.Std.Errors.Error*** If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/hcl/reports/{report}": { + "get": { + "tags": [ + "Esx.Hcl.Reports" + ], + "description": "Returns the location *Esx.Hcl.Reports.Location* information for downloading a compatibility report.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Hcl.Reports_get", + "parameters": [ + { + "name": "report", + "in": "path", + "description": "identifier of hardware compatibility report to be downloaded.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.hcl.resources.CompatibilityReport`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if the vCenter this API is executed on is not part of the Customer Experience Improvement Program (CEIP).\n\n***Vapi.Std.Errors.Error*** If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no report for the given id.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Esx.Hcl.Reports.Location schema which includes the URI to file, short lived token and expiry of the token in the *Esx.Hcl.Reports.Location* object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Hcl.Reports.Location" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/hcl/hosts/{host}/compatibility-releases": { + "get": { + "tags": [ + "Esx.Hcl.Hosts.CompatibilityReleases" + ], + "description": "Lists the locally available ESXi releases for a given host that can be used to generate a compatibility report. Each host has its own list of supported releases depending on its current release.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Hcl.Hosts.CompatibilityReleases_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Contains the MoID identifying the ESXi host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if there is no compatibility data on the vCenter executing the operation.\n\n***Vapi.Std.Errors.Unsupported*** if the provided host is not supported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no host with the given MoID can be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.InternalServerError*** If there is some internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the vCenter this API is executed on is not part of the Customer Experience Improvement Program (CEIP).\n\n***Vapi.Std.Errors.Error*** If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Available releases for compatibility for a specified host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReleases.EsxiCompatibilityReleases" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/hcl/hosts/{host}/compatibility-report": { + "get": { + "tags": [ + "Esx.Hcl.Hosts.CompatibilityReport" + ], + "description": "Returns the last generated hardware compatibility report for the given host.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Hcl.Hosts.CompatibilityReport_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "The parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if the vCenter this API is executed on is not part of the Customer Experience Improvement Program (CEIP).\n\n***Vapi.Std.Errors.Error*** If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no report generated for the given host. This operation does not check if the host id is valid or it exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReport.Result" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/hcl/hosts/{host}/compatibility-report?vmw-task=true": { + "post": { + "tags": [ + "Esx.Hcl.Hosts.CompatibilityReport" + ], + "description": "Generates hardware compatibility report for a specified ESXi host against specific ESXi release.\n\n The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Hcl.Hosts.CompatibilityReport_create$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Contains the MoID identifying the ESXi host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specifies the input parameters for generating compatibility report.\n\nIf missing or `null` host compatibility will be checked against the current release of the ESXi.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReport.Spec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if the provided host is not supported.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if there is no compatibility data on the vCenter executing the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if the vCenter this API is executed on is not part of the Customer Experience Improvement Program (CEIP).\n\n***Vapi.Std.Errors.Error*** If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if no host with the given MoID can be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Esx.Hcl.Hosts.CompatibilityReport.Result schema that contains the requested report and the identifier of the report.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/software": { + "get": { + "tags": [ + "Esx.Hosts.Software" + ], + "description": "Returns details about the current software specification applied to the host.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Hosts.Software_get", + "requestBody": { + "description": "ConnectionSpec connection spec for the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Hosts.Software.ConnectionSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the ConnectionSpec.HostCredentials property of spec is invalid or the hash algorithm used to generate ConnectionSpec.HostCredentials#sslThumbPrint is not SHA-1 or SHA-256.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the target node cannot be validated by comparing with the thumbprint provided in ConnectionSpec.HostCredentials#sslThumbPrint or the full certificate provided in ConnectionSpec.HostCredentials#sslCertificate. The value of the {@link UnverifiedPeer#data) {@term field} will be a {@term structure} that contains the {@term fields} defined in {@link com.vmware.esx.hosts.CertificateInfo}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no ConnectionSpec.HostCredentials#hostName property associated with host id in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Info details about the current software specification applied to the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Hosts.Software.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/hosts/{host}/software/installed-components": { + "get": { + "tags": [ + "Esx.Hosts.Software.InstalledComponents" + ], + "description": "Returns the installed components on the host.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Hosts.Software.InstalledComponents_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InternalServerError" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The components installed on the host.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.hosts.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.Software.InstalledComponents.InstalledComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots?action=sync&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Depots" + ], + "description": "Syncs the metadata from the currently configured online or umds depots. If any umds depot is set, then metadata is downloaded from that depot else metadata is downloaded from the online depots. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Depots_sync$Task", + "requestBody": { + "description": " Depot sync operation spec.\n\nThis parameter was added in __vSphere API 9.0.0.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.SyncSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.TimedOut*** if the service is timed out.\n\n***Vapi.Std.Errors.Error*** if there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory?action=apply&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Inventory" + ], + "description": "\n\nApplies the assigned desired software specification to hosts contained in the provided inventories. \n\nThe result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.EntitySpec.hosts* requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.EntitySpec.clusters* requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.EntitySpec.datacenters* requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.EntitySpec.folders* requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n", + "operationId": "Esx.Settings.Inventory_apply$Task", + "requestBody": { + "description": "Apply specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ApplySpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If some of the provided inventories doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is an unknown internal error or if the EULA has not been accepted. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result summaries of the com.vmware.esx.settings.repository.Inventory#apply operation for the inventories.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory?action=assign-entities&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Inventory" + ], + "description": "Assign a software specification from the repository to the entities. If the input for this API is vcenter, datacenter or folder, the software specification will be assigned to all the clusters and SAH under those entities. If the input of this API is list of entities(cluster or SAH), the software specification will be assigned to only those entities.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.EntitySpec.hosts* requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.EntitySpec.clusters* requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.EntitySpec.datacenters* requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.EntitySpec.folders* requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Inventory_assignEntities$Task", + "requestBody": { + "description": "Describe the software specification and the inventory objects on which the specified operation will be performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.AssignEntitiesSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpecId in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Assignment result of all the entities.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory?action=check&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Inventory" + ], + "description": "\n\nRuns checks on the inventories against the provided software specification or the assigned software specification before applying the desired software specification across all hosts in the inventories. \n\nChecks if all hosts in the inventories are in a good state to be updated with the provided software specification by identifier or the assigned desired software specifications. \n\nThe result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.EntitySpec.hosts* requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.EntitySpec.clusters* requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.EntitySpec.datacenters* requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.EntitySpec.folders* requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n", + "operationId": "Esx.Settings.Inventory_check$Task", + "requestBody": { + "description": "The specification for check operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.CheckSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If some of the provided inventories doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is unknown internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result summaries of the com.vmware.esx.settings.repository.Inventory#check operation for the inventories.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory?action=extract-installed-image&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Inventory" + ], + "description": "Extract installed image from all the entities specified in the input spec. This API works for all the clusters and SAH managed by Baselines. If the input for this API is vCenter, datacenter or folder it will fetch all the clusters and SAH managed by Baseline and extract currently installed image from these entities. If the input of this API is list of entities(cluster and SAH), it will fetch the currently installed image of defined entries only.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.EntitySpec.hosts* requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.EntitySpec.clusters* requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.EntitySpec.folders* requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.EntitySpec.datacenters* requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Inventory_extractInstalledImage$Task", + "requestBody": { + "description": "Describe the inventory objects on which the specified operation will be performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ExtractInstalledImageSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If invalid *Esx.Settings.Inventory.ExtractInstalledImageSpec* is passed as an input.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no entity associated in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "installed image of all the entities.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory?action=scan&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Inventory" + ], + "description": "\n\nScans all the hosts in provided inventories against the provided software specification by identifier or the software specifications assigned to hosts or their parents/accestors in the inventory. \n\nThe result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.EntitySpec.hosts* requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.EntitySpec.clusters* requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.EntitySpec.datacenters* requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.EntitySpec.folders* requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Inventory_scan$Task", + "requestBody": { + "description": "The scan specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ScanSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If some of the provided inventories doesn't exist and/or if the provided software specification doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result summaries of the com.vmware.esx.settings.repository.Inventory#scan operation for the inventories.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory?action=stage&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Inventory" + ], + "description": "\n\nStages the assigned desired software specification to the hosts contained in the provided inventories. \n\nThe result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.EntitySpec.hosts* requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.EntitySpec.clusters* requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.EntitySpec.datacenters* requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.EntitySpec.folders* requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n", + "operationId": "Esx.Settings.Inventory_stage$Task", + "requestBody": { + "description": "The stage specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.StageSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If some of the provided inventories doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is an unknown internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result summaries of the com.vmware.esx.settings.repository.Inventory#stage operation for the inventories.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory?action=transition&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Inventory" + ], + "description": "Transition the cluster or SAH managed by baseline to single image. This API works for all the clusters and SAH managed by Baselines. If the input for this API is vCenter, datacenter or folder it will fetch all the clusters and SAH managed by Baselines and transition them to single image. If the input of this API is list of entities(cluster or SAH), it will transition only them to single image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.EntitySpec.hosts* requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.EntitySpec.clusters* requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.EntitySpec.folders* requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.EntitySpec.datacenters* requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Inventory_transition$Task", + "requestBody": { + "description": "Describe the inventory objects on which the specified operation will be performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.TransitionSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If invalid *Esx.Settings.Inventory.TransitionSpec* is passed as an input", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no entity associated in the system", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "transition result of all the entities.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory?action=update-vum-capability&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Inventory" + ], + "description": "Update the VUM capability at vCenter level. This API examines all the clusters managed by Baselines (VUM) and if it finds that a cluster needs VUM operations then it will set (enable) the VUM capability at vCenter. If none of the clusters need VUM operations then it will reset (disable) VUM capability at vCenter. Example: If the workflow identifies that a given cluster has hosts belonging to different vendors then the API will determine that the cluster needs VUM operations and enable the same on vCenter.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Inventory_updateVumCapability$Task", + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is some unknown error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "VUM operations are enabled or not.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration" + ], + "description": "Get the cluster configuration and related metadata. The configuration returned by this API only contains the user-visible configuration properties available for a the cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "commit", + "in": "query", + "description": "Identifier of the commit to get.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "doc_structure", + "in": "query", + "description": "Possible values:\n - `HOST_ORIENTED`: The host-specific portions of the document are stored in the \"host-specific\" object at the top-level with entries for each host, organized by the host's BIOS UUID.\n - `PROFILE_ORIENTED`: The host-specific portions of the document are distributed through the \"profile\" object hierarchy. Each property that is host-specific will be an object with entries for each host where the property is defined. The hosts in the object are organized by BIOS UUID.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.DocumentStructure*.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no commit associated with commit in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration?action=exportConfig": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration" + ], + "description": "This API will export the configuration associated with the cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Export`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Export`. \n", + "operationId": "Esx.Settings.Clusters.Configuration_exportConfig", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster on which operation should be performed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the cluster is not found in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is some other unknown internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut***", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "This output structure of type com.vmware.esx.settings.clusters.Configuration#ExportResult contains the configuration document encoded as JSON.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ExportResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration?action=apply&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration" + ], + "description": "Applies the cluster configuration associated with the cluster on the hosts associated with the cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Remediate`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Remediate`. \n", + "operationId": "Esx.Settings.Clusters.Configuration_apply$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The Apply specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ApplySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** If the cluster is already at the specified commit as described in the apply specification.\n\n***Vapi.Std.Errors.InvalidArgument*** If the *Esx.Settings.Clusters.Configuration.ApplySpec.commit* property of spec specifies an invalid commit, or the *Esx.Settings.Clusters.Configuration.ApplySpec.hosts* property of spec specifies an invalid host or a host that is not part of the cluster, or the cluster is not managed with a configuration specification. Also thrown if the specified cluster is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster found in the inventory or no *Esx.Settings.Clusters.Configuration.ApplySpec.commit* associated with cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is an unknown internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the API timed out before completion.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The output structure of type *Esx.Settings.Clusters.Configuration.ApplyResult* containing the result of this operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration?action=checkCompliance&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration" + ], + "description": "Check all the hosts in the cluster for compliance with the desired document.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration_checkCompliance$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If API is called on a cluster that is not managed by desired configuration management platform.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If an internal error occurred. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the API timed out before completion.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration?action=validate&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.2.0__. The desired cluster configuration is validated as part of *POST /esx/settings/clusters/{cluster}/configuration?action=checkCompliance* *POST /esx/settings/clusters/{cluster}/configuration?action=precheck* APIs. \n\nCheck whether the desired cluster configuration is valid.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration_validate$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If API is called on a cluster that is not managed by desired configuration management platform.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If an internal error occurred. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the API timed out before completion.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration?action=precheck&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration" + ], + "description": "This API will perform precheck of the desired cluster configuration on each of the hosts in the cluster. The API will check against the desired image schema whether the desired configuration has added any requirements for the host to be put in maintenance mode or to be rebooted. The API will also invoke plugins provided by the configuration owner to detect if the host needs to be put in maintenance mode or to be rebooted. If any host needs to be put in maintenance mode or rebooted, prechecks will be performed at the cluster and host level. The result will specify the validation errors if the desired configuration is not valid on the host. If valid, the result will specify host impact of the desired configuration, and list the configurations that will change on applying the desired configuration. If host impact is maintenance mode or reboot, precheck results will also be specified in the result.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration_precheck$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster on which to perform precheck.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If API is called on a cluster that is not managed by desired configuration management platform.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the cluster is not found in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***\n\n***Vapi.Std.Errors.TimedOut*** If the API timed out before completion.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "This output structure of type com.vmware.esx.settings.clusters.Configuration#ClusterPrecheckResult represents results of the impact analysis and precheck executed on each of the hosts for the desired configuration. If the precheck could not be performed on a host, the com.vmware.esx.settings.clusters.Configuration.ClusterPrecheckResult#hostStatus map will contain the reason.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration?action=importConfig&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.2.0__. Use com.vmware.esx.settings.clusters.configuration.Drafts#Create instead. \n\nThis API replaces the existing desired configuration of the cluster with the configuration provided in the input parameter document. The API will internally validate the input configuration against the configuration schema derived from the cluster software specification associated with the cluster. If the input configuration document passes validation, then it will be the desired configuration of the cluster. The result will specify whether the input document was import successfully. The result will also list the validation errors in case the import operation failed.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration_importConfig$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster on which this operation must be performed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "An Esx.Settings.Clusters.Configuration.ImportSpec that contains the new desired configuration for the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ImportSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the cluster is not found in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "This output structure of type com.vmware.esx.settings.clusters.Configuration#ImportResult contains the result of this operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/depot-overrides": { + "get": { + "tags": [ + "Esx.Settings.Clusters.DepotOverrides" + ], + "description": "Returns the information about currently configured depot overrides for a given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Clusters.DepotOverrides_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about currently configured depot overrides for a given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.DepotOverrides.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/depot-overrides?action=add": { + "post": { + "tags": [ + "Esx.Settings.Clusters.DepotOverrides" + ], + "description": "Adds a new depot override to the list of currently configured depot overrides for a given cluster. \n\n __Warning:__ Using HTTP is not secure. Please use HTTPS URLs instead.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Clusters.DepotOverrides_add", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information of a depot override.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.DepotOverrides.Depot" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If an invalid location is provided.\n\n***Vapi.Std.Errors.AlreadyExists*** if depot override with given information already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/depot-overrides?action=remove": { + "post": { + "tags": [ + "Esx.Settings.Clusters.DepotOverrides" + ], + "description": "Removes a depot override from the list of currently configured depot overrides for a given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Clusters.DepotOverrides_remove", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information of the depot override to be removed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.DepotOverrides.Depot" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot override with given information or no cluster associated with identifier {param.name cluster} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/installed-images": { + "get": { + "tags": [ + "Esx.Settings.Clusters.InstalledImages" + ], + "description": "Returns the last extracted installed Image info.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Clusters.InstalledImages_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "last extracted installed images for the cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.InstalledImages.InstalledImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/installed-images?action=extract&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.InstalledImages" + ], + "description": "Extract installed images on all the hosts in the cluster. The API will work irrespective of whether a cluster is managed by single software image or not. If the cluster is not managed by single software image, it will first check the possibility to manage with single software image and if this check is successful then only it will extract the installed images on all the hosts. If the cluster is managed by single software image, it will skip eligibility check and directly extract the installed images on all the hosts.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Clusters.InstalledImages_extract$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the host does not meet the vLCM transition eligibility criteria", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Installed images for the cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software" + ], + "description": "Returns the complete desired software specification. In case of Single Image Cluster, the specification will contain Default Image In case of Composite Image Cluster, the specification will contain Default Image + Alternative Images\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Cluster software specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software?image=default": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software" + ], + "description": "Returns the default image. In case of Single Image Cluster, get API result == getDefaultImage API result In case of Composite Image Cluster, this API could be used to get only the Default Image\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Esx.Settings.Clusters.Software_getDefaultImage", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Cluster software specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software?action=export": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software" + ], + "description": "Exports the desired software specification document and/or image. \n\n This API will not export the solution section of the desired software specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software_export", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The export specification to specify data types to be exported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.ExportSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is am unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A map from export type to URL of the exported data for that type.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "uri" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/display-name": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software" + ], + "description": "Returns the display name of the software specification in the repository that is assigned to the cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software_getDisplayName", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "display name of the software specification in the repository that is assigned to cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software?action=scan&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software" + ], + "description": "Scans all the hosts in the cluster against the cluster's desired state. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software_scan$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Compliance result for the cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software?action=stage&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software" + ], + "description": "Stages the desired software document associated with the given cluster to hosts within the cluster. \n\n If commit property is set, it implies the minimum commit that the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation should use, however if subsequent commits have been made to the desired state document the stage operation will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software_stage$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "stage specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.StageSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the commit property of spec specifies an invalid commit, or the hosts property of spec specifies an invalid host or a host not part of the cluster, or the cluster is not managed with a single software specification.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is another operation in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is an unknown internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result of the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software?action=apply&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software" + ], + "description": "Applies the desired software document associated with the given cluster to hosts within the cluster. \n\n If commit property is set, it implies the minimum commit that the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation should use, however if subsequent commits have been made to the desired state document the apply operation will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software_apply$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Apply specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.ApplySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** If the cluster is already at specified commit as described in the apply specification.\n\n***Vapi.Std.Errors.InvalidArgument*** If the commit property of spec specifies an invalid commit, or the hosts property of spec specifies an invalid host or a host not part of the cluster, or the cluster is not managed with a single software specification.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is another operation in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is an unknown internal error or if the EULA has not been accepted. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result of the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software?action=check&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software" + ], + "description": "Runs checks on the cluster before applying the desired software document across all hosts in the cluster. \n\n Checks if all hosts in the cluster are in a good state to be updated with the desired software document. If commit property is set it implies the minimum commit that the check operation should use, however if subsequent commits have been made to the desired state document the check operation will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software_check$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Check specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.CheckSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the commit property of spec specifies an invalid commit, or the hosts property of spec specifies an invalid host or a host not part of the cluster.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is another operation in progress or if the commit property of spec specifies a commit that has already been applied.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is unknown internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The results of all checks performed.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/audit-records": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.AuditRecords" + ], + "description": "Retrieves audit information about the configuration actions performed on the cluster.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.AuditRecords_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filters", + "in": "query", + "description": "used to filter the audit records.\n\nIf missing or `null` returns all available audit records associated with cluster", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.AuditRecords.FilterSpec" + } + }, + { + "name": "operations", + "in": "query", + "description": "List of audit records that match the given operations An operation in operations can be any of \n - Import\n - Export\n - Remediate\n - Checkcompliance\n - Precheck\n - Transition-Enable\n - Draft-List\n - Draft-Create\n - Draft-ImportFromHost\n - Draft-Get\n - Draft-ExportConfig\n - Draft-Update\n - Draft-ShowChanges\n - Draft-CheckCompliance\n - Draft-Precheck\n - Draft-Delete\n - Draft-Apply\n - Draft-GetSchema\n \n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null` or empty, records with any operation match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "usernames", + "in": "query", + "description": "List of audit records that match the given users\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null` or empty, records with any users match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "start", + "in": "query", + "description": "List of audit records that match the given start time i.e. occurred after the DateTime start.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "required": false, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end", + "in": "query", + "description": "List of audit records that match the given end time i.e. occurred before the DateTime end.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "required": false, + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "401": { + "description": "if the session id is missing from the request or the corresponding session object cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "audit Information about the cluster associated with cluster.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.AuditRecords.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Get the active drafts for this cluster.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of drafts keyed by their identifiers.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.Metadata" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Create a new draft with the given values. If a configuration is supplied in the spec, it will be used as the initial value. Otherwise, the current desired configuration will be used as the initial value. The *Esx.Settings.Clusters.Configuration.Drafts.Metadata.owner* field will be set to the caller's user ID and the *Esx.Settings.Clusters.Configuration.Drafts.Metadata.parent_id* will be set to the current commit ID for the cluster.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_create", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Options used when creating the new draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.CreateSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** If there is already a draft by this author for this cluster.\n\n***Vapi.Std.Errors.InvalidArgument*** If the supplied configuration is not valid JSON.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=getSchema": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Returns the configuration schema associated with this draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_getSchema", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster on which operation should be performed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the cluster is not found in the system or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "This output structure of type *Esx.Settings.Clusters.Configuration.SchemaResult* containing the schema document encoded as JSON.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.SchemaResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Get the cluster configuration and related metadata from this draft.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Delete this draft. Any changes will be abandoned.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=exportConfig": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "This API will export the draft configuration associated with the cluster.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Export`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Export`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_exportConfig", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster on which operation should be performed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "This output structure of type com.vmware.esx.settings.clusters.Configuration#ExportResult contains the configuration document encoded as JSON.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ExportResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=update": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Replace the current configuration in this draft with the supplied one. If the supplied configuration is different from the current value, the *Esx.Settings.Clusters.Configuration.Drafts.Metadata.precheck_task* fields will be cleared. If an expected revision number is provided, it must match the current revision of this draft or a ConcurrentChange exception will be raised. If no expected revision number is provided, this check will be skipped and the update will go through.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_update", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the supplied configuration is not valid JSON.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "409": { + "description": "If the expectedRevision in the spec differs from the draft's current revision.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=showChanges": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Get the differences between this draft and the current desired state for the cluster.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_showChanges", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ChangesResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=apply": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Commit this draft and make it the new desired configuration for the cluster. The draft must be in the *Esx.Settings.Clusters.Configuration.Drafts.State.VALID* state for this method to succeed. A successful commit will result in the draft being deleted. If the cluster is not empty, the Apply API will be called with the new desired state.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Remediate`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Remediate`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_apply", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Additional arguments for the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ApplySpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "If the draft is not in the *Esx.Settings.Clusters.Configuration.Drafts.State.VALID* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A structure that contains the ID of the new commit and, if an ApplySpec was supplied, the ID of the Apply task.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ApplyResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=importFromHost&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "The API imports the desired configuration from a reference host in the cluster. The API also adds host-specific and host-overrides from the other hosts in the cluster. Import API does not validate the configuration against the schema. The result will specify if the configuration was imported successfully. The result will provide localized error message if the import operation failed.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_importFromHost$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "The parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: importFromHost$task", + "content": { + "application/json": { + "schema": { + "required": [ + "host" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Identifier of the reference host\n\nThe parameter must be an identifier for the resource type: `HostSystem`." + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Output structure containing the status of the operation and error if any.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=checkCompliance&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "Check all the hosts in the cluster for compliance with the configuration specified in the draft.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_checkCompliance$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If API is called on a cluster that is not managed by desired configuration management platform.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If an internal error occurred. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the API timed out before completion.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=precheck&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "This API will perform impact analysis of the configuration specified in the draft on each of the hosts in the cluster. The API will check against the desired image schema whether the desired configuration has added any requirements for the host to be put in maintenance mode or to be rebooted. The API will also invoke plugins which will validate the configuration on each hosts in the cluster. If the configuration is valid the API will also detect if the host needs to be maintenance mode or to be rebooted. If the hosts requires maintenance mode or reboot, then the API will run health checks to see the hosts can be put into the maintenance mode based on their current state. If any host cannot be put into maintenance mode due to health errors, then those errors will be reported in the result. The result will also list the configurations that will change on applying the configuration in the draft.\n\nThis operation was added in __vSphere API 8.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_precheck$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster on which to perform impact analysis.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***\n\n***Vapi.Std.Errors.TimedOut***", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "This output structure of type com.vmware.esx.settings.clusters.Configuration#ClusterPrecheckResult represents results of the impact analysis executed on each of the hosts for the desired configuration. If the impact analysis could not be performed on a host, the com.vmware.esx.settings.clusters.Configuration.ClusterPrecheckResult#hostStatus map will contain the reason.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=importConfig&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "This API creates a draft or updates an existing draft by extracting configurations from a cluster. \n\n The API will import ESX configuration in the draft from a reference host. The common configuration from the reference host will be put in the 'profile' section. The host-specific configuration from the reference host will be put in the 'host-specific' section. Existing host-specifics or host-overrides in desired state for reference host are not preserved. \n\n For the other hosts in the cluster, the API will preserve in the draft ESX host-specific and host-override configurations from the desired state. ESX host-specific configuration not relevant due to change in the common configuration for a host will be removed. ESX host-specific configuration required due to change in common configuration for a host but not available in the desired state will be fetched from the host if configured on the host. \n\n The API will import solution configurations (e.g., NSX, VSAN etc.) in the draft by calling solution extract operation. The solution host-specific configuration will be updated for all the hosts in the cluster (solutions are the source of truth). If the solution extract fails, the API will preserve in the draft solution configurations from the desired state, this includes solution host-specific configuration. \n\n The draft generated will be validated against the cluster schema and validation state is saved. The API does not perform dynamic validation of the draft on the host or solutions. The API result will not contain validation state of the draft. If the task fails, a new draft is not created or an existing draft is not updated.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_importConfig$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Additional input arguments needed for importing cluster configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ImportSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Output structure containing the status of the operation and error if any.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=getAvailableValues&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Drafts" + ], + "description": "The API computes the Available values for a given configuration identified by input path in given request.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Drafts_getAvailableValues$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "A structure that is of type RequestSpec", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.AvailableValues.RequestSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If API is called on a cluster that is not managed by desired configuration management platform. If request contains invalid host or host that doesn't belong to cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure. Task shall fail only in this case.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "A structure that is of type *Esx.Settings.Clusters.Configuration.Drafts.Info*.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/schema": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Schema" + ], + "description": "Returns the configuration schema associated with the cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Schema_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster is invalid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the session is unauthenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the schema associated with the cluster is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "In case of an unknown internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The schema associated with the cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.SchemaResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/reports/last-apply-result": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Reports.LastApplyResult" + ], + "description": "Returns the most recent available result of applying the configuration document to all hosts within the cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Reports.LastApplyResult_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller does not have the necessary privileges to perform the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if there is no result associated with the cluster cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Most recent available result of applying the desired configuration to all hosts within the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ApplyResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/reports/last-compliance-result": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Reports.LastComplianceResult" + ], + "description": "This API provides results from the last completed Check Compliance operation on the cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Reports.LastComplianceResult_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no last compliance result was found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ClusterCompliance" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/reports/last-precheck-result": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Reports.LastPrecheckResult" + ], + "description": "This API returns results from the last Precheck operation on the cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Reports.LastPrecheckResult_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller does not have the necessary privileges to perform the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if there is no result associated with the cluster cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Most recent available result of Precheck.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ClusterPrecheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/configuration/reports/recent-tasks": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Configuration.Reports.RecentTasks" + ], + "description": "This API returns the IDs of the configuration tasks most recently executed on this cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Configuration.Reports.RecentTasks_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller does not have the necessary privileges to perform the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A structure containing the most recent executions of draft- related tasks.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Reports.RecentTasks.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration" + ], + "description": "Returns whether the given cluster is managed using a desired configuration platform.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the feature enablement.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Configuration.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/software": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Software" + ], + "description": "Returns whether the given cluster is managed with a single software specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Software_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the feature enablement.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Software.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/software?action=check&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Software" + ], + "description": "Checks the possibility to manage the cluster with a single software specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Software_check$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Check specification.\n\nIf missing or `null`, all checks are performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Software.CheckSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "If the feature is already enabled for the given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result of the check operation", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/software?vmw-task=true": { + "put": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Software" + ], + "description": "Enables the feature which manages the cluster with a single software specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Software_enable$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Enablement specification.\n\nIf missing or `null`, all checks are performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Software.EnableSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "If the feature is already enabled for the given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If feature enablement failed for the given cluster. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Esx.Settings.Clusters.Enablement.Software.CheckResult*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "This API returns the current transition state of the cluster.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The transition state of the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Configuration.Transition.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=cancel": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "This API cancels the workflow to transition the cluster to desired configuration platform. If the status of transition is *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.STARTED*, the associated state information will be deleted. Otherwise, cancel will not be allowed and the API will throw an error.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_cancel", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the status of transition process is not *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.STARTED*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=importFromFile": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "The API imports the desired configuration from a file. Import API does not validate the configuration against the schema. The result will specify if the configuration was imported successfully. The result will provide localized error message if the import operation failed.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_importFromFile", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Input structure containing file information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Configuration.Transition.FileSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Output structure containing the status of the operation and error if any.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DraftImportResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=exportConfig": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "This API will export configuration associated with the cluster generated as part of the transition workflow. The API will throw an error if the transition state is not *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.STARTED*.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Export`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Export`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_exportConfig", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster on which operation should be performed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the status of transition process is not *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.STARTED*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the cluster is not found in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "This output structure of type *Esx.Settings.Clusters.Configuration.ExportResult* contains the configuration document encoded as JSON.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ExportResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=exportSchema": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "This API will export schema associated with the cluster. The API will throw an error if the transition state is not *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.STARTED*.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Export`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Export`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_exportSchema", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster on which operation should be performed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the status of transition process is not *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.STARTED*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the cluster is not found in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "This output structure of type *Esx.Settings.Clusters.Configuration.SchemaResult* containing the schema document encoded as JSON.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.SchemaResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=checkEligibility&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "The API performs eligibility checks on the cluster to see if it can be transitioned to desired configuration management platform.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_checkEligibility$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Output structure describing errors from eligibility checks.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=importFromHost&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "The API imports the desired configuration from a reference host in the cluster. The API also adds host-specific and host-overrides from the other hosts in the cluster. Import API does not validate the configuration against the schema. The result will specify if the configuration was imported successfully. The result will provide localized error message if the import operation failed.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_importFromHost$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Identifier of the reference host\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Output structure containing the status of the operation and error if any.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=validateConfig&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "The API validates the imported desired configuration against the schema and on the hosts with validation plugins. If the document is valid, the API will check all the hosts for compliance with the desired configuration. The API returns validation errors if the configuration is not valid on any of the host. If the configuration is valid, the API returns compliance information.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_validateConfig$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Output structure containing the validation errors or compliance information.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=precheck&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "The API computes impact of transitioning the cluster to be managed by desired configuration platform. It also runs health checks to verify the cluster's health before transitioning. The API returns the impact on the hosts in the cluster and the result of health checks from the cluster and hosts. Health checks are run only if the host needs be rebooted or put in maintenanceMode.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.View`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.View`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_precheck$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Output structure containing the status of the operation, host impact details, precheck results and notifications if any.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/enablement/configuration/transition?action=enable&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Enablement.Configuration.Transition" + ], + "description": "The API enables ConfigManager on the cluster. Before setting the desired configuration state, the API verifies the eligibility of the cluster to transition to desired configuration platform. The API then validates and sets the configuration draft as the desired configuration of the cluster, thus enabling ConfigManager. The API finally initiates remediation by invoking Apply. Apply is not invoked if the cluster is empty. The API does not wait for remediation to complete before returning. If any of the above step fails, the API will fail and result will contain descriptive error messages.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Remediate` and `Host.Inventory.ManageClusterLifecyle`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.ClusterConfiguration.Remediate` and `Host.Inventory.ManageClusterLifecyle`. \n", + "operationId": "Esx.Settings.Clusters.Enablement.Configuration.Transition_enable$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The Enable specification.\n\nThis parameter was added in __vSphere API 9.1.0.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Output structure of type *Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableResult* containing the apply task ID.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/policies/apply": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Policies.Apply" + ], + "description": "Returns the configured policy that has been set for the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Clusters.Policies.Apply_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The configured policies that impact the apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Policies.Apply" + ], + "description": "This API will set the configured policy specification for the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Clusters.Policies.Apply_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The policy that needs to be configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If invalid value is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/policies/apply/effective": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Policies.Apply.Effective" + ], + "description": "Returns the effective apply policy based on system defaults and what has been configured for the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Clusters.Policies.Apply.Effective_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The effective policies that impact the apply operation on this cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/add-on": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AddOn" + ], + "description": "Returns the desired OEM add-on specification for a given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AddOn_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired OEM add-on specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Desired OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages" + ], + "description": "Get the alternative image specification for the given cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Alternative Image specification for the given draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AlternativeImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages" + ], + "description": "Returns a list of image info of the alternative images for a given cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "ListResult Image info of all the alternative images for a given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.AlternativeImages.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/base-image": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.BaseImage" + ], + "description": "Returns the desired base-image specification set for given cluster\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.BaseImage_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/commits/{commit}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Commits" + ], + "description": "Returns the information about a specific commit.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Commits_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "commit", + "in": "path", + "description": "Identifier of the specific commit.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired specification commit is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the commit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Commits.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/compliance": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Compliance" + ], + "description": "Returns the compliance state for the cluster\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Compliance_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if the compliance information is unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Cluster compliance result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ClusterCompliance" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Components" + ], + "description": "Returns the component version for the given component in the desired software specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Components_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If invalid component name is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Details about the component version.\n\nIf missing or `null` then version is supposed to be chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Components" + ], + "description": "Returns a list of components in the desired software specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Components_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of ComponentInfo keyed by the component identifier. If no version is specified in desired software specification, then ComponentInfo will not be present for that component.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts" + ], + "description": "Returns information about the software drafts for the specified cluster that match the *Esx.Settings.Clusters.Software.Drafts.FilterSpec*.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "owners", + "in": "query", + "description": "Owners of the drafts.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, drafts from all owners will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of software drafts keyed by their identifiers.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts" + ], + "description": "Creates a new software draft from the desired document. It will be deleted, when the draft is committed successfully. If a desired document is missing, then this operation will create an empty draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts_create", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If there is already a draft created by this user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyExists" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Identifier of the working copy of the document.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts" + ], + "description": "Returns the information about given software draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the software draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the Software Draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts" + ], + "description": "Deletes the software draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts?action=import-software-spec": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts" + ], + "description": "Imports the desired software specification as a new draft. If a desired document is missing, then this operation will create an empty draft except when the source type is of either *Esx.Settings.Clusters.Software.Drafts.SourceType.LATEST_RECOMMENDATION* or *Esx.Settings.Clusters.Software.Drafts.SourceType.CURRENT_SERIES_RECOMMENDATION*, then *Vapi.Std.Errors.NotFound* error is reported. In addition, the existing draft will be overwritten when the source type is of either LATEST_RECOMMENDATION or CURRENT_SERIES_RECOMMENDATION. \n\n __Warning:__ Using HTTP is not secure. Please use HTTPS URLs instead.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts_importSoftwareSpec", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification to import desired software specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.ImportSpec" + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "If there is no cluster associated with cluster in the system or if the source type of import specification is of either LATEST_RECOMMENDATION or CURRENT_SERIES_RECOMMENDATION, and a recommendation does not exist for the cluster. It was either never generated or deleted due to changes in cluster state such as a new desired image spec being committed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the software draft.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}?action=commit&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts" + ], + "description": "Commits the specified draft as the desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts_commit$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The spec to be used to create the commit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.CommitSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is another operation in progress.\n\n***Vapi.Std.Errors.InvalidArgument*** If validation of the software document fails. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Esx.Settings.Clusters.Software.Drafts.ValidateResult*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Identifier of the commit.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}?action=validate&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts" + ], + "description": "Validates the software draft. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts_validate$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the software draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Result of validation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}?action=scan&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts" + ], + "description": "Scans all the hosts in the cluster against the software draft. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts_scan$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Result of scan operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.EffectiveComponents" + ], + "description": "Returns the effective components for the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.EffectiveComponents_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/effective-components?with-removed-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.EffectiveComponents" + ], + "description": "Returns the list of all the effective components. Pass the param \"with-removed-components\" to get even the removed components.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.EffectiveComponents_listWithRemovedComponents", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster is not vLCM managed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no such cluster cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/hardware-support": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.HardwareSupport" + ], + "description": "Returns a given cluster's Hardware Support Package (HSP) configuration.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.HardwareSupport_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster named cluster or no Hardware Support Package (HSP) configured in the cluster's desired state document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Hardware Support Package (HSP) selected for use", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/recommendations": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Recommendations" + ], + "description": "Returns Information about the most recent recommendation generation result.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Recommendations_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "If there is no cluster associated with cluster in the system or recommendation is non-existing for the cluster due to either it is never generated or deleted due to changes in cluster state such as a new desired image spec being committed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the most recent recommendation generation result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Recommendations.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/recommendations?action=generate&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.Recommendations" + ], + "description": "Generates recommended software image spec(s) based on current desired software spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Recommendations_generate$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification on how to filter recommendations based on a specified base image version.\n\nThis parameter was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, latest and current series recommendations are generated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Recommendations.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "If the recommendation generation is not supported.\n\nThis error was added in __vSphere API 9.0.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "409": { + "description": "If a new desired image is committed in parallel via a different client while recommendation is being generated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/removed-components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.RemovedComponents" + ], + "description": "Returns the component info for the given removed component in the desired software specification.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.RemovedComponents_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster is not vLCM managed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Details about the component.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/removed-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.RemovedComponents" + ], + "description": "Returns a map of removed components in the desired software specification.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.RemovedComponents_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster is not vLCM managed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of ComponentInfo keyed by the component identifier. If no version is specified in desired software specification, then it will be empty.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/software-spec-metadata": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.SoftwareSpecMetadata" + ], + "description": "Returns the software specification metadata in the repository that is assigned to the cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.SoftwareSpecMetadata_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "software specification metadata in the repository that is assigned to the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SoftwareSpecMetadata" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/solutions/{solution}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Solutions" + ], + "description": "Returns components registered for the given solution in the desired software specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Solutions_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If invalid component name is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or or no solution associated with solution in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Specification of components registered by the solution.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/solutions": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Solutions" + ], + "description": "Returns all solutions in the desired software specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Solutions_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of solutions where key is solution identifier and value is a list of components registered by that solution.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/solutions/{solution}?vmw-task=true": { + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Solutions" + ], + "description": "Sets the components registered for the given solution in the desired software specification. The task will set only one solution specification at a time. Solution constraints would be validated with the current desired software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Solutions_set$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Registered solution specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SolutionSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if validation of the software document fails. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in ValidateResult.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no solution associated with solution in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "ID of the newly created commit.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Solutions" + ], + "description": "Deletes the given solution from the desired software specification. The deletion will be validated along with the entire software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Solutions_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if validation of the software document fails. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in ValidateResult.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no solution associated with solution in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "ID of the newly created commit.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/solutions?vmw-task=true": { + "patch": { + "tags": [ + "Esx.Settings.Clusters.Software.Solutions" + ], + "description": "Updates the components registered for the specified solutions in the desired software specification. The task will update all the solutions specified here in a single operation. It updates specified solutions while leaving other existing solutions intact; without removing them. Solutions constraints would be validated with the current desired software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Esx.Settings.Clusters.Software.Solutions_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "registered solutions specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Solutions.UpdateSolutionsSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if validation of the software document fails. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in ValidateResult.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no solution associated with solution in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "ID of the newly created commit.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/display-name": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.DisplayName" + ], + "description": "Returns the display name of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.DisplayName_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Display name of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.AlternativeImages.DisplayName.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/selection-criteria": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.SelectionCriteria" + ], + "description": "Returns the selection criteria of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.SelectionCriteria_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Selection criteria of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ImageSelectionInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software?action=export": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software" + ], + "description": "Exports the desired software specification document and/or offline bundle and/or iso for the given alternative image. \n\n This API will not export the solution section of the desired software specification.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software_export", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The export specification to specify data types to be exported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.AlternativeImages.Software.ExportSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is am unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A map from export type to URL of the exported data for that type.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "uri" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/add-on": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.AddOn" + ], + "description": "Returns the OEM add-on specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.AddOn_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/base-image": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.BaseImage" + ], + "description": "Returns the base-image specification of the alternative image. Note: Alternative image's base image cannot be set by the user. So this API returns the default image's base image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.BaseImage_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.Components" + ], + "description": "Returns the component version for the given component of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.Components_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If invalid component name is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.\n\nIf missing or `null` then version will be chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.Components" + ], + "description": "Returns the components that comprise of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.Components_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component version information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.EffectiveComponents" + ], + "description": "Returns the components that comprise the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.EffectiveComponents_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/effective-components?with-removed-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.EffectiveComponents" + ], + "description": "Returns the list of all the effective components. Pass the param \"with-removed-components\" to get even the removed components.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.EffectiveComponents_listWithRemovedComponents", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster is not vLCM managed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no such cluster cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/hardware-support": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.HardwareSupport" + ], + "description": "Returns the Hardware Support Package (HSP) of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.HardwareSupport_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.\n\nif the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image in the system or no Hardware Support Package (HSP) is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.\n\nIf the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Hardware Support Package (HSP) configured for use", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/removed-components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.RemovedComponents" + ], + "description": "Returns the component information for the given removed component in the desired software specification.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.RemovedComponents_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster is not vLCM managed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Details about the component.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/removed-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.RemovedComponents" + ], + "description": "Returns a map of removed components in the desired software specification.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.RemovedComponents_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster is not vLCM managed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of ComponentInfo keyed by the component identifier. If no version is specified in desired software specification, then it will be empty.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/solutions/{solution}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.Solutions" + ], + "description": "Returns components registered for the given solution in the desired software specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.Solutions_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If invalid solution name is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image or no solution associated with solution in the system. in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Specification of components registered by the solution.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/alternative-images/{image}/software/solutions": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.AlternativeImages.Software.Solutions" + ], + "description": "Returns all solutions in the desired software specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.AlternativeImages.Software.Solutions_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of solutions where key is solution identifier and value is a list of components registered by that solution.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/display-name": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.DisplayName" + ], + "description": "Returns the display name of the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.DisplayName_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the software draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "display name of the Software Draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.DisplayName.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.DisplayName" + ], + "description": "Sets a new display name in the software draft. It will overwrite the existing name if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.DisplayName_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Display name specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.DisplayName.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/add-on": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AddOn" + ], + "description": "Returns the OEM add-on specification in a software draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AddOn_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AddOn" + ], + "description": "Sets a new desired OEM add-on specification in the software draft. It will overwrite the existing desired OEM add-on specification if one already exists.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AddOn_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "AddOn specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AddOn" + ], + "description": "Deletes the desired OEM add-on specification in the software draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AddOn_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages" + ], + "description": "Returns a list of image info of the alternative images in the draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "ListResult Map of Image ID and Image info of all the alternative images in the draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages" + ], + "description": "Creates a new alternative image for the given draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages_create", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Create spec of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Identifier of the alternative image.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages" + ], + "description": "Get the alternative image specification for the given draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Alternative Image specification for the given draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AlternativeImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages" + ], + "description": "Deletes the alternative image for the given draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/base-image": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.BaseImage" + ], + "description": "Returns the base-image specification in a software draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.BaseImage_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.BaseImage" + ], + "description": "Sets a new desired base-image specification in the software draft. It will overwrite the existing desired base-image specification if one already exists.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.BaseImage_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.Components" + ], + "description": "Returns the component version for the given component in the software draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.Components_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.\n\nIf missing or `null` then version will be chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.Components" + ], + "description": "Set the component version for a given component in the software draft. This will overwrite any existing version for the given component.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.Components_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Component version.\n\nThis property is currently required. In the future,if this property is missing or `null` then version is chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.Components" + ], + "description": "Deletes the given component from the software draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.Components_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.Components" + ], + "description": "Returns the components that comprise the software draft.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.Components_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component version information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.Components" + ], + "description": "Updates the list of components in a given draft. This allows set and/or delete of multiple components in a batch operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.Components_update", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Update specification containing list of components to add and/or delete.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Software.Components.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.EffectiveComponents" + ], + "description": "Returns the components that comprise the desired software state of the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.EffectiveComponents_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/effective-components?with-removed-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.EffectiveComponents" + ], + "description": "Returns the list of all the effective components. Pass the param \"with-removed-components\" to get even the removed components.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.EffectiveComponents_listWithRemovedComponents", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "The parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.\n\nIf the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no such cluster cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/hardware-support": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.HardwareSupport" + ], + "description": "Returns a given cluster's working copy document Hardware Support Package (HSP) configuration.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.HardwareSupport_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of image working copy document being updated\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster named cluster, no working copy document draft in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Hardware Support Package (HSP) configured for use", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.HardwareSupport" + ], + "description": "Replaces a given cluster's working copy document Hardware Support Package (HSP) configuration.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.HardwareSupport_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of image working copy document being updated\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "new Hardware Support Package (HSP) configuration for the cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster named cluster, no working copy document draft in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.HardwareSupport" + ], + "description": "Deletes a given cluster's working copy document Hardware Support Package (HSP) configuration.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.HardwareSupport_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of image working copy document being updated\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster named cluster, no working copy document draft in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/removed-components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents" + ], + "description": "Returns the component information for the given removed component in the software draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents" + ], + "description": "Set the component to be removed in the software draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents" + ], + "description": "Deletes the given component from the removed components section of the software draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/removed-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents" + ], + "description": "Returns the components that comprise the removed components section of the software draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.RemovedComponents_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/display-name": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName" + ], + "description": "Returns the display name of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Info Display name info of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName" + ], + "description": "Sets the display name of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Display name spec of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/selection-criteria": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.SelectionCriteria" + ], + "description": "Returns the selection criteria of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.SelectionCriteria_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Selection criteria of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ImageSelectionInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.SelectionCriteria" + ], + "description": "Sets the selection criteria of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.SelectionCriteria_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Selection criteria that needs to be configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ImageSelectionSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/add-on": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.AddOn" + ], + "description": "Returns the OEM add-on specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.AddOn_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.AddOn" + ], + "description": "Sets the OEM add-on specification of the alternative image. It will overwrite the existing OEM add-on specification if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.AddOn_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "AddOn specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.AddOn" + ], + "description": "Deletes the OEM add-on specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.AddOn_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/base-image": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.BaseImage" + ], + "description": "Returns the base-image specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.BaseImage_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components" + ], + "description": "Returns the component version for the given component of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.\n\nIf missing or `null` then version will be chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components" + ], + "description": "Set the component version for a given component of the alternative image. This will overwrite any existing version for the given component.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Component version.\n\nThis property is currently required. In the future,if this property is missing or `null` then version is chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components" + ], + "description": "Deletes the given component of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components" + ], + "description": "Returns the components that comprise of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component version information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components" + ], + "description": "Updates the list of components of the alternative image. This allows set and/or delete of multiple components in a batch operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components_update", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Update specification containing list of components to add and/or delete.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.EffectiveComponents" + ], + "description": "Returns the components that comprise the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.EffectiveComponents_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/effective-components?with-removed-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.EffectiveComponents" + ], + "description": "Returns the list of all the effective components. Pass the param \"with-removed-components\" to get even the removed components.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.EffectiveComponents_listWithRemovedComponents", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no such cluster cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/hardware-support": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.HardwareSupport" + ], + "description": "Returns the Hardware Support Package (HSP) of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.HardwareSupport_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.\n\nif the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system or no Hardware Support Package (HSP) is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.\n\nIf the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Hardware Support Package (HSP) configured for use", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.HardwareSupport" + ], + "description": "Sets the Hardware Support Package (HSP) of the alternative image. It will overwrite the existing Hardware Support Package (HSP) specification if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.HardwareSupport_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "new Hardware Support Package (HSP) configuration for the cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If multiple HSP is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.\n\nif the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.\n\nIf the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.HardwareSupport" + ], + "description": "Deletes the Hardware Support Package (HSP) of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.HardwareSupport_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.\n\nif the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no image associated with image in the system or no Hardware Support Package (HSP) is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.\n\nIf the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/removed-components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents" + ], + "description": "Returns the component information for the given removed component in the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents" + ], + "description": "Set the component to be removed in the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents" + ], + "description": "Deletes the given component from the removed components section of the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/drafts/{draft}/software/alternative-images/{image}/software/removed-components": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents" + ], + "description": "Returns the map of removed components that comprise the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.RemovedComponents_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/apply-impact": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.ApplyImpact" + ], + "description": "Returns a summary of how hosts within the cluster will be impacted during an apply operation. The impact is generated from the compliance information obtained from *GET /esx/settings/clusters/{cluster}/software/compliance*\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.ApplyImpact_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "hosts", + "in": "query", + "description": "The specific hosts for which an impact is to be generated.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty impact is generated for all hosts within the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Summary of how hosts will be impacted during an apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.ApplyImpact.ClusterImpact" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility" + ], + "description": "Returns the HCL validation check summary.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure and any possible resolution(s).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "CheckSummary HCL validation summary.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.CheckSummary" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility?action=check&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility" + ], + "description": "Initiates a Cluster HCL Validation check for a given cluster. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility_check$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure and any possible resolution(s).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "CheckResult HCL validation result.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/last-apply-result": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.LastApplyResult" + ], + "description": "Returns the most recent available result of applying the desired software document to all hosts within the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.LastApplyResult_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if there is no result associated with the cluster cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Most recent available result of applying the desired software document to all hosts within the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/last-check-result": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.LastCheckResult" + ], + "description": "Returns the most recent available result of checks run on the cluster before the application of the desired software document to all hosts within the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.LastCheckResult_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The cluster identifier.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if there is no result associated with the cluster cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Most recent result available of the checks run on the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility/details": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.Details" + ], + "description": "Returns the HCL validation check detailed results.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Read`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.HardwareCompatibility.Read`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.Details_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some other unknown internal error. The accompanying error message will give more details about the failure and any possible resolution(s).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "CheckResult HCL validation result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.CheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility/pci-device-overrides/vcg-entries?vmw-task=true": { + "patch": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries" + ], + "description": "Updates a PCI Device's HCL treatment, either driving a particular BCG Proudct ID or overriding compliance status based on user specification\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.HardwareCompatibility.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "identifier of the cluster for validity domain of this update\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the override(s) to be applied.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if an invalid override is specified", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no cluster with the given id.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is some unknown error. The accompanying error message will give more details about the failure and any possible resolution(s).\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the vCenter this API is executed on is not part of the Customer Experience Improvement Program (CEIP).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility/storage-device-overrides/compliance-status?vmw-task=true": { + "patch": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus" + ], + "description": "Updates the Compliance status overrides for storage devices in a cluster. This operation also updates the existing *Esx.Settings.Clusters.Software.Reports.CheckResult* if any, based on the device reclassification specified in *Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.UpdateSpec* The storage device categorization based on the compliance status from the last check result will remain the same until a *POST /esx/settings/clusters/{cluster}/software/reports/hardware-compatibility?action=check* operation is invoked.\n\nThis operation was added in __vSphere API 7.0.2.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.HardwareCompatibility.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the compliance status overrides for storage devices in a cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one of the values in the update specification is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no cluster associated with the cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is an unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/software/reports/hardware-compatibility/storage-device-overrides/vcg-entries?vmw-task=true": { + "patch": { + "tags": [ + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries" + ], + "description": "Updates the storage device Broadcom Compatibility Guide (BCG) product overrides for a cluster. This operation also updates the existing *Esx.Settings.Clusters.Software.Reports.CheckResult* if any, based on the additional information provided by the vcg product overrides for the devices. The storage device categorization based on the compliance status from the last check result will remain the same until a *POST /esx/settings/clusters/{cluster}/software/reports/hardware-compatibility?action=check* operation is invoked.\n\nThis operation was added in __vSphere API 7.0.2.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.HardwareCompatibility.Write`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `VcIntegrity.HardwareCompatibility.Write`. \n", + "operationId": "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the compatibility overrides for the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one of the values in the update specification is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no cluster associated with the cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is an unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/lifecycle-hooks?action=mark-as-processed": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Vms.LifecycleHooks" + ], + "description": "Marks an activated hook as processed.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Write`. \n", + "operationId": "Esx.Settings.Clusters.Vms.LifecycleHooks_markAsProcessed", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for hook processing.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.LifecycleHooks.ProcessedHookSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the spec specifies an invalid argument. For example thrown if a VM that is specified within the spec is not present in the system.\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If 1) the lifecycleState property of the spec does not match the current lifecycle state of the VM or 2) System VMs are disabled on the cluster via internal ESX Agent Manager (EAM) API (eam.EsxtAgentManager#disable).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/lifecycle-hooks/{solution}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Vms.LifecycleHooks" + ], + "description": "All activated hooks that the system is waiting to be processed for a given solution.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Read`. \n", + "operationId": "Esx.Settings.Clusters.Vms.LifecycleHooks_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or no solution associated with solution in the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "*Esx.Settings.Clusters.Vms.LifecycleHooks.ListResult* that describes the hooks that the system is waiting to be processed by a given solution.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.LifecycleHooks.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/lifecycle-hooks?action=process-dynamic-update": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Vms.LifecycleHooks" + ], + "description": "Updates dynamically the desired state specification and applies it for the solution. Dynamically updating the desired state is not supported for ongoing remediation operations that are using ClusterSolutionsApplyFilterSpec#deploymentUnits. \n\n The given *Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec.vm* is reconfigured by the system to match the selection criteria specified in the given *Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec.alternative_vm_spec*. \n\n This method can be invoked only when the *Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec.vm* is in the given *Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec.lifecycle_state*. \n\n This operation is part of the ongoing remediation operation. Any failures of the dynamic apply will result in failure of the ongoing remediation operation task. \n\n Any failure to apply the given *Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec* will result in failure of the ongoing remediation with Status#ISSUE and IssueType#VM_LIFECYCLE_HOOK_DYNAMIC_UPDATE_FAILED for the given *Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec.vm*. \n\n To monitor the outcome use *POST /esx/settings/clusters/{cluster}/vms/solutions?action=check-compliance* method. When the dynamic update is completed, the property *Esx.Settings.Clusters.Vms.LifecycleHookInfo.dynamic_update_processed* is updated to True, for the given *Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec.lifecycle_state* of the given *Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec.vm*. \n\n This method does not process the hook for a given Esx.Settings.Clusters.Vms.LifecycleState. Use *POST /esx/settings/clusters/{cluster}/vms/lifecycle-hooks?action=mark-as-processed* method to process the hook. \n\n This method is skipped if the client invokes *POST /esx/settings/clusters/{cluster}/vms/lifecycle-hooks?action=mark-as-processed* method for a given Esx.Settings.Clusters.Vms.LifecycleState. \n\n\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Esx.Settings.Clusters.Vms.LifecycleHooks_processDynamicUpdate", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for dynamic update processing.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the spec specifies an invalid argument. For example thrown if a VM that is specified within the spec is not present in the system.\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is no ongoing remediation operation for the given cluster and solution.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with cluster in the system or no solution associated with solution in the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/solutions/{solution}": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Vms.Solutions" + ], + "description": "Returns the desired specification of a solution in a given cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Read`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Solutions_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": " Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": " Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": " If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If there is no cluster associated with cluster in the system or no solution associated with solution in the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The desired specification of the solution in the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.SolutionInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/solutions": { + "get": { + "tags": [ + "Esx.Settings.Clusters.Vms.Solutions" + ], + "description": "Returns the desired specification of given solutions in a given cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Read`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Solutions_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": " Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solutions", + "in": "query", + "description": "Solutions to return desired specification for.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty the desired specification of all solutions in the cluster to be returned.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": " If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": " If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If there is no cluster associated with cluster in the system or the filterSpec specifies one or more solutions that are not associated with the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The desired specification of solutions in the cluster specified by the filterSpec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/solutions/{solution}?vmw-task=true": { + "put": { + "tags": [ + "Esx.Settings.Clusters.Vms.Solutions" + ], + "description": "Sets and overrides the current desired specification for a given solution and cluster. The provided desired specification is validated before that.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Write`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Solutions_set$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": " Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": " Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Solution specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.SolutionSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the validation of the solution specification fails. The value of the data property of *Vapi.Std.Errors.Error* contains more information. It is a schema that contains all the properties defined in *Esx.Settings.Clusters.Vms.Solutions.ValidateResult*.\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If there is no cluster associated with cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Clusters.Vms.Solutions" + ], + "description": "Deletes the current desired specification of a solution for a given cluster. \n\n The actual uninstallation of the solution is executed after an apply operation that implicitly or explicitly contains the identifier of the deleted solution. Examples: \n - Explicit: The apply operation is triggered with *Esx.Settings.Clusters.Vms.Solutions.ApplySpec* that contains the identifier of the deleted solution.\n - Implicit: The apply operation is triggered with *Esx.Settings.Clusters.Vms.Solutions.ApplySpec* whose hostSolutions property is missing or `null` or empty. solution.\n \n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Write`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Solutions_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": " Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": " Identifier of the VM solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the validation of the cluster desired specification fails. The value of the data property of *Vapi.Std.Errors.Error* contains more information. It is a schema that contains all the properties defined in *Esx.Settings.Clusters.Vms.Solutions.ValidateResult*.\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If there is no cluster associated with cluster in the system or no solution associated with solution in the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/solutions?action=apply&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Vms.Solutions" + ], + "description": "Applies the current desired solution specification to a given cluster as specified by the *Esx.Settings.Clusters.Vms.Solutions.ApplySpec*. \n\n The runtime state of the applied desired solution specification can be observed using *POST /esx/settings/clusters/{cluster}/vms/solutions?action=check-compliance* operation. \n\n If a solution that is specified within the spec is uninstalled/not present (not present in the cluster's desired state and runtime state) it is omitted from the result. \n\n If a deployment unit that is specified within the spec is uninstalled/not present (not present for any of the solutions specified within the spec) it is omitted from the result.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Write`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Solutions_apply$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": " Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Apply specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ApplySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the spec specifies an invalid argument. For example thrown if a host that is specified within the spec is not present in the system , or if an apply call is made for a solution in a cluster transition workflow on the source cluster. \n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If 1) there is another operation in progress for any of the solutions specified within the spec or 2) System VMs are disabled on the cluster via internal ESX Agent Manager (EAM) API (eam.EsxtAgentManager#disable).\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If there is no cluster associated with the cluster parameter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If there is an internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result of the apply operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/solutions?action=check-compliance&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Vms.Solutions" + ], + "description": "Checks compliance of solutions in the cluster against the current desired state. \n\n If a solution that is specified within the filterSpec is uninstalled/not present (not present in the cluster's desired state and runtime state) it is omitted from the result. \n\n If a deployment unit that is specified within the filterSpec is uninstalled/not present (not present for any of the solutions specified within the filterSpec) it is omitted from the result.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Read`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Solutions_checkCompliance$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": " Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Filter for checking the compliance status in a cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.CheckComplianceFilterSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the filterSpec specifies an invalid argument. For example thrown if a host that is specified within the filterSpec is not present in the system.\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If there is no cluster associated with the cluster parameter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If an internal error occurred. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The requested compliance status.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/transition/{solution}?action=enable&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Vms.Transition" + ], + "description": "Enables an EAM managed solution in vLCM. The solution specification is validated before the enablement is started. \n\n The enablement only transfers ownership of the solution from EAM to LCCM and sets the desired state in LCCM. The new desired state is not applied, the solution system VMs are untouched. The following happens once the operation is started: \n - A removal of the corresponding agency in EAM is triggered.\n The following happens once the operation is completed: \n - The corresponding agency in EAM can no longer be controlled through the EAM API.\n - The management of the desired solution specification can be done only trough vLCM. See *Esx.Settings.Clusters.Vms.Solutions*\n \n\n Supported only for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*. \n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Write`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Transition_enable$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Enablement specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Transition.EnableSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If: \n - the validation of the cluster desired specification fails. \n - the solution associated with solution already exists in vLCM for the cluster.\n - the agency associated with the eamAgencyID property exists, but is not in the scope of the cluster. \n The value of the data property of *Vapi.Std.Errors.Error* contains more information. It is a schema that contains all the properties defined in *Esx.Settings.Clusters.Vms.Transition.ValidationResult*.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If System VMs are disabled on the cluster via internal ESX Agent Manager (EAM) API (eam.EsxtAgentManager#disable).\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with the cluster or if there is no EAM agency associated with the eamAgencyID property of the spec in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/transition/{solution}?action=multi-source-enable&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Vms.Transition" + ], + "description": "Enables multiple EAM managed solutions in vLCM as a single solution. The solution specification is validated before the enablement is started. \n\n The enablement only transfers ownership of the solutions from EAM to LCCM and sets the desired state in LCCM. The new desired state is not applied, the solution system VMs are untouched. The following happens once the operation is started: \n - A removal of the corresponding agencies in EAM is triggered.\n \n\n The following happens once the operation is completed: \n - The corresponding agencies in EAM can no longer be controlled through the EAM API.\n - The management of the desired solution specification can be done only trough vLCM. See *Esx.Settings.Clusters.Vms.Solutions*\n \n\n \n\n Supported only for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Write`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Transition_multiSourceEnable$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Enablement specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Transition.MultiSourceEnableSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If: \n - the validation of the cluster desired specification fails. \n - the solution associated with solution already exist in vLCM for the cluster.\n - the agencies associated with the eamAgencyIds property exist, but is not in the scope of the cluster. \n The value of the data property of *Vapi.Std.Errors.Error* contains more information. It is a schema that contains all the properties defined in *Esx.Settings.Clusters.Vms.Transition.ValidationResult*.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If System VMs are disabled on the cluster via internal ESX Agent Manager (EAM) API (eam.EsxtAgentManager#disable).\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no cluster associated with the cluster or if there is no EAM agency associated with any of the IDs in eamAgencyIDs property of the spec in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/clusters/{cluster}/vms/transition/{solution}?action=transition&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Clusters.Vms.Transition" + ], + "description": "Transition a System VM Solution desired state to a target cluster. The solution specification is validated before the transition is started. \n\n The operation only initiates the transition. The target desired state is not applied and the solution system VMs remain untouched. A consecutive *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* operation is needed to complete the transition. \n\n Once the operation is completed: \n - The desired state for the solution is set to the target cluster.\n - The solution can be managed only on the target cluster.\n \n\n \n\n Supported only for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*. \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.systemVM.Write`. \n", + "operationId": "Esx.Settings.Clusters.Vms.Transition_transition$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": " Identifier of the target cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": " Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Transition specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Transition.TransitionSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If: \n - the validation of the cluster desired specification fails. \n - the solution associated with solution does not exists in vLCM for sourceCluster property.\n - the solution associated with solution already exists in vLCM for the new target cluster associated with cluster.\n - the target cluster is not DRS enabled.\n The value of the data property of *Vapi.Std.Errors.Error* contains more information. It is a schema that contains all the properties defined in *Esx.Settings.Clusters.Vms.Transition.ValidationResult*.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If System VMs are disabled on the cluster via internal ESX Agent Manager (EAM) API (eam.EsxAgentManager#disable).\n\n***Vapi.Std.Errors.Unsupported*** If the cluster associated with cluster is not managed by vLCM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " If there is no cluster associated with the cluster or with the *Esx.Settings.Clusters.Vms.Transition.TransitionSpec.source_cluster* part of spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": " If there is an internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/defaults/clusters/policies/apply": { + "get": { + "tags": [ + "Esx.Settings.Defaults.Clusters.Policies.Apply" + ], + "description": "Returns the configured policy that has been set.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Defaults.Clusters.Policies.Apply_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The configured policies that impact the apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Defaults.Clusters.Policies.Apply" + ], + "description": "This API will set the configured policy specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Defaults.Clusters.Policies.Apply_set", + "requestBody": { + "description": "The policy that needs to be configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If invalid value is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/defaults/clusters/policies/apply/effective": { + "get": { + "tags": [ + "Esx.Settings.Defaults.Clusters.Policies.Apply.Effective" + ], + "description": "Returns the effective apply policy based on system defaults and what has been configured.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Defaults.Clusters.Policies.Apply.Effective_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The effective policies that impact the apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.EffectivePolicySpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/defaults/hosts/policies/apply": { + "get": { + "tags": [ + "Esx.Settings.Defaults.Hosts.Policies.Apply" + ], + "description": "Returns the configured policy that has been set.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Defaults.Hosts.Policies.Apply_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The configured policies that impact the apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Hosts.Policies.Apply.ConfiguredPolicySpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Defaults.Hosts.Policies.Apply" + ], + "description": "This API will set the configured policy.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Defaults.Hosts.Policies.Apply_set", + "requestBody": { + "description": "The policy specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Hosts.Policies.Apply.ConfiguredPolicySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If invalid value is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/defaults/hosts/policies/apply/effective": { + "get": { + "tags": [ + "Esx.Settings.Defaults.Hosts.Policies.Apply.Effective" + ], + "description": "Returns the effective policy based on system defaults and what has been configured.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Defaults.Hosts.Policies.Apply.Effective_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The effective policies that impact the apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.EffectivePolicySpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depot-content/add-ons": { + "get": { + "tags": [ + "Esx.Settings.DepotContent.AddOns" + ], + "description": "Returns a list of currently available OEM add-ons in the depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.DepotContent.AddOns_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "The specification of matching OEM add-ons.\n\nIf missing or `null`, the behavior is equivalent to a *Esx.Settings.DepotContent.AddOns.FilterSpec* with all properties missing or `null`, which means all OEM add-ons match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.AddOns.FilterSpec" + } + }, + { + "name": "vendors", + "in": "query", + "description": "Vendors that an add-on must have to match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, add-ons from any vendor will match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that an add-on must have to match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, add-ons with any name will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.add_on`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.add_on`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "versions", + "in": "query", + "description": "Versions that an add-on must have to match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, add-ons with any version will match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of OEM add-ons in the depot.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.AddOns.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depot-content/base-images": { + "get": { + "tags": [ + "Esx.Settings.DepotContent.BaseImages" + ], + "description": "Returns a list of currently available base images in the depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.DepotContent.BaseImages_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "The specification of matching base images.\n\nIf missing or `null`, the behavior is equivalent to a *Esx.Settings.DepotContent.BaseImages.FilterSpec* with all properties missing or `null`, which means all base images match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.BaseImages.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of base images in the depot. These will be sorted by the version of the base image.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.BaseImages.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depot-content/components": { + "get": { + "tags": [ + "Esx.Settings.DepotContent.Components" + ], + "description": "Returns a list of currently available components in the depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.DepotContent.Components_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "The specification of matching components.\n\nIf missing or `null`, the behavior is equivalent to a *Esx.Settings.DepotContent.Components.FilterSpec* with all properties missing or `null`, which means ALL components match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.Components.FilterSpec" + } + }, + { + "name": "vendors", + "in": "query", + "description": "Vendors that a component must have to match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, components with any vendor name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that a component must have to match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, components with any name will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.component`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "versions", + "in": "query", + "description": "Versions that a component must have to match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, components with any version will match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "bundle_types", + "in": "query", + "description": "Component bundle types that a component must have to match the filter.\n\nPossible values:\n - `INDEPENDENT`: Components not bundled in base-images or add-ons\n - `BASE_IMAGE`: Components bundled in base-images\n - `ADD_ON`: Components bundled in add-ons\n\n\nFor more information see: *Esx.Settings.DepotContent.Components.ComponentBundleType*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, all components will match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of components in the depot.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.Components.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depot-content/add-ons/{name}/versions/{version}": { + "get": { + "tags": [ + "Esx.Settings.DepotContent.AddOns.Versions" + ], + "description": "Returns information about a given OEM add-on version in the depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.DepotContent.AddOns.Versions_get", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the OEM add-on\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.add_on`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Version of the OEM add-on", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if OEM add-on with given version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the given OEM add-on", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.AddOns.Versions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depot-content/base-images/versions/{version}": { + "get": { + "tags": [ + "Esx.Settings.DepotContent.BaseImages.Versions" + ], + "description": "Returns information about a given base image version in the depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.DepotContent.BaseImages.Versions_get", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Version of the base image", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if base image with given version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the given base image", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.BaseImages.Versions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depot-content/components/{name}/versions/{version}": { + "get": { + "tags": [ + "Esx.Settings.DepotContent.Components.Versions" + ], + "description": "Returns information about a given component version in the depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.DepotContent.Components.Versions_get", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the component\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Version of the component", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if component with given version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the given component", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.Components.Versions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/offline/{depot}": { + "get": { + "tags": [ + "Esx.Settings.Depots.Offline" + ], + "description": "Gets the information about an imported offline software depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.Offline_get", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier for the depot.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.offline`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot with given identifier depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the imported offline software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Depots.Offline" + ], + "description": "\n\n The task-based delete operation removes content of an imported offline depot from vLCM completely. \n\n Note: The non task-based delete operation has been deprecated. It deletes only the record of depot from the list of imported offline software depots, instead of removing the depot's content from vLCM.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleDepots.Delete`. \n", + "operationId": "Esx.Settings.Depots.Offline_delete", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier of the depot to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.offline`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " The delete spec.\n\nThis parameter was added in __vSphere API 9.0.0.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.DeleteSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the given depot is system-defined. This error is applicable to the task-based delete operation only.\n\n***Vapi.Std.Errors.ResourceInUse*** If the content of depot to be deleted is used in some baseline or desired state. The value of the data property of *Vapi.Std.Errors.Error* will be the PrecheckResult schema that lists the information of affected baselines and desired states. This error is applicable to the task-based delete operation only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based delete operation, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data property of *Vapi.Std.Errors.Error* will be the DeleteResult schema that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/offline": { + "get": { + "tags": [ + "Esx.Settings.Depots.Offline" + ], + "description": "Returns currently imported offline software depots.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.Offline_list", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of currently imported offline software depots keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.depots.offline`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/offline?vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Depots.Offline" + ], + "description": "Imports a new offline software depot. This will also import the metadata and payloads from this offline depot. The returned task will fail and no offline depot would be created if there are any issues during import. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation. \n\n __Warning:__ Using HTTP is not secure. Please use HTTPS URLs instead.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Depots.Offline_create$Task", + "requestBody": { + "description": "Specification to import an offline depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If an invalid *Esx.Settings.Depots.Offline.CreateSpec.location* is provided.\n\n***Vapi.Std.Errors.AlreadyExists*** If the depot content already exists. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains existing depot identifier as part of depot property defined in *Esx.Settings.Depots.Offline.CreateResult*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Identifier of the imported depot as part of result structure.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/offline/{depot}?vmw-task=true": { + "delete": { + "tags": [ + "Esx.Settings.Depots.Offline" + ], + "description": "\n\n The task-based delete operation removes content of an imported offline depot from vLCM completely. \n\n Note: The non task-based delete operation has been deprecated. It deletes only the record of depot from the list of imported offline software depots, instead of removing the depot's content from vLCM.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleDepots.Delete`. \n", + "operationId": "Esx.Settings.Depots.Offline_delete$Task", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier of the depot to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.offline`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " The delete spec.\n\nThis parameter was added in __vSphere API 9.0.0.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.DeleteSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the given depot is system-defined. This error is applicable to the task-based delete operation only.\n\n***Vapi.Std.Errors.ResourceInUse*** If the content of depot to be deleted is used in some baseline or desired state. The value of the data property of *Vapi.Std.Errors.Error* will be the PrecheckResult schema that lists the information of affected baselines and desired states. This error is applicable to the task-based delete operation only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based delete operation, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data property of *Vapi.Std.Errors.Error* will be the DeleteResult schema that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/offline?action=createFromHost&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Depots.Offline" + ], + "description": "\n\n Extract the current software specification applied to the host and import it into the depot. Returns details about the current software specification applied to the host. \n\n The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Depots.Offline_createFromHost$Task", + "requestBody": { + "description": "ConnectionSpec connection spec for the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.ConnectionSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the *Esx.Settings.Depots.Offline.HostCredentials* property of spec is invalid or the hash algorithm used to generate ConnectionSpec.HostCredentials#sslThumbPrint is not SHA-1 or SHA-256.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the target node cannot be validated by comparing with the thumbprint provided in ConnectionSpec.HostCredentials#sslThumbPrint or the full certificate provided in ConnectionSpec.HostCredentials#sslCertificate. The value of the {@link UnverifiedPeer#data) {@term field} will be a {@term structure} that contains one of the {@term fields} defined in {@link com.vmware.esx.hosts.CertificateInfo}.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no *Esx.Settings.Depots.Offline.HostCredentials.host_name* property associated with host id in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "DepotExtractInfo details about the current software specification applied to the host extracted into the depot.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/online": { + "get": { + "tags": [ + "Esx.Settings.Depots.Online" + ], + "description": "Returns a list of currently configured online software depots.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.Online_list", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of currently configured online software depots keyed by their identifiers.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.depots.online`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Online.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Esx.Settings.Depots.Online" + ], + "description": "Adds a new online software depot to the list of currently configured online software depots. \n\n __Warning:__ Using HTTP is not secure. Please use HTTPS URLs instead.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Depots.Online_create", + "requestBody": { + "description": "Depot information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Online.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If an invalid location is provided.\n\n***Vapi.Std.Errors.AlreadyExists*** If depot with given location already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Identifier of the currently configured online depot.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.depots.online`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/online/{depot}": { + "get": { + "tags": [ + "Esx.Settings.Depots.Online" + ], + "description": "Gets the information about a currently configured online software depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.Online_get", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier for the depot.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.online`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot with given identifier depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information of the currently configured online software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Online.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Depots.Online" + ], + "description": "The task-based delete operation removes content of a user-imported online depot from vLCM completely. As a result, the URL of the user-imported online depot will also be removed. \n\nNote: \n\n1. To remove content of system-defined online depots, use flush operation. \n\n2. The non task-based delete operation has been deprecated. It only deletes the record of depot from the list of imported online software depots, instead of removing the depot's content from the system.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleDepots.Delete`. \n", + "operationId": "Esx.Settings.Depots.Online_delete", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier of the depot to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.online`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Spec for depot deletion operation.\n\nThis parameter was added in __vSphere API 9.0.0.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Online.DeleteSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the given depot is system-defined. This error is applicable to the task-based delete operation only.\n\n***Vapi.Std.Errors.ResourceInUse*** If the content of depot to be deleted is used in some baseline or desired state. \n\nThe value of the data property of *Vapi.Std.Errors.Error* will be the PrecheckResult schema that lists the information of affected baselines and desired states. \n\nThis error is applicable to the task-based delete operation only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. \n\nThe accompanying error message will give more details about the failure. \n\nFor task-based delete operation, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data property of *Vapi.Std.Errors.Error* will be the DeleteResult schema that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Esx.Settings.Depots.Online" + ], + "description": "Updates the configuration of a currently configured online software depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Depots.Online_update", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier of the depot to be updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.online`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Update specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Online.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If given depot is system defined.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/online/{depot}?vmw-task=true": { + "delete": { + "tags": [ + "Esx.Settings.Depots.Online" + ], + "description": "The task-based delete operation removes content of a user-imported online depot from vLCM completely. As a result, the URL of the user-imported online depot will also be removed. \n\nNote: \n\n1. To remove content of system-defined online depots, use flush operation. \n\n2. The non task-based delete operation has been deprecated. It only deletes the record of depot from the list of imported online software depots, instead of removing the depot's content from the system.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleDepots.Delete`. \n", + "operationId": "Esx.Settings.Depots.Online_delete$Task", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier of the depot to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.online`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Spec for depot deletion operation.\n\nThis parameter was added in __vSphere API 9.0.0.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Online.DeleteSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the given depot is system-defined. This error is applicable to the task-based delete operation only.\n\n***Vapi.Std.Errors.ResourceInUse*** If the content of depot to be deleted is used in some baseline or desired state. \n\nThe value of the data property of *Vapi.Std.Errors.Error* will be the PrecheckResult schema that lists the information of affected baselines and desired states. \n\nThis error is applicable to the task-based delete operation only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. \n\nThe accompanying error message will give more details about the failure. \n\nFor task-based delete operation, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data property of *Vapi.Std.Errors.Error* will be the DeleteResult schema that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/online/{depot}?action=flush&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Depots.Online" + ], + "description": "\n\n The task-based flush operation removes content of a system-defined online depot from vLCM completely. As a result, the system-defined online depot will be disabled. \n\n Note: To remove content of user-imported online depots, use the task-based delete operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleDepots.Delete`. \n", + "operationId": "Esx.Settings.Depots.Online_flush$Task", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier of the depot to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.online`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Spec for depot flushing operation.\n\nThis parameter was added in __vSphere API 9.0.0.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Online.DeleteSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the given depot is NOT system-defined.\n\n***Vapi.Std.Errors.ResourceInUse*** If the content of depot to be deleted is used in some baseline or desired state. The value of the data property of *Vapi.Std.Errors.Error* will be the PrecheckResult schema that lists the information of affected baselines and desired states.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. flush is a task-based operation. Once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data property of *Vapi.Std.Errors.Error* will be the FlushResult schema that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot associated with parameter depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/sync-schedule": { + "get": { + "tags": [ + "Esx.Settings.Depots.SyncSchedule" + ], + "description": "Returns the currently configured software depot sync schedule.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.SyncSchedule_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Currently configured sync schedule.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.SyncSchedule.Spec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Depots.SyncSchedule" + ], + "description": "Sets the software depot sync schedule.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Depots.SyncSchedule_set", + "requestBody": { + "description": "Information of the software depot sync schedule.\n\nIf missing or `null`, it will be reset to the default schedule, which is daily at a random hour chosen when this API is called.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.SyncSchedule.Spec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "If *Esx.Settings.Depots.SyncSchedule.Spec.schedule* is unset while *Esx.Settings.Depots.SyncSchedule.Spec.enabled* is set to true or if any of the values is not within valid range.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/umds": { + "get": { + "tags": [ + "Esx.Settings.Depots.Umds" + ], + "description": "Gets the information about a currently configured UMDS software depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.Umds_get", + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no UMDS software depot set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information of the currently configured UMDS software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Umds.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Depots.Umds" + ], + "description": "Sets or overwrites information about the UMDS software depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Depots.Umds_set", + "requestBody": { + "description": "Specification to set the UMDS depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Umds.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If an invalid location is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Depots.Umds" + ], + "description": "The task-based delete operation removes content of the UMDS depot from vLCM completely. Note: The non task-based delete operation has been deprecated. It deletes only the record of UMDS depot from database, instead of removing the content of UMDS depot from vLCM.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleDepots.Delete`. \n", + "operationId": "Esx.Settings.Depots.Umds_delete", + "responses": { + "400": { + "description": "If the content of UMDS depot to be deleted is used in some baseline or desired state. The value of the data property of *Vapi.Std.Errors.Error* will be the PrecheckResult schema that lists the information of affected baselines and desired states. This error is applicable to the task-based delete operation only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based delete operation, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data property of *Vapi.Std.Errors.Error* will be the DeleteResult schema that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no UMDS depot configured in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Esx.Settings.Depots.Umds" + ], + "description": "Updates the configuration of a currently configured UMDS software depot.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Depots.Umds_update", + "requestBody": { + "description": "Update specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Umds.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no UMDS depot configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/umds?vmw-task=true": { + "delete": { + "tags": [ + "Esx.Settings.Depots.Umds" + ], + "description": "The task-based delete operation removes content of the UMDS depot from vLCM completely. Note: The non task-based delete operation has been deprecated. It deletes only the record of UMDS depot from database, instead of removing the content of UMDS depot from vLCM.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleDepots.Delete`. \n", + "operationId": "Esx.Settings.Depots.Umds_delete$Task", + "responses": { + "400": { + "description": "If the content of UMDS depot to be deleted is used in some baseline or desired state. The value of the data property of *Vapi.Std.Errors.Error* will be the PrecheckResult schema that lists the information of affected baselines and desired states. This error is applicable to the task-based delete operation only.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there some unknown internal error. The accompanying error message will give more details about the failure. For task-based delete operation, once the task is started, it does NOT stop if encountering an error. Instead, it will continuously run to completion. In this case, the value of the data property of *Vapi.Std.Errors.Error* will be the DeleteResult schema that lists all the errors encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no UMDS depot configured in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/offline/{depot}/content": { + "get": { + "tags": [ + "Esx.Settings.Depots.Offline.Content" + ], + "description": "Gets the information of content of an imported offline software depot.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.Offline.Content_get", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier for the depot.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.offline`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot with given identifier depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information of content of the imported offline software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.Content.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/online/{depot}/content": { + "get": { + "tags": [ + "Esx.Settings.Depots.Online.Content" + ], + "description": "Gets the information of content of an imported online software depot.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.Online.Content_get", + "parameters": [ + { + "name": "depot", + "in": "path", + "description": "Identifier for the depot.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.depots.online`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot with given identifier depot in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information of content of the imported online software depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Online.Content.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/depots/umds/content": { + "get": { + "tags": [ + "Esx.Settings.Depots.Umds.Content" + ], + "description": "Gets the information of content about the UMDS depot.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Depots.Umds.Content_get", + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no UMDS depot configured in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information of content of the imported UMDS depot.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Depots.Umds.Content.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hardware-support/managers": { + "get": { + "tags": [ + "Esx.Settings.HardwareSupport.Managers" + ], + "description": "Returns the list of registered Hardware Support Managers (HSMs) in the system.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.HardwareSupport.Managers_list", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of currently registered Hardware Support Manager (HSMs)", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupport.Managers.HardwareSupportManagerInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hardware-support/managers/{manager}/packages": { + "get": { + "tags": [ + "Esx.Settings.HardwareSupport.Managers.Packages" + ], + "description": "Returns the list of available Hardware Support Packages (HSPs) for a particular host, as specified by its Hardware Support Manager (HSM)\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.HardwareSupport.Managers.Packages_list", + "parameters": [ + { + "name": "manager", + "in": "path", + "description": "Identifier for the Hardware Support Manager (HSM).\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Specification of Hardware Support Packages (HSPs) to be returned\n\nIf missing or `null`, the behavior is equivalent to a *Esx.Settings.HardwareSupport.Managers.Packages.FilterSpec* with all properties missing or `null`, which means all HSPs match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupport.Managers.Packages.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated. named manager in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no Hardware Support Manager (HSM) with the specified name", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of available Hardware Support Packages (HSPs) for given manager", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupport.Managers.Packages.HardwareSupportPackageInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hardware-support/managers/{manager}/packages/{pkg}/versions/{version}": { + "get": { + "tags": [ + "Esx.Settings.HardwareSupport.Managers.Packages.Versions" + ], + "description": "Returns the detailed information for a specific version of an available Hardware Support Packages (HSPs) as specified by the Hardware Support Manager (HSM)\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.HardwareSupport.Managers.Packages.Versions_get", + "parameters": [ + { + "name": "manager", + "in": "path", + "description": "Identifier for the Hardware Support Manager (HSM).\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pkg", + "in": "path", + "description": "The name of the Hardware Support Package (HSP)\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "The version of the Hardware Support Package (HSP)", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Specification of detailed information to be returned\n\nIf missing or `null`, the behavior is equivalent to a *Esx.Settings.HardwareSupport.Managers.Packages.Versions.FilterSpec* with all properties missing or `null`, which means all releases supported are returned but no component information for any particular release is included.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupport.Managers.Packages.Versions.FilterSpec" + } + } + ], + "responses": { + "400": { + "description": "If any of the specified parameters are Invalid (e.g. if the release version specified in the query parameter is not, in fact, among those supported by the Hardware Support Package (HSP).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated. named manager in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privilege to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no Hardware Support Manager (HSM) with the specified name, or no Hardware Support Package (HSP) with the specified name and version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "detailed information on Hardware Support Packages (HSPs)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupport.Managers.Packages.Versions.PackageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/configuration?action=extract": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Configuration" + ], + "description": "Extracts the current configuration document from the ESXi host and returns it in a serialized JSON format.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.ClusterConfiguration.Modify`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.ClusterConfiguration.Modify`. \n", + "operationId": "Esx.Settings.Hosts.Configuration_extract", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The result contains the current configuration of the ESXi host encoded as JSON.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Configuration.ExtractResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/depot-overrides": { + "get": { + "tags": [ + "Esx.Settings.Hosts.DepotOverrides" + ], + "description": "Returns the information about currently configured depot overrides for a given host.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Hosts.DepotOverrides_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier for the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about currently configured depot overrides for a given host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.DepotOverrides.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/depot-overrides?action=add": { + "post": { + "tags": [ + "Esx.Settings.Hosts.DepotOverrides" + ], + "description": "Adds a new depot override to the list of currently configured depot overrides for a given host. \n\n __Warning:__ Using HTTP is not secure. Please use HTTPS URLs instead.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Hosts.DepotOverrides_add", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier for the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information of a depot override.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.DepotOverrides.Depot" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If an invalid location is provided.\n\n***Vapi.Std.Errors.AlreadyExists*** if depot override with given information already exists.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/depot-overrides?action=remove": { + "post": { + "tags": [ + "Esx.Settings.Hosts.DepotOverrides" + ], + "description": "Removes a depot override from the list of currently configured depot overrides for a given host.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Hosts.DepotOverrides_remove", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier for the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information of the depot override to be removed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.DepotOverrides.Depot" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no depot override with given information or no host associated with identifier {param.name host} in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software" + ], + "description": "Returns the complete desired software specification. In case of Single Image Host, the specification will contain Default Image In case of Composite Image Host, the specification will contain Default Image + Alternative Images\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Host software specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software?action=export": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software" + ], + "description": "Exports the desired software specification document and/or image. \n\n This API will not export the solution section of the desired software specification.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software_export", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The export specification to specify data types to be exported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.ExportSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is am unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A map from export type to URL of the exported data for that type.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "uri" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/display-name": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software" + ], + "description": "Returns the display name of the software specification in the repository that is assigned to the host.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software_getDisplayName", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "display name of the software specification in the repository that is assigned to the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software?action=scan&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software" + ], + "description": "Scans the host against the host's desired state.. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software_scan$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Compliance result of the host.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software?action=stage&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software" + ], + "description": "Stages the desired software document associated with the given host. \n\n If commit property is set, it implies the minimum commit that the *POST /esx/settings/hosts/{host}/software?action=stage* operation should use, however if subsequent commits have been made to the desired state document the stage operation will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareRemediation.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software_stage$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "stage specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.StageSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the commit property of spec specifies an invalid commit, or the StageSpec#hosts property of spec specifies an invalid host or the host is not managed with a single software specification.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is another operation in progress.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is an unknown internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result of the *POST /esx/settings/hosts/{host}/software?action=stage* operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software?action=apply&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software" + ], + "description": "Applies the desired software document associated with the given host. \n\n If commit property is set, it implies the minimum commit that the *POST /esx/settings/hosts/{host}/software?action=apply* operation should use, however if subsequent commits have been made to the desired state document the apply operation will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareRemediation.Write` and `VcIntegrity.lifecycleHealth.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software_apply$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Apply specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.ApplySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** If the host is already at specified commit as described in the apply specification.\n\n***Vapi.Std.Errors.InvalidArgument*** If the commit property of spec specifies an invalid commit.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is another operation in progress.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or if desired software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is an unknown internal error or if the EULA has not been accepted. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The result of the *POST /esx/settings/hosts/{host}/software?action=apply* operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software?action=check&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software" + ], + "description": "Runs checks on the host before applying the desired software document. \n\n Checks if host is in a good state to be updated with the desired software document. If commit property is set it implies the minimum commit that the check operation should use, however if subsequent commits have been made to the desired state document the check operation will use the most recent desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareRemediation.Read` and `VcIntegrity.lifecycleHealth.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software_check$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Check specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.CheckSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the commit property of spec specifies an invalid commit.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is another operation in progress or if the commit property of spec specifies a commit that has already been applied.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If there is unknown internal error. The accompanying error message will give more details about the failure.\n\n***Vapi.Std.Errors.TimedOut*** If the operation times out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "The results of all checks performed.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/enablement/software": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Enablement.Software" + ], + "description": "Returns whether the given standalone host is managed with a single software specification.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Hosts.Enablement.Software_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "True if feature is enabled, false otherwise.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Enablement.Software.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/enablement/software?action=check&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Enablement.Software" + ], + "description": "Checks the possibility to manage the host with a single software specification.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Hosts.Enablement.Software_check$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Check specification.\n\nIf missing or `null`, all checks are performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Enablement.Software.CheckSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** If the feature is already enabled for the given host.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Result of the check.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/enablement/software?vmw-task=true": { + "put": { + "tags": [ + "Esx.Settings.Hosts.Enablement.Software" + ], + "description": "Enables the feature which manages the host with a single software specification.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Hosts.Enablement.Software_enable$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Enablement specification.\n\nIf missing or `null`, all checks are performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Enablement.Software.EnableSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** If the feature is already enabled for the given host.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If feature enablement failed for the given host. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Esx.Settings.Hosts.Enablement.Software.CheckResult*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/policies/apply": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Policies.Apply" + ], + "description": "Returns the configured policy that has been set for the ESXi host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Hosts.Policies.Apply_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "The host identifier.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The configured policies that impact the apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Hosts.Policies.Apply" + ], + "description": "This API will set the configured policy for an ESXi host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Write`. \n", + "operationId": "Esx.Settings.Hosts.Policies.Apply_set", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "The host identifier.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The policy specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If invalid value is provided.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/policies/apply/effective": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Policies.Apply.Effective" + ], + "description": "Returns the effective policy based on system defaults and what has been configured for the ESXi host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Hosts.Policies.Apply.Effective_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "The host identifier.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The effective policies that impact the apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Policies.Apply.Effective.EffectivePolicySpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/add-on": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.AddOn" + ], + "description": "Returns the desired OEM add-on specification for a given host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.AddOn_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or if desired OEM add-on specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Desired OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/base-image": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.BaseImage" + ], + "description": "Returns the desired base-image specification set for given host\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.BaseImage_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/commits/{commit}": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Commits" + ], + "description": "Returns the information about a specific commit.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Commits_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "commit", + "in": "path", + "description": "Identifier of the specific commit.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or if working copy of the software document is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the commit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Commits.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/compliance": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Compliance" + ], + "description": "Returns the compliance state for the host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Compliance_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Host compliance result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HostCompliance" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Components" + ], + "description": "Returns the component version for the given component in the desired software specification.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Components_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Details about the component version.\n\nIf missing or `null` then version is supposed to be chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/components": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Components" + ], + "description": "Returns a list of components in the desired software specification.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Components_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of ComponentInfo keyed by the component identifier. If no version is specified in desired software specification, then it will be empty.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts" + ], + "description": "Returns information about the software drafts for the specified host that match the *Esx.Settings.Hosts.Software.Drafts.FilterSpec*.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "owners", + "in": "query", + "description": "Owners of the drafts.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, drafts from all owners will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of software drafts keyed by their identifiers.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts" + ], + "description": "Creates a new software draft from the desired document. It will be deleted, when the draft is committed successfully.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts_create", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** If there is already a draft created by this user.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Identifier of the working copy of the document.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts" + ], + "description": "Returns the information about given software draft.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the Software Draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts" + ], + "description": "Deletes the software draft.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts_delete", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts?action=import-software-spec": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts" + ], + "description": "Imports the desired software specification. \n\n __Warning:__ Using HTTP is not secure. Please use HTTPS URLs instead.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts_importSoftwareSpec", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification to import desired software specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.ImportSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or if the source type of import specification is of either LATEST_RECOMMENDATION or CURRENT_SERIES_RECOMMENDATION, and a recommendation does not exist for the host. It was either never generated or deleted due to changes in host state such as a new desired image spec being committed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the working copy of the document.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}?action=commit&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts" + ], + "description": "Commits the specified draft as the desired state document. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation. \n\n It will also validate the document before committing it.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts_commit$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The spec to be used to create the commit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.CommitSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** If there is another operation in progress.\n\n***Vapi.Std.Errors.InvalidArgument*** If validation of the software document fails. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Esx.Settings.Hosts.Software.Drafts.ValidateResult*.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or if there is no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Identifier of the commit.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}?action=validate&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts" + ], + "description": "Validates the software draft. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts_validate$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Result of validation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}?action=scan&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts" + ], + "description": "Scans the host against the software draft. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts_scan$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Result of scan operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.EffectiveComponents" + ], + "description": "Returns the effective components for the host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.EffectiveComponents_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/effective-components?with-removed-components": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.EffectiveComponents" + ], + "description": "Returns the list of all the effective components. Pass the param \"with-removed-components\" to get even the removed components.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.EffectiveComponents_listWithRemovedComponents", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/recommendations": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Recommendations" + ], + "description": "Returns Information about the most recent recommendation generation result.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Recommendations_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the most recent recommendation generation result.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Recommendations.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/recommendations?action=generate&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Hosts.Software.Recommendations" + ], + "description": "Generates recommended software image spec(s) based on current desired software spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Recommendations_generate$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "409": { + "description": "If a new desired image is committed in parallel via a different client while recommendation is being generated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/removed-components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.RemovedComponents" + ], + "description": "Returns the component version for the given removed component in the desired software specification.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.RemovedComponents_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system or or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Details about the component.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/removed-components": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.RemovedComponents" + ], + "description": "Returns a map of removed components in the desired software specification.\n\nThis operation was added in __vSphere API 8.0.3.0__.", + "operationId": "Esx.Settings.Hosts.Software.RemovedComponents_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of ComponentInfo keyed by the component identifier. If no version is specified in desired software specification, then it will be empty.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/software-spec-metadata": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.SoftwareSpecMetadata" + ], + "description": "Returns the software specification metadata in the repository that is assigned to the host.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.SoftwareSpecMetadata_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "software specification metadata in the repository that is assigned to the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SoftwareSpecMetadata" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/solutions/{solution}": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Solutions" + ], + "description": "Returns components registered for the given solution in the desired software specification.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Solutions_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no solution associated with . solution in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Specification of components registered by the solution.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/solutions": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Solutions" + ], + "description": "Returns all solutions in the desired software specification.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Solutions_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of solutions where key is solution identifier and value is a list of components registered by that solution.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/solutions/{solution}?vmw-task=true": { + "put": { + "tags": [ + "Esx.Settings.Hosts.Software.Solutions" + ], + "description": "Sets the components registered for the given solution in the desired software specification. The task will set only one solution specification at a time. Solution constraints would be validated with the current desired software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Solutions_set$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Registered solution specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.SolutionSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or solution associated with solution in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "ID of the newly created commit.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Hosts.Software.Solutions" + ], + "description": "Deletes the given solution from the desired software specification. The deletion will be validated along with the entire software specification before it is committed as new desired spec. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Solutions_delete$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "solution", + "in": "path", + "description": "Identifier of the solution.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.solution`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if validation of the software document fails. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in ValidateResult.\n\n***Vapi.Std.Errors.Unsupported*** If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or solution associated with solution in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "ID of the newly created commit.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/display-name": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.DisplayName" + ], + "description": "Returns the display name of the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.DisplayName_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the software draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "display name of the Software Draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.DisplayName.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.DisplayName" + ], + "description": "Sets a new display name in the software draft. It will overwrite the existing name if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.DisplayName_set", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Display name specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.DisplayName.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/software/add-on": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.AddOn" + ], + "description": "Returns the OEM add-on specification in a software draft.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.AddOn_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.AddOn" + ], + "description": "Sets a new desired OEM add-on specification in the software draft. It will overwrite the existing desired OEM add-on specification if one already exists.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.AddOn_set", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "AddOn specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.AddOn" + ], + "description": "Deletes the desired OEM add-on specification in the software draft.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.AddOn_delete", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/software/base-image": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.BaseImage" + ], + "description": "Returns the base-image specification in a software draft.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.BaseImage_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.BaseImage" + ], + "description": "Sets a new desired base-image specification in the software draft. It will overwrite the existing desired base-image specification if one already exists.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.BaseImage_set", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/software/components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.Components" + ], + "description": "Returns the component version for the given component in the software draft.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.Components_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.\n\nIf missing or `null` then version will be chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.Components" + ], + "description": "Set the component version for a given component in the software draft. This will overwrite any existing version for the given component.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.Components_set", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Component version.\n\nThis property is currently required. In the future,if this property is missing or `null` then version is chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.Components" + ], + "description": "Deletes the given component from the software draft.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.Components_delete", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/software/components": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.Components" + ], + "description": "Returns the components that comprise the software draft.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.Components_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component version information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.Components" + ], + "description": "Updates the list of components in a given draft. This allows set and/or delete of multiple components in a batch operation.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.Components_update", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Update specification containing list of components to add and/or delete.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.Software.Components.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/software/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.EffectiveComponents" + ], + "description": "Returns the components that comprise the desired software state of the host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.EffectiveComponents_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/software/effective-components?with-removed-components": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.EffectiveComponents" + ], + "description": "Returns the list of all the effective components. Pass the param \"with-removed-components\" to get even the removed components.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.EffectiveComponents_listWithRemovedComponents", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/software/removed-components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents" + ], + "description": "Returns the component information for the given removed component in the software draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the standalone host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host. Unsupported type added in 9.0, previous releases may show InternalServerError.\n\nThis error was added in __vSphere API 9.0.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no such host host or no draft associated with draft or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents" + ], + "description": "Set the component to be removed in the software draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents_set", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the standalone host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host. Unsupported type added in 9.0, previous releases may show InternalServerError.\n\nThis error was added in __vSphere API 9.0.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents" + ], + "description": "Deletes the given component from the removed component section of the software draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents_delete", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the standalone host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host. Unsupported type added in 9.0, previous releases may show InternalServerError.\n\nThis error was added in __vSphere API 9.0.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host associated with host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/drafts/{draft}/software/removed-components": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents" + ], + "description": "Returns the map of removed components that comprise the software draft.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Drafts.Software.RemovedComponents_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the standalone host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host. Unsupported type added in 9.0, previous releases may show InternalServerError.\n\nThis error was added in __vSphere API 9.0.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no host host or no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/reports/apply-impact": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Reports.ApplyImpact" + ], + "description": "Returns a summary of how a standalone ESXi host will be impacted during an apply operation. The impact is generated from the compliance information obtained from *GET /esx/settings/hosts/{host}/software/compliance*\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Reports.ApplyImpact_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "The host identifier.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Summary of how hosts will be impacted during an apply operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.ApplyImpact.HostImpact" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/reports/last-apply-result": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Reports.LastApplyResult" + ], + "description": "Returns the most recent available result of applying the desired software document to the standalone ESXi host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Reports.LastApplyResult_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "the host identifier.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no standalone host associated with host in the system or if there is no result associated with the host host", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Most recent available result of applying the desired software document to the standalone ESXi host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/hosts/{host}/software/reports/last-check-result": { + "get": { + "tags": [ + "Esx.Settings.Hosts.Software.Reports.LastCheckResult" + ], + "description": "Returns the most recent available result of checks run on the standalone host before the application of the desired software document to the host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `HostSystem` referenced by the parameter host requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n", + "operationId": "Esx.Settings.Hosts.Software.Reports.LastCheckResult_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "The host identifier.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the host is not a vLCM managed standalone host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If there is no standalone host associated with host in the system or if there is no result associated with the host host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Most recent available result of the checks run on the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory/reports/summary/clusters": { + "get": { + "tags": [ + "Esx.Settings.Inventory.Reports.Summary.Clusters" + ], + "description": "Returns the information about the software specifications from the repository assigned to clusters as well as operations summary performed on the clusters under inventory defined in the *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams* as an input.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.clusters* requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.folders* requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.datacenters* requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n", + "operationId": "Esx.Settings.Inventory.Reports.Summary.Clusters_get", + "parameters": [ + { + "name": "spec", + "in": "query", + "description": "Describe the inventory objects on which the specified operation will be performed.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams" + } + }, + { + "name": "clusters", + "in": "query", + "description": "List of clusters on which the operations summary needs to be generated.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.InventoryType.CLUSTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "List of folders on which the operations summary needs to be generated. Internally the folder entities will be expanded to individual clusters which are underneath the designated folder. If the list contains the managed object ID of the root folder, the specified operation will be executed on all clusters in the vCenter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.InventoryType.FOLDER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "List of data-centers on which the operations summary needs to be generated. Internally the data-center entities will be expanded to individual clusters which are underneath the designated data-center.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.InventoryType.DATACENTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "If invalid *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams* is passed as an input.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized to invoke the interface.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If some of the provided inventories doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will contain more details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Summary containing the software specifications from the repository assigned to clusters and operations summary performed on the clusters under inventory passed in as input", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Clusters.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory/reports/summary/hosts": { + "get": { + "tags": [ + "Esx.Settings.Inventory.Reports.Summary.Hosts" + ], + "description": "Returns the information about the software specifications from the repository assigned to standalone hosts as well as operations summary performed on the standalone hosts under inventory defined in the *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams* as an input.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.hosts* requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.folders* requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.datacenters* requires `VcIntegrity.lifecycleSoftwareRemediation.Read`. \n", + "operationId": "Esx.Settings.Inventory.Reports.Summary.Hosts_get", + "parameters": [ + { + "name": "spec", + "in": "query", + "description": "Describe the inventory objects on which the specified operation will be performed.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams" + } + }, + { + "name": "hosts", + "in": "query", + "description": "List of standalone hosts on which the operations summary needs to be generated.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.InventoryType.HOST*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "List of folders on which the operations summary needs to be generated. Internally the folder entities will be expanded to individual standalone hosts which are underneath the designated folder. If the list contains the managed object ID of the root folder, the specified operation will be executed on all standalone hosts in the vCenter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.InventoryType.FOLDER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "List of data-centers on which the operations summary needs to be generated. Internally the data-center entities will be expanded to individual standalone hosts which are underneath the designated data-center.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.InventoryType.DATACENTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "If invalid *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams* is passed as an input.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized to invoke the interface.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If some of the provided inventories doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will contain more details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Summary containing the software specifications from the repository assigned to standalone hosts and operations summary performed on the standalone hosts under inventory passed in as input.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Hosts.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory/reports/transition-summary/clusters": { + "get": { + "tags": [ + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters" + ], + "description": "Returns the image and transition summary of the clusters defined in the *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams* as an input.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.clusters* requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.folders* requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.datacenters* requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters_get", + "parameters": [ + { + "name": "spec", + "in": "query", + "description": "Describe the inventory objects on which the specified operation will be performed.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams" + } + }, + { + "name": "clusters", + "in": "query", + "description": "List of clusters on which the specified operation needs to be executed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.InventoryType.CLUSTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "List of folders on which the specified operation will be executed. Internally each folder entity will be expanded to individual baseline managed clusters which are underneath the designated folder. If the list contains the managed object ID of the root folder, the specified operation will be executed on all baseline managed clusters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.InventoryType.FOLDER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "List of the data-centers on which the specified operation will be executed. Internally each data-center entity will be expanded to individual baseline managed clusters which are underneath the designated data-center.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.InventoryType.DATACENTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "If invalid *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams* is passed as an input", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized to invoke the interface.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If some of the provided inventories doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will contain more details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Summary containing image details and transition status of the entities passed in input", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/inventory/reports/transition-summary/hosts": { + "get": { + "tags": [ + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts" + ], + "description": "Returns the image and transition summaries of standalone hosts defined in the *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams* which is passed as an input.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `HostSystem` referenced by the property *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.hosts* requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `Folder` referenced by the property *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.folders* requires `VcIntegrity.lifecycleSettings.Read`. \n - The resource `Datacenter` referenced by the property *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.datacenters* requires `VcIntegrity.lifecycleSettings.Read`. \n", + "operationId": "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts_get", + "parameters": [ + { + "name": "spec", + "in": "query", + "description": "Describe the inventory objects on which the specified operation will be performed.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams" + } + }, + { + "name": "hosts", + "in": "query", + "description": "List of standalone hosts on which the specified operation needs to be executed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.InventoryType.HOST*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "List of folders on which the specified operation will be executed. Internally each folder entity will be expanded to individual baseline managed standalone hosts which are underneath the designated folder. If the list contains the managed object ID of the root folder, the specified operation will be executed on all baseline managed standalone hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.InventoryType.FOLDER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "List of the data-centers on which the specified operation will be executed. Internally each data-center entity will be expanded to individual baseline managed standalone hosts which are underneath the designated data-center.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.InventoryType.DATACENTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "If invalid *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams* is passed as an input", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized to invoke the interface.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If some of the provided inventories doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will contain more details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Summary containing image details and transition status of the entities passed in input", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/{softwareSpec}": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software" + ], + "description": "Returns the details of a software specification in the repository.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software_get", + "parameters": [ + { + "name": "softwareSpec", + "in": "path", + "description": "The identifier of the software specification in the repository.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpec in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the software specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software" + ], + "description": "Delete the software specification in the repository.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software_delete", + "parameters": [ + { + "name": "softwareSpec", + "in": "path", + "description": "The identifier of the software specification in the repository.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the software specification associated with softwareSpec is assigned to one or more entities.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpec in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Esx.Settings.Repository.Software" + ], + "description": "Updates the software specification in the repository.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software_update", + "parameters": [ + { + "name": "softwareSpec", + "in": "path", + "description": "Identifier of the software specification in the repository.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The update specification. Fields set in the update spec are updated with the new value passed in the request. The fields that are not set (or empty) are ignored.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpec in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software" + ], + "description": "Returns the list of software specification in the repository.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software_list", + "parameters": [ + { + "name": "owners", + "in": "query", + "description": "Filter software specification in repository based on the image owners.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the filter will match all the owners.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "display_names", + "in": "query", + "description": "Filter software specification in repository based on the display names.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the filter will match all the display names.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of software specification in the repository matching the filter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/{softwareSpec}?action=export": { + "post": { + "tags": [ + "Esx.Settings.Repository.Software" + ], + "description": "Exports the software specification document and/or the image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software_export", + "parameters": [ + { + "name": "softwareSpec", + "in": "path", + "description": "Identifier of the software specification in the repository.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The export specification to specify data types to be exported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.ExportSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpec in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A map from export type to URL of the exported data for that type.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "uri" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/{softwareSpec}?action=copy": { + "post": { + "tags": [ + "Esx.Settings.Repository.Software" + ], + "description": "Create a draft based on an existing software specification in the repository. A new global draft is created if one doesn't exist already. The draft is populated with the details of the existing software specification. The draft will have the name and spec of the existing software specification. The user should modify these before validating and saving the draft. Validating or saving the draft will fail if the name and spec are not modified. Upon a successful commit of this draft a new software specification in the repository will be created and this draft will be deleted.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software_copy", + "parameters": [ + { + "name": "softwareSpec", + "in": "path", + "description": "Identifier of the software specification in the repository.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The spec to be used to create a draft based on existing software specification in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.CopySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If there is already a draft created by this user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyExists" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpec in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the working copy of the software.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/{softwareSpec}?action=edit": { + "post": { + "tags": [ + "Esx.Settings.Repository.Software" + ], + "description": "Edit the software specification in the repository. This operation will create a draft of the given software spec if it doesn't exist already. Upon a successful commit of this draft the existing software specification in the repository will be updated and this draft will be deleted.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software_edit", + "parameters": [ + { + "name": "softwareSpec", + "in": "path", + "description": "Identifier of the software specification in the repository.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The spec to be used to edit the software specification in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.EditSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** If there is already a draft created by this user.\n\n***Vapi.Std.Errors.ResourceInUse*** If the software associated with softwareSpec has inventory entities assigned to it.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpec in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is an unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the working copy of the software.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software?action=check-repository": { + "post": { + "tags": [ + "Esx.Settings.Repository.Software" + ], + "description": "Check if the provided software specification or name already exists in the repository. If any of the properties provided in spec by the user matches exactly with a software specification in the repository, the software specification is said to already exist. If the software specification exists in the repository, this operation will return a summary of the software specification.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Esx.Settings.Repository.Software_checkRepository", + "requestBody": { + "description": "The specification that describes what data needs to be checked in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.CheckSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If spec is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Complete summary of all the matching software specifications in the repository along with the type of match.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.CheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts" + ], + "description": "Returns information about the software drafts for the specified cluster that match the *Esx.Settings.Repository.Software.Drafts.FilterSpec*.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts_list", + "parameters": [ + { + "name": "software_spec_ids", + "in": "query", + "description": "Software specification identifier for which the draft is created. If the software specification identifier is set to -1, global software drafts are returned.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, drafts from all software specification identifiers are returned.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "owners", + "in": "query", + "description": "Owners of the drafts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, drafts from all owners will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of software drafts in the repository keyed by their identifiers that match the *Esx.Settings.Repository.Software.Drafts.FilterSpec*.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts" + ], + "description": "Creates a draft of a new software spec in the repository. It will be deleted, when the draft is committed successfully. This operation will create an empty draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts_create", + "requestBody": { + "description": "The spec to be used to create the draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If there is already a draft created by this user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyExists" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Identifier of the working copy of the document.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts" + ], + "description": "Returns the information about given software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the software draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the Software Draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts" + ], + "description": "Deletes the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts?action=import-software-spec": { + "post": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts" + ], + "description": "Imports the desired software specification as a new draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts_importSoftwareSpec", + "requestBody": { + "description": "Specification to import desired software specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.ImportSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the software draft.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}?action=commit&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts" + ], + "description": "Commits the specified draft as the software specification in the repository. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts_commit$Task", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy of the document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The spec to be used to create the commit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.CommitSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If validation of the software document fails. The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Esx.Settings.Repository.Software.Drafts.ValidateResult*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Identifier of the commit.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.commit`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}?action=validate&vmw-task=true": { + "post": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts" + ], + "description": "Validate the software draft. The result of this operation can be queried by calling the cis/tasks/{task-id} where the task-id is the response of this operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts_validate$Task", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the software draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Result of validation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/{softwareSpec}/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.EffectiveComponents" + ], + "description": "Returns the components that comprise the desired software state.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.EffectiveComponents_list", + "parameters": [ + { + "name": "softwareSpec", + "in": "path", + "description": "The identifier of the software specification in the repository.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spec", + "in": "query", + "description": " Filter spec to indicate whether removed components are included.\n\nIf missing or `null`, removed components are not included.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.EffectiveComponents.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpec in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/{softwareSpec}/alternative-images/{image}/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.AlternativeImages.EffectiveComponents" + ], + "description": "Returns the components that comprise the desired software state.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.AlternativeImages.EffectiveComponents_list", + "parameters": [ + { + "name": "softwareSpec", + "in": "path", + "description": "The identifier of the software specification in the repository.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spec", + "in": "query", + "description": " Filter spec to indicate whether removed components are included.\n\nIf missing or `null`, removed components are not included.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.AlternativeImages.EffectiveComponents.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no software specification associated with softwareSpec in the repository.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/add-on": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AddOn" + ], + "description": "Returns the OEM add-on specification in a software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AddOn_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AddOn" + ], + "description": "Sets a new desired OEM add-on specification in the software draft. It will overwrite the existing desired OEM add-on specification if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AddOn_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "AddOn specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AddOn" + ], + "description": "Deletes the desired OEM add-on specification in the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AddOn_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages" + ], + "description": "Returns a list of image info of the alternative images in the draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages_list", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "ListResult Map of Image ID and Image info of all the alternative images in the draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.AlternativeImages.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages" + ], + "description": "Creates a new alternative image for the given draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages_create", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Create spec of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.AlternativeImages.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Identifier of the alternative image.\n\nThe response will be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages" + ], + "description": "Get the alternative image specification for the given draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Alternative Image specification for the given draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AlternativeImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages" + ], + "description": "Deletes the alternative image for the given draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/base-image": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.BaseImage" + ], + "description": "Returns the base-image specification in a software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.BaseImage_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.BaseImage" + ], + "description": "Sets a new desired base-image specification in the software draft. It will overwrite the existing desired base-image specification if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.BaseImage_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.Components" + ], + "description": "Returns the component version for the given component in the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.Components_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.\n\nIf missing or `null` then version will be chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.Components" + ], + "description": "Set the component version for a given component in the software draft. This will overwrite any existing version for the given component.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.Components_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Component version.\n\nThis property is currently required. In the future,if this property is missing or `null` then version is chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.Components" + ], + "description": "Deletes the given component from the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.Components_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/components": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.Components" + ], + "description": "Returns the components that comprise the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.Components_list", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component version information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.Components" + ], + "description": "Updates the list of components in a given draft. This allows set and/or delete of multiple components in a batch operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.Components_update", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Update specification containing list of components to add and/or delete.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.Components.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/display-name": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.DisplayName" + ], + "description": "Returns the display name in a software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.DisplayName_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the software specification draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system or no display name specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Display name specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.DisplayName.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.DisplayName" + ], + "description": "Sets a new display name in the software specification draft. It will overwrite the existing display name if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.DisplayName_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the software specification draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Display name specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.DisplayName.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.EffectiveComponents" + ], + "description": "Returns the components that comprise the desired software state.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.EffectiveComponents_list", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spec", + "in": "query", + "description": " Filter spec to indicate whether removed components are included.\n\nIf missing or `null`, removed components are not included.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.EffectiveComponents.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/hardware-support": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.HardwareSupport" + ], + "description": "Returns a given software specification draft's Hardware Support Package (HSP) configuration.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.HardwareSupport_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of image working copy document being updated\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No working copy document draft in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Hardware Support Package (HSP) configured for use", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.HardwareSupport" + ], + "description": "Replaces a given software specification draft's Hardware Support Package (HSP) configuration.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.HardwareSupport_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of image working copy document being updated\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "new Hardware Support Package (HSP) configuration for the software specification draft.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Invalid spec was provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No working copy document draft in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.HardwareSupport" + ], + "description": "Deletes a given software specification draft's Hardware Support Package (HSP) configuration.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.HardwareSupport_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of image working copy document being updated\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No working copy document draft in the system, or no Hardware Support Package (HSP) configured as part of the working copy document.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/removed-components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.RemovedComponents" + ], + "description": "Returns the component information for the given removed component in the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.RemovedComponents_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.RemovedComponents" + ], + "description": "Set the component to be removed in the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.RemovedComponents_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.RemovedComponents" + ], + "description": "Deletes the given component from the removed components section of the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.RemovedComponents_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/removed-components": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.RemovedComponents" + ], + "description": "Returns the components that comprise the removed components section of the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.RemovedComponents_list", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "No draft associated with draft in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/add-on": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.AddOn" + ], + "description": "Returns the OEM add-on specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.AddOn_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "OEM add-on specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.AddOn" + ], + "description": "Sets the OEM add-on specification of the alternative image. It will overwrite the existing OEM add-on specification if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.AddOn_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "AddOn specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.AddOnSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.AddOn" + ], + "description": "Deletes the OEM add-on specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.AddOn_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft in the system or no add-on specification is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/base-image": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.BaseImage" + ], + "description": "Returns the base-image specification of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.BaseImage_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Base-image specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components" + ], + "description": "Returns the component version for the given component of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.\n\nIf missing or `null` then version will be chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components" + ], + "description": "Set the component version for a given component of the alternative image. This will overwrite any existing version for the given component.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Component version.\n\nThis property is currently required. In the future,if this property is missing or `null` then version is chosen based on the constraints in the system.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components" + ], + "description": "Deletes the given component of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/components": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components" + ], + "description": "Returns the components that comprise of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components_list", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component version information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components" + ], + "description": "Updates the list of components of the alternative image. This allows set and/or delete of multiple components in a batch operation.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components_update", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Update specification containing list of components to add and/or delete.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/display-name": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName" + ], + "description": "Returns the display name of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Info Display name info of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName" + ], + "description": "Sets the display name of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Display name spec of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/effective-components": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.EffectiveComponents" + ], + "description": "Returns the components that comprise the desired software state.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.EffectiveComponents_list", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spec", + "in": "query", + "description": " Filter spec to indicate whether removed components are included.\n\nIf missing or `null`, removed components are not included.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.AlternativeImages.EffectiveComponents.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of effective components keyed by their identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/hardware-support": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.HardwareSupport" + ], + "description": "Returns the Hardware Support Package (HSP) of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.HardwareSupport_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.\n\nif the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system or no Hardware Support Package (HSP) is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.\n\nIf the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Hardware Support Package (HSP) configured for use", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.HardwareSupport" + ], + "description": "Sets the Hardware Support Package (HSP) of the alternative image. It will overwrite the existing Hardware Support Package (HSP) specification if one already exists.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.HardwareSupport_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "new Hardware Support Package (HSP) configuration for the cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If multiple HSP is provided.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.\n\nif the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.\n\nIf the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.HardwareSupport" + ], + "description": "Deletes the Hardware Support Package (HSP) of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.HardwareSupport_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.\n\nif the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image in the system or no Hardware Support Package (HSP) is set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.\n\nIf the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/removed-components/{component}": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents" + ], + "description": "Returns the component information for the given removed component in the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about component version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents" + ], + "description": "Set the component to be removed in the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents" + ], + "description": "Deletes the given component from the removed components section of the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents_delete", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "component", + "in": "path", + "description": "Identifier of the component.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image or no component associated with component in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/removed-components": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents" + ], + "description": "Returns the map of removed components that comprise the software draft.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.RemovedComponents_list", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the working copy document.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no image associated with image or no component associated with", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Map of component information keyed by the component identifier.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.esx.settings.component`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/selection-criteria": { + "get": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.SelectionCriteria" + ], + "description": "Returns the selection criteria of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Read`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.SelectionCriteria_get", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Selection criteria of the alternative image.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ImageSelectionInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.SelectionCriteria" + ], + "description": "Sets the selection criteria of the alternative image.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIntegrity.lifecycleSoftwareSpecification.Write`. \n", + "operationId": "Esx.Settings.Repository.Software.Drafts.AlternativeImages.SelectionCriteria_set", + "parameters": [ + { + "name": "draft", + "in": "path", + "description": "Identifier of the draft.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.draft`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "image", + "in": "path", + "description": "Identifier of the alternative image.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.settings.image`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Selection criteria that needs to be configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Esx.Settings.ImageSelectionSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the caller does not have the necessary privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If there is no draft associated with draft or no alternative image associated with image in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If there is unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/component": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Component" + ], + "description": "Returns the identifiers for the component elements that have authentication information.", + "operationId": "Vapi.Metadata.Authentication.Component_list", + "responses": { + "200": { + "description": "The list of identifiers for the component elements that have authentication information.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.component`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/component/{componentId}": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Component" + ], + "description": "Retrieves authentication information about the component element corresponding to componentId. \n\n The *Vapi.Metadata.Authentication.ComponentData* contains the authentication information about the component element and it's fingerprint. It contains information about all the package elements that belong to this component element.", + "operationId": "Vapi.Metadata.Authentication.Component_get", + "parameters": [ + { + "name": "componentId", + "in": "path", + "description": "Identifier of the component element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the component element associated with componentId does not have any authentication information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Authentication.ComponentData* instance that corresponds to componentId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.ComponentData" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/component/{componentId}/fingerprint": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Component" + ], + "description": "Retrieves the fingerprint computed from the authentication metadata of the component element corresponding to componentId. \n\n The fingerprint provides clients an efficient way to check if the metadata for a particular component has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of *GET /vapi/metadata/authentication/component/{componentId}*.", + "operationId": "Vapi.Metadata.Authentication.Component_fingerprint", + "parameters": [ + { + "name": "componentId", + "in": "path", + "description": "Identifier of the component element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the component element associated with componentId does not have any authentication information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The fingerprint computed from the authentication metadata of the component.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/package": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Package" + ], + "description": "Returns the identifiers for the package elements that have authentication information.", + "operationId": "Vapi.Metadata.Authentication.Package_list", + "responses": { + "200": { + "description": "The list of identifiers for the package elements that have authentication information.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.package`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/package/{packageId}": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Package" + ], + "description": "Retrieves authentication information about the package element corresponding to packageId.", + "operationId": "Vapi.Metadata.Authentication.Package_get", + "parameters": [ + { + "name": "packageId", + "in": "path", + "description": "Identifier of the package element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.package`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the package element associated with packageId does not have any authentication information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Authentication.PackageInfo* instance that corresponds to packageId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.PackageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/service": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Service" + ], + "description": "Returns the identifiers for the service elements that have authentication information.", + "operationId": "Vapi.Metadata.Authentication.Service_list", + "responses": { + "200": { + "description": "The list of identifiers for the service elements that have authentication information.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.service`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/service/{serviceId}": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Service" + ], + "description": "Retrieves authentication information about the service element corresponding to serviceId.", + "operationId": "Vapi.Metadata.Authentication.Service_get", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId does not have any authentication information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Authentication.ServiceInfo* instance that corresponds to serviceId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.ServiceInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/service/{serviceId}/operation": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Service.Operation" + ], + "description": "Returns the identifiers for the operation elements contained in the service element corresponding to serviceId that have authentication information.", + "operationId": "Vapi.Metadata.Authentication.Service.Operation_list", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId does not have any operation elements that have authentication information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of identifiers for the operation elements contained in the service element that have authentication information.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.operation`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/authentication/service/{serviceId}/operation/{operationId}": { + "get": { + "tags": [ + "Vapi.Metadata.Authentication.Service.Operation" + ], + "description": "Retrieves the authentication information about an operation element corresponding to operationId contained in the service element corresponding to serviceId.", + "operationId": "Vapi.Metadata.Authentication.Service.Operation_get", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "operationId", + "in": "path", + "description": "Identifier of the operation element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.operation`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId does not exist.\n\nif the operation element associated with operationId does not exist.\n\nif the operation element associated with operationId does not have any authentication information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Authentication.OperationInfo* instance that corresponds to operationId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.OperationInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/cli/command": { + "get": { + "tags": [ + "Vapi.Metadata.Cli.Command" + ], + "description": "Returns the identifiers of all commands, or commands in a specific namespace.", + "operationId": "Vapi.Metadata.Cli.Command_list", + "parameters": [ + { + "name": "path", + "in": "query", + "description": "The dot-separated path of the namespace for which command identifiers should be returned.\n\nIf missing or `null` identifiers of all commands registered with the infrastructure will be returned.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if a namespace corresponding to path doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Identifiers of the requested commands.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Command.Identity" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/cli/command?action=get": { + "post": { + "tags": [ + "Vapi.Metadata.Cli.Command" + ], + "description": "Retrieves information about a command including information about how to execute that command.", + "operationId": "Vapi.Metadata.Cli.Command_get", + "requestBody": { + "description": "Request body for invoking operation: get", + "content": { + "application/json": { + "schema": { + "required": [ + "identity" + ], + "type": "object", + "properties": { + "identity": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Command.Identity" + } + } + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "if a command corresponding to identity doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the command including information about how to execute that command.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Command.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/cli/command/fingerprint": { + "get": { + "tags": [ + "Vapi.Metadata.Cli.Command" + ], + "description": "Returns the aggregate fingerprint of all the command metadata from all the metadata sources. \n\n The fingerprint provides clients an efficient way to check if the metadata for commands has been modified on the server.", + "operationId": "Vapi.Metadata.Cli.Command_fingerprint", + "responses": { + "200": { + "description": "Fingerprint of all the command metadata present on the server.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/cli/namespace": { + "get": { + "tags": [ + "Vapi.Metadata.Cli.Namespace" + ], + "description": "Returns the identifiers of all namespaces registered with the infrastructure.", + "operationId": "Vapi.Metadata.Cli.Namespace_list", + "responses": { + "200": { + "description": "Identifiers of all the namespaces.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Namespace.Identity" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/cli/namespace?action=get": { + "post": { + "tags": [ + "Vapi.Metadata.Cli.Namespace" + ], + "description": "Retreives information about a namespace including information about children of that namespace.", + "operationId": "Vapi.Metadata.Cli.Namespace_get", + "requestBody": { + "description": "Request body for invoking operation: get", + "content": { + "application/json": { + "schema": { + "required": [ + "identity" + ], + "type": "object", + "properties": { + "identity": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Namespace.Identity" + } + } + } + } + }, + "required": true + }, + "responses": { + "404": { + "description": "if a namespace corresponding to identity doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the namespace including information about child of that namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Namespace.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/cli/namespace/fingerprint": { + "get": { + "tags": [ + "Vapi.Metadata.Cli.Namespace" + ], + "description": "Returns the aggregate fingerprint of all the namespace metadata from all the metadata sources. \n\n The fingerprint provides clients an efficient way to check if the metadata for namespaces has been modified on the server.", + "operationId": "Vapi.Metadata.Cli.Namespace_fingerprint", + "responses": { + "200": { + "description": "Fingerprint of all the namespace metadata present on the server.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/component": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Component" + ], + "description": "Returns the identifiers for the component elements that are registered with the infrastructure.", + "operationId": "Vapi.Metadata.Metamodel.Component_list", + "responses": { + "200": { + "description": "The list of identifiers for the component elements that are registered with the infrastructure.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.component`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/component/{componentId}": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Component" + ], + "description": "Retrieves metamodel information about the component element corresponding to componentId. \n\n The *Vapi.Metadata.Metamodel.ComponentData* contains the metamodel information about the component and it's fingerprint. It contains information about all the package elements that are contained in this component element.", + "operationId": "Vapi.Metadata.Metamodel.Component_get", + "parameters": [ + { + "name": "componentId", + "in": "path", + "description": "Identifier of the component element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the component element associated with componentId is not registered with the infrastructure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Metamodel.ComponentData* instance that corresponds to componentId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ComponentData" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/component/{componentId}/fingerprint": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Component" + ], + "description": "Retrieves the fingerprint computed from the metamodel metadata of the component element corresponding to componentId. \n\n The fingerprint provides clients an efficient way to check if the metadata for a particular component element has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of *GET /vapi/metadata/metamodel/component/{componentId}*.", + "operationId": "Vapi.Metadata.Metamodel.Component_fingerprint", + "parameters": [ + { + "name": "componentId", + "in": "path", + "description": "Identifier of the component element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the component element associated with componentId is not registered with the infrastructure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The fingerprint computed from the metamodel metadata of the component element.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/enumeration": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Enumeration" + ], + "description": "Returns the identifiers for the enumeration elements that are contained in all the package elements, service elements and structure elements.", + "operationId": "Vapi.Metadata.Metamodel.Enumeration_list", + "responses": { + "200": { + "description": "The list of identifiers for the enumeration elements.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.enumeration`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/enumeration/{enumerationId}": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Enumeration" + ], + "description": "Retrieves information about the enumeration element corresponding to enumerationId. \n\n The *Vapi.Metadata.Metamodel.EnumerationInfo* contains the metamodel information about the enumeration value element contained in the enumeration element.", + "operationId": "Vapi.Metadata.Metamodel.Enumeration_get", + "parameters": [ + { + "name": "enumerationId", + "in": "path", + "description": "Identifier of the enumeration element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.enumeration`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the enumeration element associated with enumerationId is not contained in any of the package elements, service elements and structure elements.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Metamodel.EnumerationInfo* instance that corresponds to enumerationId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.EnumerationInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/package": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Package" + ], + "description": "Returns the identifiers for the packages elements that are contained in all the registered component elements.", + "operationId": "Vapi.Metadata.Metamodel.Package_list", + "responses": { + "200": { + "description": "The list of identifiers for the package elements that are contained in all the registered component elements.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.package`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/package/{packageId}": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Package" + ], + "description": "Retrieves information about the package element corresponding to packageId.", + "operationId": "Vapi.Metadata.Metamodel.Package_get", + "parameters": [ + { + "name": "packageId", + "in": "path", + "description": "Identifier of the package element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.package`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the package element associated with packageId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Metamodel.PackageInfo* instance that corresponds to packageId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.PackageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/resource": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Resource" + ], + "description": "Returns the set of resource types present across all the service elements contained in all the package elements.", + "operationId": "Vapi.Metadata.Metamodel.Resource_list", + "responses": { + "200": { + "description": "Set of resource types\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.resource`.", + "content": { + "application/json": { + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/service": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Service" + ], + "description": "Returns the identifiers for the service elements that are currently registered with the infrastructure. \n\n The list of service elements is an aggregate list of all the service elements contained in all the package elements.", + "operationId": "Vapi.Metadata.Metamodel.Service_list", + "responses": { + "200": { + "description": "The list of identifiers for the service elements that are currently registered with the infrastructure.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.service`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/service/{serviceId}": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Service" + ], + "description": "Retrieves information about the service element corresponding to serviceId. \n\n The *Vapi.Metadata.Metamodel.ServiceInfo* contains the metamodel information for the operation elements, structure elements and enumeration elements contained in the service element.", + "operationId": "Vapi.Metadata.Metamodel.Service_get", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId is not registered with the infrastructure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Metamodel.ServiceInfo* instance that corresponds to serviceId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ServiceInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/structure": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Structure" + ], + "description": "Returns the identifiers for the structure elements that are contained in all the package elements and service elements.", + "operationId": "Vapi.Metadata.Metamodel.Structure_list", + "responses": { + "200": { + "description": "The list of identifiers for the structure elements.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.structure`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/structure/{structureId}": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Structure" + ], + "description": "Retrieves information about the structure element corresponding to structureId. \n\n The *Vapi.Metadata.Metamodel.StructureInfo* contains the metamodel information about the structure element. It contains information about all the field elements and enumeration elements contained in this structure element.", + "operationId": "Vapi.Metadata.Metamodel.Structure_get", + "parameters": [ + { + "name": "structureId", + "in": "path", + "description": "Identifier of the structure element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.structure`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the structure element associated with structureId is not contained in any of the package elements or service elements.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Metamodel.StructureInfo* instance that corresponds to structureId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.StructureInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/resource/{resourceId}/model": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Resource.Model" + ], + "description": "Returns the set of identifiers for the structure elements that are models for the resource type corresponding to resourceId. \n\n The *Vapi.Metadata.Metamodel.Structure* resource provides operations to retrieve more details about the structure elements corresponding to the identifiers returned by this operation.", + "operationId": "Vapi.Metadata.Metamodel.Resource.Model_list", + "parameters": [ + { + "name": "resourceId", + "in": "path", + "description": "Identifier of the resource type.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.resource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the resource type associated with resourceId does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The set of identifiers for the models that are associated with the resource type in resourceId.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.structure`.", + "content": { + "application/json": { + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/service/{serviceId}/operation": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Service.Operation" + ], + "description": "Returns the identifiers for the operation elements that are defined in the scope of serviceId.", + "operationId": "Vapi.Metadata.Metamodel.Service.Operation_list", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId does not exist in any of the package elements.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of identifiers for the operation elements that are defined in the scope of serviceId.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.operation`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/metamodel/service/{serviceId}/operation/{operationId}": { + "get": { + "tags": [ + "Vapi.Metadata.Metamodel.Service.Operation" + ], + "description": "Retrieves the metamodel information about an operation element corresponding to operationId contained in the service element corresponding to serviceId.", + "operationId": "Vapi.Metadata.Metamodel.Service.Operation_get", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "operationId", + "in": "path", + "description": "Identifier of the operation element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.operation`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId does not exist in any of the package elements.\n\nif the operation element associated with operationId does not exist in the service element.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Metamodel.OperationInfo* instance that corresponds to operationId defined in scope serviceId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.OperationInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/component": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Component" + ], + "description": "Returns the identifiers for the component elements that have privilege information.", + "operationId": "Vapi.Metadata.Privilege.Component_list", + "responses": { + "200": { + "description": "The list of identifiers for the component elements that have privilege information.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.component`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/component/{componentId}": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Component" + ], + "description": "Retrieves privilege information about the component element corresponding to componentId. \n\n The *Vapi.Metadata.Privilege.ComponentData* contains the privilege information about the component element and its fingerprint. It contains information about all the package elements that belong to this component element.", + "operationId": "Vapi.Metadata.Privilege.Component_get", + "parameters": [ + { + "name": "componentId", + "in": "path", + "description": "Identifier of the component element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the component element associated with componentId does not have any privilege information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Privilege.ComponentData* instance that corresponds to componentId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.ComponentData" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/component/{componentId}/fingerprint": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Component" + ], + "description": "Retrieves the fingerprint computed from the privilege metadata of the component element corresponding to componentId. \n\n The fingerprint provides clients an efficient way to check if the metadata for a particular component has been modified on the server. The client can do this by comparing the result of this operation with the fingerprint returned in the result of *GET /vapi/metadata/privilege/component/{componentId}*.", + "operationId": "Vapi.Metadata.Privilege.Component_fingerprint", + "parameters": [ + { + "name": "componentId", + "in": "path", + "description": "Identifier of the component element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.component`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the component element associated with componentId does not have any privilege information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The fingerprint computed from the privilege metadata of the component.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/package": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Package" + ], + "description": "Returns the identifiers for the package elements that have privilege information.", + "operationId": "Vapi.Metadata.Privilege.Package_list", + "responses": { + "200": { + "description": "The list of identifiers for the package elements that have privilege information.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.package`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/package/{packageId}": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Package" + ], + "description": "Retrieves privilege information about the package element corresponding to packageId.", + "operationId": "Vapi.Metadata.Privilege.Package_get", + "parameters": [ + { + "name": "packageId", + "in": "path", + "description": "Identifier of the package element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.package`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the package element associated with packageId does not have any privilege information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Privilege.PackageInfo* instance that corresponds to packageId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.PackageInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/service": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Service" + ], + "description": "Returns the identifiers for the service elements that have privilege information.", + "operationId": "Vapi.Metadata.Privilege.Service_list", + "responses": { + "200": { + "description": "The list of identifiers for the service elements that have privilege information.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.service`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/service/{serviceId}": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Service" + ], + "description": "Retrieves privilege information about the service element corresponding to serviceId.", + "operationId": "Vapi.Metadata.Privilege.Service_get", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId does not have any privilege information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Privilege.ServiceInfo* instance that corresponds to serviceId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.ServiceInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/service/{serviceId}/operation": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Service.Operation" + ], + "description": "Returns the identifiers for the operation elements contained in the service element corresponding to serviceId that have privilege information.", + "operationId": "Vapi.Metadata.Privilege.Service.Operation_list", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId does not have any operation elements that have privilege information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of identifiers for the operation elements contained in the service element that have privilege information.\n\nThe response will contain identifiers for the resource type: `com.vmware.vapi.operation`.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vapi/metadata/privilege/service/{serviceId}/operation/{operationId}": { + "get": { + "tags": [ + "Vapi.Metadata.Privilege.Service.Operation" + ], + "description": "Retrieves the privilege information about an operation element corresponding to operationId contained in the service element corresponding to serviceId.", + "operationId": "Vapi.Metadata.Privilege.Service.Operation_get", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Identifier of the service element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.service`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "operationId", + "in": "path", + "description": "Identifier of the operation element.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vapi.operation`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the service element associated with serviceId does not exist.\n\nif the operation element associated with operationId does not exist.\n\nif the operation element associated with operationId does not have any privilege information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The *Vapi.Metadata.Privilege.OperationInfo* instance that corresponds to operationId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.OperationInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/cluster": { + "get": { + "tags": [ + "Vcenter.Cluster" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) clusters in vCenter matching the *Vcenter.Cluster.FilterSpec*.", + "operationId": "Vcenter.Cluster_list", + "parameters": [ + { + "name": "clusters", + "in": "query", + "description": "Identifiers of clusters that can match the filter.\n\nIf missing or `null` or empty, clusters with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that clusters must have to match the filter (see *Vcenter.Cluster.Info.name*).\n\nIf missing or `null` or empty, clusters with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the cluster for the cluster to match the filter.\n\nIf missing or `null` or empty, clusters in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the cluster for the cluster to match the filter.\n\nIf missing or `null` or empty, clusters in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 clusters match the *Vcenter.Cluster.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the clusters matching the *Vcenter.Cluster.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Cluster.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/cluster/{cluster}": { + "get": { + "tags": [ + "Vcenter.Cluster" + ], + "description": "Retrieves information about the cluster corresponding to cluster.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.Cluster_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the session id is missing from the request or the corresponding session object cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no cluster associated with cluster in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the cluster associated with cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Cluster.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datacenter": { + "get": { + "tags": [ + "Vcenter.Datacenter" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) datacenters in vCenter matching the *Vcenter.Datacenter.FilterSpec*.", + "operationId": "Vcenter.Datacenter_list", + "parameters": [ + { + "name": "datacenters", + "in": "query", + "description": "Identifiers of datacenters that can match the filter.\n\nIf missing or `null` or empty, datacenters with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that datacenters must have to match the filter (see *Vcenter.Datacenter.Info.name*).\n\nIf missing or `null` or empty, datacenters with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the datacenters for the datacenter to match the filter.\n\nIf missing or `null` or empty, datacenters in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 datacenters match the *Vcenter.Datacenter.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the datacenters matching the *Vcenter.Datacenter.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Datacenter.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Datacenter" + ], + "description": "Create a new datacenter in the vCenter inventory", + "operationId": "Vcenter.Datacenter_create", + "requestBody": { + "description": "Specification for the new datacenter to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Datacenter.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a datacenter with the same name is already present.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if the datacenter name is empty or invalid as per the underlying implementation.\n- if the folder is not specified and the system cannot choose a suitable one.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the datacenter folder cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The identifier of the newly created datacenter\n\nThe response will be an identifier for the resource type: `Datacenter`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datacenter/{datacenter}": { + "get": { + "tags": [ + "Vcenter.Datacenter" + ], + "description": "Retrieves information about the datacenter corresponding to datacenter.", + "operationId": "Vcenter.Datacenter_get", + "parameters": [ + { + "name": "datacenter", + "in": "path", + "description": "Identifier of the datacenter.\n\nThe parameter must be an identifier for the resource type: `Datacenter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no datacenter associated with datacenter in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the datacenter associated with datacenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Datacenter.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Datacenter" + ], + "description": "Delete an empty datacenter from the vCenter Server", + "operationId": "Vcenter.Datacenter_delete", + "parameters": [ + { + "name": "datacenter", + "in": "path", + "description": "Identifier of the datacenter to be deleted.\n\nThe parameter must be an identifier for the resource type: `Datacenter`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "force", + "in": "query", + "description": "If true, delete the datacenter even if it is not empty.\n\nIf missing or `null` a *Vapi.Std.Errors.ResourceInUse* error will be reported if the datacenter is not empty. This is the equivalent of passing the value false.", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "400": { + "description": "if the datacenter associated with datacenter is not empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no datacenter associated with datacenter in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datastore/{datastore}": { + "get": { + "tags": [ + "Vcenter.Datastore" + ], + "description": "Retrieves information about the datastore indicated by datastore.", + "operationId": "Vcenter.Datastore_get", + "parameters": [ + { + "name": "datastore", + "in": "path", + "description": "Identifier of the datastore for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `Datastore`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the datastore indicated by datastore does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the datastore associated with datastore.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Datastore.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datastore": { + "get": { + "tags": [ + "Vcenter.Datastore" + ], + "description": "Returns information about at most 2500 visible (subject to permission checks) datastores in vCenter matching the *Vcenter.Datastore.FilterSpec*.", + "operationId": "Vcenter.Datastore_list", + "parameters": [ + { + "name": "datastores", + "in": "query", + "description": "Identifiers of datastores that can match the filter.\n\nIf missing or `null` or empty, datastores with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that datastores must have to match the filter (see *Vcenter.Datastore.Info.name*).\n\nIf missing or `null` or empty, datastores with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "types", + "in": "query", + "description": "Types that datastores must have to match the filter (see *Vcenter.Datastore.Summary.type*).\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*.\n\nIf missing or `null` or empty, datastores with any type match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Datastore.FilterSpec.types* property contains a value that is not supported by the server.\n\nif the *Vcenter.Datastore.FilterSpec.types* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 2500 datastores match the *Vcenter.Datastore.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the datastores matching the *Vcenter.Datastore.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Datastore.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/evc-modes?action=partition": { + "post": { + "tags": [ + "Vcenter.EvcModes" + ], + "description": "Partition the EvcMode object into its constituent CPU and graphics EvcMode objects.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vcenter.EvcModes_partition", + "requestBody": { + "description": "The EvcMode object to partition.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.EvcMode.EvcMode" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "if there is any error in partitioning the EvcMode.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Partitioned CPU and graphics mode information for the given EvcMode.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.EvcModes.PartitionResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/evc-modes?vmw-task=true": { + "post": { + "tags": [ + "Vcenter.EvcModes" + ], + "description": "Creates a custom Vcenter.EvcMode.EvcMode object that is returned to the client. The client can then set this EVC mode on VMs/Clusters.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vcenter.EvcModes_create$Task", + "requestBody": { + "description": "Spec with information about how to create the EvcMode.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.EvcModes.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the createSpec is not valid.\n\n***Vapi.Std.Errors.UnverifiedPeer*** if the SSL certificate or thumbprint of the remote connection can't be validated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if any vCenter Server is not accessible.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Newly created EvcMode object.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/folder": { + "get": { + "tags": [ + "Vcenter.Folder" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) folders in vCenter matching the *Vcenter.Folder.FilterSpec*.", + "operationId": "Vcenter.Folder_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching folders for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Folder.FilterSpec* with all properties missing or `null` which means all folders match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Folder.FilterSpec" + } + }, + { + "name": "folders", + "in": "query", + "description": "Identifiers of folders that can match the filter.\n\nIf missing or `null` or empty, folders with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that folders must have to match the filter (see *Vcenter.Folder.Summary.name*).\n\nIf missing or `null` or empty, folders with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "parent_folders", + "in": "query", + "description": "Folders that must contain the folder for the folder to match the filter.\n\nIf missing or `null` or empty, folder in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the folder for the folder to match the filter.\n\nIf missing or `null` or empty, folder in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Folder.FilterSpec.type* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 folders match the *Vcenter.Folder.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the folders matching the *Vcenter.Folder.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Folder.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/foundation-load-balancers": { + "get": { + "tags": [ + "Vcenter.FoundationLoadBalancers" + ], + "description": "Returns information about load balancers matching the *Vcenter.FoundationLoadBalancers.FilterSpec*.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.FoundationLoadBalancers_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "specification of matching load balancers for which information should be returned.\n\nif missing or `null`, all load balancers match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.FilterSpec" + } + } + ], + "responses": { + "400": { + "description": "if the filter is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the \"System.Read\" privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "the identifier of load balancers matching the *Vcenter.FoundationLoadBalancers.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/foundation-load-balancers/{foundationLoadBalancer}": { + "get": { + "tags": [ + "Vcenter.FoundationLoadBalancers" + ], + "description": "Retrieves information about the load balancer corresponding to the specified foundationLoadBalancer.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.FoundationLoadBalancers_get", + "parameters": [ + { + "name": "foundationLoadBalancer", + "in": "path", + "description": "identifier of the load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the \"System.Read\" privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the load balancer is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "information about the load balancer.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/foundation-load-balancers/{foundationLoadBalancer}?action=reset-password": { + "post": { + "tags": [ + "Vcenter.FoundationLoadBalancers" + ], + "description": "Resets password of user \"vmware-system-user\" (used for debugging purposes only) in the load balancer virtual machine(s).\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `FoundationLoadBalancers.Manage`. \n", + "operationId": "Vcenter.FoundationLoadBalancers_resetPassword", + "parameters": [ + { + "name": "foundationLoadBalancer", + "in": "path", + "description": "identifier of the load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "*Vcenter.FoundationLoadBalancers.PasswordSpec* new password to set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.PasswordSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the password is invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the reset password is not allowed in the current state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have \"FoundationLoadBalancers.Manage\" privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the load balancer is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host": { + "get": { + "tags": [ + "Vcenter.Host" + ], + "description": "Returns information about at most 2500 visible (subject to permission checks) hosts in vCenter matching the *Vcenter.Host.FilterSpec*.", + "operationId": "Vcenter.Host_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching hosts for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Host.FilterSpec* with all properties missing or `null` which means all hosts match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.FilterSpec" + } + }, + { + "name": "hosts", + "in": "query", + "description": "Identifiers of hosts that can match the filter.\n\nIf missing or `null` or empty, hosts with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that hosts must have to match the filter (see *Vcenter.Host.Summary.name*).\n\nIf missing or `null` or empty, hosts with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any cluster and hosts that are not in a cluster match the filter. If this property is not empty and *Vcenter.Host.FilterSpec.standalone* is true, no hosts will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "connection_states", + "in": "query", + "description": "Connection states that a host must be in to match the filter (see *Vcenter.Host.Summary.connection_state*.\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n\n\nFor more information see: *Vcenter.Host.ConnectionState*.\n\nIf missing or `null` or empty, hosts in any connection state match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "host_uuids", + "in": "query", + "description": "UUID of hosts that can match the filter. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, hosts with any identifier match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Host.FilterSpec.connection_states* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 2500 hosts match the *Vcenter.Host.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the hosts matching the *Vcenter.Host.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Host.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Host" + ], + "description": "Add a new standalone host in the vCenter inventory. The newly connected host will be in connected state. The vCenter Server will verify the SSL certificate before adding the host to its inventory. In the case where the SSL certificate cannot be verified because the Certificate Authority is not recognized or the certificate is self signed, the vCenter Server will fall back to thumbprint verification mode as defined by *Vcenter.Host.CreateSpec.ThumbprintVerification*.", + "operationId": "Vcenter.Host_create", + "requestBody": { + "description": "Specification for the new host to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the host with the same name is already present.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if the host name is invalid.\n- if the host folder is invalid.\n- if the SSL thumbprint specified is invalid.\n- if the PEM SSL certificate in CreateSpec.sslCertificate is invalid.\n- if both CreateSpec.thumbprint and CreateSpec.sslCertificate are set.\n- if the CreateSpec.sslCertificate argument is not set, and the CreateSpec.thumbprint argument is set, but the SHA-1 hashing algorithm is currently disabled for computing certificate thumbprints.\n\n***Vapi.Std.Errors.InvalidElementType*** if the host folder id does not support vSphere compute resource as its children type.\n\n***Vapi.Std.Errors.ResourceInUse*** if the host is already being managed by another vCenter Server\n\n***Vapi.Std.Errors.Unsupported*** if the software version on the host is not supported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user name or password for the administration account on the host are invalid.\n\nif the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no folder associated with the folder property in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if installation of VirtualCenter agent on a host fails.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there are not enough licenses to add the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The newly created identifier of the host in vCenter.\n\nThe response will be an identifier for the resource type: `HostSystem`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host/{host}": { + "delete": { + "tags": [ + "Vcenter.Host" + ], + "description": "Remove a standalone host from the vCenter Server.", + "operationId": "Vcenter.Host_delete", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host to be deleted.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the host associated with host is in a vCenter cluster", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host/{host}?action=connect": { + "post": { + "tags": [ + "Vcenter.Host" + ], + "description": "Connect to the host corresponding to host previously added to the vCenter server.", + "operationId": "Vcenter.Host_connect", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host to be reconnected.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the host associated with host is already connected.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host/{host}?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Host" + ], + "description": "Disconnect the host corresponding to host from the vCenter server", + "operationId": "Vcenter.Host_disconnect", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host to be disconnected.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the host associated with host is already disconnected.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no host associated with host in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/network": { + "get": { + "tags": [ + "Vcenter.Network" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) networks in vCenter matching the *Vcenter.Network.FilterSpec*.", + "operationId": "Vcenter.Network_list", + "parameters": [ + { + "name": "networks", + "in": "query", + "description": "Identifiers of networks that can match the filter.\n\nIf missing or `null` or empty, networks with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that networks must have to match the filter (see *Vcenter.Network.Summary.name*).\n\nIf missing or `null` or empty, networks with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "types", + "in": "query", + "description": "Types that networks must have to match the filter (see *Vcenter.Network.Summary.type*).\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*.\n\nIf missing or `null`, networks with any type match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Network.FilterSpec.types* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 networks match the *Vcenter.Network.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the networks matching the *Vcenter.Network.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Network.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/registered-tokens": { + "post": { + "tags": [ + "Vcenter.RegisteredTokens" + ], + "description": "When the Access Token has no overflow claim, applications will be able to use it directly to call APIs. \n\n If the Access Token has overflow claim vCenter will return an authentication error and the application will need to issue Expanded Access Token and then register the pair of Overflow Token and Expanded Token with vCenter before using the Overflow Access Token to access the vCenter API. \n\n This operation register Expanded Access Token with vCenter to allow applications to use the corresponding Overflow Access Token to access the vCenter API. \n\n The Overflow Access Token must be used to authenticate the register call for its corresponding Expanded Access Token.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.RegisteredTokens_create", + "requestBody": { + "description": "The CreateSpec for the token.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.RegisteredTokens.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the CreateSpec contains invalid data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "for generic errors in the service implementation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/resource-pool/{resourcePool}": { + "get": { + "tags": [ + "Vcenter.ResourcePool" + ], + "description": "Retrieves information about the resource pool indicated by resourcePool.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ResourcePool` referenced by the parameter resourcePool requires `System.Read`. \n", + "operationId": "Vcenter.ResourcePool_get", + "parameters": [ + { + "name": "resourcePool", + "in": "path", + "description": "Identifier of the resource pool for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `ResourcePool`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the resource pool indicated by resourcePool does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the resource pool.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ResourcePool.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.ResourcePool" + ], + "description": "Deletes a resource pool.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.ResourcePool_delete", + "parameters": [ + { + "name": "resourcePool", + "in": "path", + "description": "Identifier of the resource pool to be deleted.\n\nThe parameter must be an identifier for the resource type: `ResourcePool`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the resource pool is a root resource pool.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the resource pool is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.ResourcePool" + ], + "description": "Updates the configuration of a resource pool.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ResourcePool` referenced by the parameter resourcePool requires `Resource.EditPool`. \n", + "operationId": "Vcenter.ResourcePool_update", + "parameters": [ + { + "name": "resourcePool", + "in": "path", + "description": "Identifier of the resource pool.\n\nThe parameter must be an identifier for the resource type: `ResourcePool`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the configuration of the resource pool.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ResourcePool.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If any of the specified parameters is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the resource pool is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** If any of the resources needed to reconfigure the resource pool could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/resource-pool": { + "get": { + "tags": [ + "Vcenter.ResourcePool" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) resource pools in vCenter matching the *Vcenter.ResourcePool.FilterSpec*.", + "operationId": "Vcenter.ResourcePool_list", + "parameters": [ + { + "name": "resource_pools", + "in": "query", + "description": "Identifiers of resource pools that can match the filter.\n\nIf missing or `null` or empty, resource pools with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that resource pools must have to match the filter (see *Vcenter.ResourcePool.Info.name*).\n\nIf missing or `null` or empty, resource pools with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "parent_resource_pools", + "in": "query", + "description": "Resource pools that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "hosts", + "in": "query", + "description": "Hosts that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If more than 1000 resource pools match the *Vcenter.ResourcePool.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "If the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the resource pools matching the *Vcenter.ResourcePool.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.ResourcePool.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.ResourcePool" + ], + "description": "Creates a resource pool.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ResourcePool` referenced by the property *Vcenter.ResourcePool.CreateSpec.parent* requires `Resource.CreatePool`. \n", + "operationId": "Vcenter.ResourcePool_create", + "requestBody": { + "description": "Specification of the new resource pool to be created, see *Vcenter.ResourcePool.CreateSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ResourcePool.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If a parameter passed in the spec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the resource specified in parent could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** If the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** If the specified resource in parent is not accessible.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to create the resource pool could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "If the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The identifier of the newly created resource pool.\n\nThe response will be an identifier for the resource type: `ResourcePool`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/system?action=hello": { + "post": { + "tags": [ + "Vcenter.System" + ], + "description": "Negotiates common parameters for API communication. \n\n This operation selects mutually supported choices from the *Vcenter.System.HelloSpec.api_releases* list.\n\nThis operation was added in __vSphere API 8.0.2.0__.", + "operationId": "Vcenter.System_hello", + "requestBody": { + "description": "Client capabilities including list of supported API release IDs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.System.HelloSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the list of client provided release IDs (*Vcenter.System.HelloSpec.api_releases*) is empty or the list is longer then 128 releases or given release ID is longer then 64 characters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "200": { + "description": "Common parameters for API communication.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.System.HelloResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm": { + "get": { + "tags": [ + "Vcenter.VM" + ], + "description": "Returns information about at most 4000 visible (subject to permission checks) virtual machines in vCenter matching the *Vcenter.VM.FilterSpec*.", + "operationId": "Vcenter.VM_list", + "parameters": [ + { + "name": "vms", + "in": "query", + "description": "Identifiers of virtual machines that can match the filter.\n\nIf missing or `null` or empty, virtual machines with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that virtual machines must have to match the filter (see *Vcenter.VM.Info.name*).\n\nIf missing or `null` or empty, virtual machines with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "hosts", + "in": "query", + "description": "Hosts that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines on any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "resource_pools", + "in": "query", + "description": "Resource pools that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "power_states", + "in": "query", + "description": "Power states that a virtual machine must be in to match the filter (see *Vcenter.Vm.Power.Info.state*.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*.\n\nIf missing or `null` or empty, virtual machines in any power state match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.VM.FilterSpec.power_states* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 4000 virtual machines match the *Vcenter.VM.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the virtual machines matching the *Vcenter.VM.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.VM.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Creates a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `Folder` referenced by the property *Vcenter.VM.InventoryPlacementSpec.folder* requires `VirtualMachine.Inventory.Create`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VM.ComputePlacementSpec.resource_pool* requires `Resource.AssignVMToPool`. \n - The resource `Datastore` referenced by the property *Vcenter.VM.StoragePlacementSpec.datastore* requires `Datastore.AllocateSpace`. \n - The resource `Network` referenced by the property *Vcenter.Vm.Hardware.Ethernet.BackingSpec.network* requires `Network.Assign`. \n", + "operationId": "Vcenter.VM_create", + "requestBody": { + "description": "Virtual machine specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the specified name already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the specified parameters are invalid.\n\n***Vapi.Std.Errors.ResourceInUse*** if any of the specified storage addresses (eg. IDE, SATA, SCSI, NVMe) result in a storage address conflict.\n\n***Vapi.Std.Errors.Unsupported*** if guest_OS is not supported for the requested virtual hardware version and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the resources specified in spec could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if a specified resource (eg. host) is not accessible.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to create the virtual machine could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "ID of newly-created virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm?action=clone": { + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Creates a virtual machine from an existing virtual machine. \n\n\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `Datastore` referenced by the property *Vcenter.VM.DiskCloneSpec.datastore* requires `Datastore.AllocateSpace`. \n - The resource `Datastore` referenced by the property *Vcenter.VM.ClonePlacementSpec.datastore* requires `Datastore.AllocateSpace`. \n - The resource `Folder` referenced by the property *Vcenter.VM.ClonePlacementSpec.folder* requires `VirtualMachine.Inventory.CreateFromExisting`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VM.ClonePlacementSpec.resource_pool* requires `Resource.AssignVMToPool`. \n - The resource `VirtualMachine` referenced by the property *Vcenter.VM.CloneSpec.source* requires `VirtualMachine.Provisioning.Clone`. \n", + "operationId": "Vcenter.VM_clone", + "requestBody": { + "description": "Virtual machine clone specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.CloneSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the specified name already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the resources specified in spec could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if a specified resource (eg. host) is not accessible.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to clone the virtual machine could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "ID of newly-created virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}?action=relocate": { + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Relocates a virtual machine based on the specification. The parts of the virtual machine that can move are: FOLDER, RESOURCE_POOL, HOST, CLUSTER and DATASTORE of home of the virtual machine and disks. \n\n\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `Resource.ColdMigrate`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VM.RelocatePlacementSpec.resource_pool* requires `Resource.AssignVMToPool`. \n", + "operationId": "Vcenter.VM_relocate", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Existing Virtual machine to relocate.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Relocate specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.RelocateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the resources specified in spec or the given \"vm\" could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if a specified resource (eg. host) is not accessible.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm?action=instant-clone": { + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Create an instant clone of an existing virtual machine.\n\nThis operation was added in __vSphere API 6.7.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the property *Vcenter.VM.InstantCloneSpec.source* requires `VirtualMachine.Provisioning.Clone` and `VirtualMachine.Inventory.CreateFromExisting`. \n - The resource `Folder` referenced by the property *Vcenter.VM.InstantClonePlacementSpec.folder* requires `VirtualMachine.Interact.PowerOn`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VM.InstantClonePlacementSpec.resource_pool* requires `Resource.AssignVMToPool`. \n - The resource `Datastore` referenced by the property *Vcenter.VM.InstantClonePlacementSpec.datastore* requires `Datastore.AllocateSpace`. \n - The resource `Network` referenced by the property *Vcenter.Vm.Hardware.Ethernet.BackingSpec.network* requires `Network.Assign`. \n", + "operationId": "Vcenter.VM_instantClone", + "requestBody": { + "description": "Virtual machine InstantCloneSpec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.InstantCloneSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the specified name already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the resources specified in spec could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if a specified resource (eg. host) is not accessible.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to create an instant clone could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "ID of newly-created virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}": { + "get": { + "tags": [ + "Vcenter.VM" + ], + "description": "Returns information about a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.VM_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.VM" + ], + "description": "Deletes a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Inventory.Delete`. \n", + "operationId": "Vcenter.VM_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is running (powered on).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm?action=register": { + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Creates a virtual machine from existing virtual machine files on storage.\n\nThis operation was added in __vSphere API 6.8.7__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `Datastore` referenced by the property *Vcenter.VM.RegisterSpec.datastore* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VM.InventoryPlacementSpec.folder* requires `VirtualMachine.Inventory.Register`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VM.ComputePlacementSpec.resource_pool* requires `Resource.AssignVMToPool`. \n", + "operationId": "Vcenter.VM_register", + "requestBody": { + "description": "Specification of the location of the virtual machine files and the placement of the new virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.RegisterSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the specified name already exists or if a virtual machine using the specified virtual machine files already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the resources specified in spec could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if a specified resource (eg. host) is not accessible.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to register the virtual machine could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the newly-created virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}?action=unregister": { + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Removes the virtual machine corresponding to vm from the vCenter inventory without removing any of the virtual machine's files from storage. All high-level information stored with the management server (ESXi or vCenter) is removed, including information such as statistics, resource pool association, permissions, and alarms.\n\nThis operation was added in __vSphere API 6.8.7__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Inventory.Unregister`. \n", + "operationId": "Vcenter.VM_unregister", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine to be unregistered.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is running (powered on).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if there is no virtual machine associated with vm in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm?action=clone&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Creates a virtual machine from an existing virtual machine. \n\n\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `Datastore` referenced by the property *Vcenter.VM.DiskCloneSpec.datastore* requires `Datastore.AllocateSpace`. \n - The resource `Datastore` referenced by the property *Vcenter.VM.ClonePlacementSpec.datastore* requires `Datastore.AllocateSpace`. \n - The resource `Folder` referenced by the property *Vcenter.VM.ClonePlacementSpec.folder* requires `VirtualMachine.Inventory.CreateFromExisting`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VM.ClonePlacementSpec.resource_pool* requires `Resource.AssignVMToPool`. \n - The resource `VirtualMachine` referenced by the property *Vcenter.VM.CloneSpec.source* requires `VirtualMachine.Provisioning.Clone`. \n", + "operationId": "Vcenter.VM_clone$Task", + "requestBody": { + "description": "Virtual machine clone specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.CloneSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the specified name already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the resources specified in spec could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if a specified resource (eg. host) is not accessible.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to clone the virtual machine could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "ID of newly-created virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}?action=relocate&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Relocates a virtual machine based on the specification. The parts of the virtual machine that can move are: FOLDER, RESOURCE_POOL, HOST, CLUSTER and DATASTORE of home of the virtual machine and disks. \n\n\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `Resource.ColdMigrate`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VM.RelocatePlacementSpec.resource_pool* requires `Resource.AssignVMToPool`. \n", + "operationId": "Vcenter.VM_relocate$Task", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Existing Virtual machine to relocate.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Relocate specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.RelocateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the resources specified in spec or the given \"vm\" could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if a specified resource (eg. host) is not accessible.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment": { + "get": { + "tags": [ + "Vcenter.Deployment" + ], + "description": "Get the current status of the appliance deployment.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if appliance state cannot be determined.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Info structure containing the status information about the appliance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment?action=rollback": { + "post": { + "tags": [ + "Vcenter.Deployment" + ], + "description": "Rollback a failed appliance so it can be configured once again.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment_rollback", + "responses": { + "400": { + "description": "if the appliance is not in FAILED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/ovfs?action=deploy&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Ovfs" + ], + "description": "Deploy an OVF on a resource pool. \n\n Deployment creates a new Virtual Machine(VM) or Virtual Appliance(VApp), from an OVF located on a web-server, in the specified folder and attached to a resource pool. \n\n The descriptor OVF is downloaded, parsed and its validity is verified against the provided deployment constraints(if any). The files referenced in the descriptor are then downloaded and processed. In case of OVA, files are extracted and processed. If file-paths in OVF are not absolute then they are assumed to be relative to the descriptor URL. \n\n The import process consists of two parts: \n 1. - Create the VMs and/or VApps that make up the entity. \n 2. - Upload virtual disk contents. \n \n\n In part 1: The server creates all inventory objects. If an error occurs while creating inventory objects the import process is aborted, task reflects a failure. \n\n In part 2: The server transfers disk contents using from the URL location. \n\n When the server is done transferring disks, if there are no Guest customization or PowerOn specified the task completes, else those requested operations are performed. \n\n If the import process fails or times out, all created inventory objects are removed, including all virtual disks. Note: if VC is abruptly stopped in the middle of this task cleanup might not be able to happen in time. \n\n This operation only works if the folder's childType includes required VM privilege VirtualMachine.Inventory.Create. \n\n By default Pull mode is leveraged unless user specifies otherwise. On vCenter server the privilege VApp.PullFromUrls is required if default behaviour is performed.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ResourcePool` referenced by the property *Vcenter.Ovfs.DeploySpec.resource_pool* requires `Resource.AssignVMToPool` and `VApp.Import`. \n - The resource `Datastore` referenced by the property *Vcenter.Ovfs.DatastoreInfo.datastore* requires `Datastore.AllocateSpace`. \n - The resource `Folder` referenced by the property *Vcenter.Ovfs.DeploySpec.folder* requires `VirtualMachine.Inventory.Create` and `VApp.Import`. \n", + "operationId": "Vcenter.Ovfs_deploy$Task", + "requestBody": { + "description": "Specification for deployment.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Ovfs.DeploySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If any of the specified parameters is invalid.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If vCenter Server cannot validate the certificate of the server that supplies the OVF file. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in CertificateInfo.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the resource pool is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "If the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The *Vcenter.Ovfs.DeployResult* of the newly created entity.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/permissions": { + "post": { + "tags": [ + "Vcenter.Authorization.Permissions" + ], + "description": "Creates a new authorization permission in vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Authorization.Permissions_create", + "requestBody": { + "description": "The CreateSpec for the new permission.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if there is already such permission created. No duplicates are allowed.\n\n***Vapi.Std.Errors.InvalidArgument*** if the CreateSpec contains invalid data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges on the current object to create the new permission.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "ID of the newly created permission.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.authorization.Permission`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/permissions/{permission}": { + "get": { + "tags": [ + "Vcenter.Authorization.Permissions" + ], + "description": "Returns the detailed information about a specific authorization permission in the vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Authorization.Permissions_get", + "parameters": [ + { + "name": "permission", + "in": "path", + "description": "the unique identifier of the permission.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.Permission`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege granted on the current object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no permission found with the specified ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the specified permission.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Authorization.Permissions" + ], + "description": "Deletes an authorization permission from the vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Authorization.Permissions_delete", + "parameters": [ + { + "name": "permission", + "in": "path", + "description": "the unique identifier of the permission in the vCenter Server.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.Permission`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges on the current object to delete the new permission.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the permission is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if the system will be left without Administrator permission on the root resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Authorization.Permissions" + ], + "description": "Updates an existing authorization permission in the vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Authorization.Permissions_update", + "parameters": [ + { + "name": "permission", + "in": "path", + "description": "the unique identifier of the permission which is about to be updated in the vCenter Server.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.Permission`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The update spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the UpdateSpec contains invalid data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges on the current object to update the new permission.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceBusy*** if the system will be left without Administrator permission on the root resource.\n\n***Vapi.Std.Errors.Error*** If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the the permission is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/permissions?action=list": { + "post": { + "tags": [ + "Vcenter.Authorization.Permissions" + ], + "description": "Queries the authorization permissions in the vCenter Server matching given criteria.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Authorization.Permissions_list", + "requestBody": { + "description": "Request body for invoking operation: list", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.FilterSpec" + }, + "iterate": { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.IterationSpec" + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if both filter and marker are passed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the permissions.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/privilege-checks?action=list": { + "post": { + "tags": [ + "Vcenter.Authorization.PrivilegeChecks" + ], + "description": "Queries the privilege checks matching given criteria.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Sessions.CollectPrivilegeChecks`. \n", + "operationId": "Vcenter.Authorization.PrivilegeChecks_list", + "parameters": [ + { + "name": "iteration", + "in": "query", + "description": "Contains optional settings for pagination of the result.\n\nif unset, the oldest privilege checks recorded are returned, paged by the default page size. \n\n The default page size can be changed from config.vpxd.privilegeChecks.pageSize advanced option.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.PrivilegeChecks.IterationSpec" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: list", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/Vcenter.Authorization.PrivilegeChecks.FilterSpec" + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if filter or iteration spec contain invalid values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the iteration spec contains a marker that could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the privileges collected so far.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.PrivilegeChecks.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/privileges": { + "get": { + "tags": [ + "Vcenter.Authorization.Privileges" + ], + "description": "Queries the authorization privileges in the vCenter Server matching given criteria.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Authorization.Privileges_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Return only privileges matching the specified filters.\n\nIf missing or `null` return all privileges.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Privileges.FilterSpec" + } + }, + { + "name": "names", + "in": "query", + "description": "Names of the privileges. The name of a privilege matches completely with its ID.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all privileges match.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "versions", + "in": "query", + "description": "The versions of the privileges.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all privileges match.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + }, + { + "name": "iterate", + "in": "query", + "description": "allows to iterate over the set of privileges.\n\nif missing or `null`, only the first privileges that fit in a size defined by the service will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Privileges.IterationSpec" + } + } + ], + "responses": { + "400": { + "description": "if filterSpec or iterationSpec contain invalid data", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Privileges.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/privileges/{privilege}": { + "get": { + "tags": [ + "Vcenter.Authorization.Privileges" + ], + "description": "Returns the detailed information about a specific authorization privilege in the vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Authorization.Privileges_get", + "parameters": [ + { + "name": "privilege", + "in": "path", + "description": "the unique identifier of the privilege.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.Privilege`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if there is no privilege found with the specified ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the specified privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Privileges.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/roles": { + "get": { + "tags": [ + "Vcenter.Authorization.Roles" + ], + "description": "Queries the authorization roles in the vCenter Server matching given criteria.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Authorization.Roles_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Return only roles matching the specified filters.\n\nIf missing or `null` return all roles.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Roles.FilterSpec" + } + }, + { + "name": "names", + "in": "query", + "description": "Names of the roles.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all roles match.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "privileges", + "in": "query", + "description": "The *Vcenter.Authorization.Privileges* part of the role.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all roles match.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.authorization.Privilege`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.authorization.Privilege`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "iterate", + "in": "query", + "description": "allows to iterate over the set of roles.\n\nif missing or `null`, only the first roles that fit in a size defined by the service will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Roles.IterationSpec" + } + } + ], + "responses": { + "400": { + "description": "if filterSpec or iterationSpec contain invalid data", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the roles.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Roles.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Authorization.Roles" + ], + "description": "Creates a new authorization role in vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Authorization.ModifyRoles`. \n", + "operationId": "Vcenter.Authorization.Roles_create", + "requestBody": { + "description": "The CreateSpec for the new role.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Roles.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if there is already a role with the same name.\n\n***Vapi.Std.Errors.InvalidArgument*** if the CreateSpec contains invalid data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "ID of the newly created role.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/roles/{role}": { + "get": { + "tags": [ + "Vcenter.Authorization.Roles" + ], + "description": "Returns the detailed information about a specific authorization role in the vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Authorization.Roles_get", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "the unique identifier of the role.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if there is no role found with the specified ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the specified role.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Roles.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Authorization.Roles" + ], + "description": "Deletes an authorization role from the vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Authorization.ModifyRoles`. \n", + "operationId": "Vcenter.Authorization.Roles_delete", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "the unique identifier of the role in the vCenter Server.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.ResourceInUse*** if the role used by *Vcenter.Authorization.Permissions*.\n\n***Vapi.Std.Errors.Unsupported*** if the updated role is a system build-in role.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the role is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Authorization.Roles" + ], + "description": "Updates an existing authorization role in the vCenter Server.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Authorization.ModifyRoles`. \n", + "operationId": "Vcenter.Authorization.Roles_update", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "the unique identifier of the role which is about to be updated in the vCenter Server.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The update spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.Roles.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the UpdateSpec contains invalid data.\n\n***Vapi.Std.Errors.AlreadyExists*** if the updated role name matches with an already existing role name but with other ID.\n\n***Vapi.Std.Errors.Unsupported*** if the updated role is a system build-in role.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the the role is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/privilege-checks/latest": { + "get": { + "tags": [ + "Vcenter.Authorization.PrivilegeChecks.Latest" + ], + "description": "Returns a marker to the last recorded privilege check.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Sessions.CollectPrivilegeChecks`. \n", + "operationId": "Vcenter.Authorization.PrivilegeChecks.Latest_get", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "A marker for the most recently recorded privilege check.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/vt-containers/mappings": { + "get": { + "tags": [ + "Vcenter.Authorization.VtContainers.Mappings" + ], + "description": "Returns the list of mappings indicating the containerized objects and their associated vTContainer instances.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Authorization.VtContainers.Mappings_list", + "parameters": [ + { + "name": "vtcontainers", + "in": "query", + "description": "A set of vTContainers.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` or empty, the result will not be filtered by vTContainer instance.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.authorization.VtContainer`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.authorization.VtContainer`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "types", + "in": "query", + "description": "A set of object resource types.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` or empty, the result will not be filtered by object resource type.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "iterate", + "in": "query", + "description": "The specification of a page to be retrieved.\n\nif missing or `null` the first set of items will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.VtContainers.Mappings.IterationSpec" + } + } + ], + "responses": { + "400": { + "description": "if the inputs are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "A list of mappings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.VtContainers.Mappings.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Authorization.VtContainers.Mappings" + ], + "description": "Creates a new mapping that associates an object with a vTContainer instance.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Authorization.ModifyVTContainerMappings`. \n", + "operationId": "Vcenter.Authorization.VtContainers.Mappings_create", + "requestBody": { + "description": "The specification of a new mapping.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.VtContainers.Mappings.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the configuration already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if the inputs are not valid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the limit of mappings for the specified object has been reached.\n\n***Vapi.Std.Errors.Unsupported*** if the object type does not support containerization.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller does not have the Authorization.ModifyPermissions privilege on the specified object.\n\nif the caller does not have privilege to access objects in the specified vTContainer.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the vTContainer or the object does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "The identifier of the new mapping.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.authorization.vt_containers.Mapping`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/authorization/vt-containers/mappings/{mapping}": { + "get": { + "tags": [ + "Vcenter.Authorization.VtContainers.Mappings" + ], + "description": "Returns information about a single mapping indicating the containerized object and its associated vTContainer instance.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Authorization.VtContainers.Mappings_get", + "parameters": [ + { + "name": "mapping", + "in": "path", + "description": "The mapping identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.vt_containers.Mapping`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller does not have privilege to access objects in the vTContainer that is associated with the mapping.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the mapping is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The mapping information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Authorization.VtContainers.Mappings.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Authorization.VtContainers.Mappings" + ], + "description": "Removes a mapping. The related object will no longer be associated with the vTContainer instance.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Authorization.ModifyVTContainerMappings`. \n", + "operationId": "Vcenter.Authorization.VtContainers.Mappings_delete", + "parameters": [ + { + "name": "mapping", + "in": "path", + "description": "The mapping identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.authorization.vt_containers.Mapping`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller does not have the Authorization.ModifyPermissions privilege on the object that is associated with the mapping.\n\nif the caller does not have privilege to access objects in the vTContainer that is associated with the mapping.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the mapping is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/capacity/usage": { + "get": { + "tags": [ + "Vcenter.Capacity.Usage" + ], + "description": "Extracts the current vCenter configuration usage and provides information if the current configuration is compliant with the configuration recommendation.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Vcenter.Capacity.Usage_get", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the current configuration usage and its compliance with the configuration recommendation by Broadcom.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Capacity.Usage.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/trusted-root-chains": { + "get": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.TrustedRootChains" + ], + "description": "Returns summary information for each trusted root certificate chain.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.TrustedRootChains_list", + "responses": { + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "List of trusted root certificate chains summaries.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.TrustedRootChains.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.TrustedRootChains" + ], + "description": "Creates a new trusted root certificate chain from the CreateSpec.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Manage` and `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.TrustedRootChains_create", + "requestBody": { + "description": "The information needed to create a trusted root certificate chain.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.TrustedRootChains.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if a trusted root certificate chain exists with id in given spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyExists" + } + } + } + }, + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "201": { + "description": "The unique identifier for the new trusted root chain.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/trusted-root-chains/{chain}": { + "get": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.TrustedRootChains" + ], + "description": "Retrieve a trusted root certificate chain for a given identifier.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.TrustedRootChains_get", + "parameters": [ + { + "name": "chain", + "in": "path", + "description": "Unique identifier for a trusted root cert chain.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a trusted root certificate chain does not exist for given id.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "TrustedRootChain.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.TrustedRootChains.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.TrustedRootChains" + ], + "description": "Deletes trusted root certificate chain for a given identifier.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Manage` and `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.TrustedRootChains_delete", + "parameters": [ + { + "name": "chain", + "in": "path", + "description": "Unique identifier for a trusted root cert chain.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a trusted root certificate chain does not exist for given id.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/signing-certificate": { + "get": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.SigningCertificate" + ], + "description": "Retrieve the signing certificate chains for validating vCenter-issued tokens.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.SigningCertificate_get", + "responses": { + "200": { + "description": "The active certificate chain and signing certificate chains for validating tokens.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.SigningCertificate.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.SigningCertificate" + ], + "description": "Set the active signing certificate for vCenter. The certificate will immediately be used to sign tokens issued by vCenter token service.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.SigningCertificate_set", + "requestBody": { + "description": "Signing certificate chain and private key which the vCenter token service will actively use to sign tokens.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.SigningCertificate.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/signing-certificate?action=refresh": { + "post": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.SigningCertificate" + ], + "description": "Refresh the vCenter signing certificate chain. The new signing certificate will be issued in accordance with vCenter CA policy and set as the active signing certificate for the vCenter token service. The certificate will immediately be used to sign tokens issued by vCenter token service. If a third-party/custom certificate has been configured as the signing certificate for compliance reasons, refresh may take vCenter out of compliance.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.SigningCertificate_refresh", + "requestBody": { + "description": "Request body for invoking operation: refresh", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "force": { + "type": "boolean", + "description": "Will force refresh in environments that would otherwise prevent refresh from occurring, such as a mixed-version environment. Force refresh may leave systems in the local vCenter domain in a non-functional state until they are restarted.\n\nIf missing or `null`, then refresh will not be forced." + } + } + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "The signing certificate chain created during the refresh.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/tls": { + "get": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.Tls" + ], + "description": "Returns the rhttpproxy TLS certificate.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.Tls_get", + "responses": { + "500": { + "description": "if failed due to generic exception.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the rhttpproxy certificate is not present in VECS store.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "TLS certificate.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.Tls.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.Tls" + ], + "description": "Replaces the rhttpproxy TLS certificate with the specified certificate. This operation can be used in three scenarios : \n 1. When the CSR is created and the private key is already stored, this operation can replace the certificate. The *Vcenter.CertificateManagement.Vcenter.Tls.Spec.cert* (but not *Vcenter.CertificateManagement.Vcenter.Tls.Spec.key* and *Vcenter.CertificateManagement.Vcenter.Tls.Spec.root_cert*) must be provided as input. \n 2. When the certificate is signed by a third party certificate authority/VMCA and the root certificate of the third party certificate authority/VMCA is already one of the trusted roots in the trust store, this operation can replace the certificate and private key. The *Vcenter.CertificateManagement.Vcenter.Tls.Spec.cert* and *Vcenter.CertificateManagement.Vcenter.Tls.Spec.key* (but not *Vcenter.CertificateManagement.Vcenter.Tls.Spec.root_cert*) must be provided as input. \n 3. When the certificate is signed by a third party certificate authority and the root certificate of the third party certificate authority is not one of the trusted roots in the trust store, this operation can replace the certificate, private key and root CA certificate. The *Vcenter.CertificateManagement.Vcenter.Tls.Spec.cert*,*Vcenter.CertificateManagement.Vcenter.Tls.Spec.key* and *Vcenter.CertificateManagement.Vcenter.Tls.Spec.root_cert* must be provided as input. \n After this operation completes, the services using the certificate will be restarted for the new certificate to take effect. \n\nThe above three scenarios are only supported from vsphere 7.0 onwards.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.Tls_set", + "requestBody": { + "description": "The information needed to replace the TLS certificate.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.Tls.Spec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the specified certificate thumbprint is the same as the existing TLS certificate thumbprint.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyExists" + } + } + } + }, + "500": { + "description": "If the system failed to replace the TLS certificate.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the private key is not present in the VECS store.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/tls?action=renew": { + "post": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.Tls" + ], + "description": "Renews the TLS certificate for the given duration period. \n\nAfter this operation completes, the services using the certificate will be restarted for the new certificate to take effect.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.Tls_renew", + "requestBody": { + "description": "Request body for invoking operation: renew", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "duration": { + "type": "integer", + "description": "The duration (in days) of the new TLS certificate. The duration should be less than or equal to 730 days.\n\nIf missing or `null`, the duration will be 730 days (two years).", + "format": "int64" + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** If the TLS certificate is not VMCA generated.\n\n***Vapi.Std.Errors.InvalidArgument*** If the duration period specified is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "If the system failed to renew the TLS certificate.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/tls?action=replace-vmca-signed": { + "post": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.Tls" + ], + "description": "Replace MACHINE SSL with VMCA signed one with the given Spec.The system will go for restart. \n\n After this operation completes, the services using the certificate will be restarted for the new certificate to take effect.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.Tls_replaceVmcaSigned", + "requestBody": { + "description": "The information needed to generate VMCA signed Machine SSL", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.Tls.ReplaceSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the Spec given is not complete or invalid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "500": { + "description": "If the system failed to replace the machine ssl certificate", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/tls-csr": { + "post": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.TlsCsr" + ], + "description": "Generates a CSR with the given Spec.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Manage` and `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.TlsCsr_create", + "requestBody": { + "description": "The information needed to create a CSR.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.TlsCsr.Spec" + } + } + }, + "required": true + }, + "responses": { + "500": { + "description": "If CSR could not be created for given spec for a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "A Certificate Signing Request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.TlsCsr.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/certificate-management/vcenter/vmca-root": { + "post": { + "tags": [ + "Vcenter.CertificateManagement.Vcenter.VmcaRoot" + ], + "description": "Replace Root Certificate with VMCA signed one using the given Spec. \n\nAfter this operation completes, the services using the certificate will be restarted for the new certificate to take effect.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `CertificateManagement.Administer`. \n", + "operationId": "Vcenter.CertificateManagement.Vcenter.VmcaRoot_create", + "requestBody": { + "description": "The information needed to generate VMCA signed Root Certificate.\n\nDefault values will be set for all null parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.Vcenter.VmcaRoot.CreateSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "If the operation is executed on a platform where it is not supported.\n\nThis error was added in __vSphere API 8.0.2.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "500": { + "description": "If the system failed to renew the TLS certificate.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/cluster/{cluster}/evc-mode": { + "get": { + "tags": [ + "Vcenter.Cluster.EvcMode" + ], + "description": "Gets the EvcMode associated with a cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.Cluster.EvcMode_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The EvcMode set on the cluster.\n\nIf missing or `null`, then no EvcMode is set on the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Cluster.EvcMode.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/cluster/{cluster}/evc-mode?vmw-task=true": { + "put": { + "tags": [ + "Vcenter.Cluster.EvcMode" + ], + "description": "Set or clear EvcMode for a cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Host.Inventory.EditCluster`. \n", + "operationId": "Vcenter.Cluster.EvcMode_set$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about how to configure cluster's EvcMode.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Cluster.EvcMode.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the input parameters are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the specified cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/cluster/{cluster}/evc-mode?action=check-set&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Cluster.EvcMode" + ], + "description": "Check if an EvcMode can be configured for a cluster.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.Cluster.EvcMode_checkSet$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the EvcMode to configure on the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Cluster.EvcMode.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the setSpec is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "list of Vcenter.Cluster.EvcMode.CheckResult with errors\n\nIf missing or `null`, then there are no errors.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/cluster/{cluster}/evc-mode?action=check-add-host-evc&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Cluster.EvcMode" + ], + "description": "Check if a host can be added to a cluster based on the cluster's EvcMode.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.Cluster.EvcMode_checkAddHostEvc$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about how to connect to the host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the host connection is not successful.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "list of Vcenter.Cluster.EvcMode.CheckResult with errors.\n\nIf missing or `null`, then there are no errors.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/compute/policies": { + "get": { + "tags": [ + "Vcenter.Compute.Policies" + ], + "description": "Returns information about the compute policies available in this vCenter server.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Compute.Policies_list", + "responses": { + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "The list of compute policies available on this vCenter server.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Compute.Policies" + ], + "description": "Creates a new compute policy.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ComputePolicy.Manage`. \n", + "operationId": "Vcenter.Compute.Policies_create", + "requestBody": { + "description": "Specification for the new policy to be created. The new policy will be an instance of the capability that has the creation type (see *Vcenter.Compute.Policies.Capabilities.Info.create_spec_type*) equal to the type of the specified value (see spec).\n\nThe parameter must contain all the properties defined in *Vcenter.Compute.Policies.CreateSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a policy with the same name is already present on this vCenter server.\n\n***Vapi.Std.Errors.InvalidArgument*** if a parameter passed in the spec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 100 policies are created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "201": { + "description": "The identifier of the newly created policy. Use this identifier to get or destroy the policy.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/compute/policies/{policy}": { + "get": { + "tags": [ + "Vcenter.Compute.Policies" + ], + "description": "Returns information about a specific compute policy.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Compute.Policies_get", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "Identifier of the policy for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a policy with this identifier does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Detailed information about the specified compute policy. The returned value can be converted to the information type of the capability that this policy is based on. See *Vcenter.Compute.Policies.Capabilities.Info.info_type*.\n\nThe response will contain all the properties defined in *Vcenter.Compute.Policies.Info*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Compute.Policies" + ], + "description": "Deletes a specific compute policy.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ComputePolicy.Manage`. \n", + "operationId": "Vcenter.Compute.Policies_delete", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "Identifier of the policy to be deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a policy with this identifier does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Compute.Policies" + ], + "description": "Updates an existing compute policy. \n\n This operation allows modification of a compute policy.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ComputePolicy.Manage`. \n", + "operationId": "Vcenter.Compute.Policies_update", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "Identifier of the policy to be updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The specification of changes to apply.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if a parameter passed in the spec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have ComputePolicy.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system encounters an unexpected error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if a policy with this identifier does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/compute/policies/capabilities": { + "get": { + "tags": [ + "Vcenter.Compute.Policies.Capabilities" + ], + "description": "Returns information about the compute policy capabilities available in this vCenter server.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Compute.Policies.Capabilities_list", + "responses": { + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "The list of compute policy capabilities available on this vCenter server.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/compute/policies/capabilities/{capability}": { + "get": { + "tags": [ + "Vcenter.Compute.Policies.Capabilities" + ], + "description": "Returns information about a specific compute policy capability.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Compute.Policies.Capabilities_get", + "parameters": [ + { + "name": "capability", + "in": "path", + "description": "Identifier of the capability for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a capability with this identifier does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Detailed information about the capability.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/compute/policies/tag-usage": { + "get": { + "tags": [ + "Vcenter.Compute.Policies.TagUsage" + ], + "description": "Returns information about the tags used by policies available in this vCenter server matching the *Vcenter.Compute.Policies.TagUsage.FilterSpec*.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Compute.Policies.TagUsage_list", + "parameters": [ + { + "name": "policies", + "in": "query", + "description": "Identifiers that compute policies must have to match the filter.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null` or empty, then tags used by any policy match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.compute.Policy`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "tags", + "in": "query", + "description": "Identifiers that tags must have to match the filter.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null` or empty, then tags with any tag identifier match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "tag_types", + "in": "query", + "description": "Identifiers that tag types must have to match the filter.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null` or empty, then tags of any type match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vapi.resource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vapi.resource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "policy_names", + "in": "query", + "description": "Names that the policies must have to match the filter.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, then policies of any name match this filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "capabilities", + "in": "query", + "description": "Capabilities that the policies must have to match the filter.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, then policies of any capability match this filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "The list of tags used by policies available on this vCenter server matching the *Vcenter.Compute.Policies.TagUsage.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.TagUsage.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/confidential-computing/sgx/hosts?action=register&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.ConfidentialComputing.Sgx.Hosts" + ], + "description": "Register host by stored SGX configuration.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Host.Sgx.Register`. \n", + "operationId": "Vcenter.ConfidentialComputing.Sgx.Hosts_register$Task", + "requestBody": { + "description": "Described the host that need to be registered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConfidentialComputing.Sgx.Hosts.RegisterSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the system does not support SGX Registration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the host ID is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** for any other error.\n\n***Vapi.Std.Errors.ResourceBusy*** if register for same host is already in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zones": { + "get": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones" + ], + "description": "Returns information about the zones available on this vCenter server, where the zones need to match *Vcenter.ConsumptionDomains.Zones.FilterSpec*.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones_list", + "parameters": [ + { + "name": "zones", + "in": "query", + "description": "Matches all zones corresponding to the specified set of zone identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, results will not be filtered for specific zone identifiers.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have all of the privileges described as follows: - The resource com.vmware.vcenter.consumption_domains.Zone referenced by the parameter zones in Vcenter.ConsumptionDomains.Zones.FilterSpec requires System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of zones available on this vCenter that match the criteria specified in *Vcenter.ConsumptionDomains.Zones.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones" + ], + "description": "Creates a zone based on the provided specifications.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Zone.Manage`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones_create", + "requestBody": { + "description": "Specifications for the zone to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a zone with the same identifier already exists in this vCenter server.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the input information in the createSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have Zones.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "The identifier of the created zone.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zones/{zone}": { + "get": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones" + ], + "description": "Returns the information about a specific zone.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones_get", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "Identifier of the zone for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have all of the privileges described as follows: - The resource com.vmware.vcenter.consumption_domains.Zone referenced by the parameter zone requires System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if a zone with this identifier does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Detailed information about the specified zone.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones" + ], + "description": "Deletes the zone with the specified identifier. In order to delete a zone, there must not be any workload running in that zone because deleting the zone without removing all the dependencies on that zone can cause undefined behavior for the entities depending on this zone to be present.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Zone.Manage`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones_delete", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "Identifier of the zone to be deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if there is a workload running in the specified zone and depends on this zone to be present.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have all of the privileges described as follows: - The resource com.vmware.vcenter.consumption_domains.Zone referenced by the parameter zone requires Zones.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if no zone with the specified identifier is found in this vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zone-associations/association-changes?action=query": { + "post": { + "tags": [ + "Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges" + ], + "description": "Returns zone-cluster association changes.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges_list", + "requestBody": { + "description": "The specification for the query, see *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.QuerySpec*\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.QuerySpec* with all properties missing or `null`.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.QuerySpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "*POST /vcenter/consumption-domains/zone-associations/association-changes?action=query* throws InvalidArgument if a negative value is specified for *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.QuerySpec.timeout*, or any zone identifier specified in *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.FilterSpec.zones* cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the token specified in the filter spec is no longer available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The zone-cluster association changes matching the FilterSpec in the QuerySpec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zone-associations/cluster": { + "get": { + "tags": [ + "Vcenter.ConsumptionDomains.ZoneAssociations.Cluster" + ], + "description": "Returns zone-cluster associations that match the specified filter.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.ConsumptionDomains.ZoneAssociations.Cluster_list", + "parameters": [ + { + "name": "clusters", + "in": "query", + "description": "Zone-cluster associations will be filtered such that each association that is returned will have a cluster identifier from this set of specified cluster identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, zone-cluster associations will not be filtered based on cluster identifiers. Associations with any cluster identifier will match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "zones", + "in": "query", + "description": "Zone-cluster associations will be filtered such that each association that is returned will have a zone identifier from this set of specified zone identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, zone-cluster associations will not be filtered based on zone identifiers. Associations with any zone identifier will match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have all of the privileges described as follows: - The resource com.vmware.vcenter.consumption_domains.Zone referenced by the parameter zones in Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.FilterSpec requires System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Zone-cluster associations matching the *Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zones/{zone}/capacity/summary": { + "get": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones.Capacity.Summary" + ], + "description": "Retrieve information about resource capacity in the specified vSphere Zone.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.consumption_domains.Zone` referenced by the parameter zone requires `System.Read`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones.Capacity.Summary_get", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "Identifier of the zone from which to retrieve the resource capacity.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if an unexpected error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the zone is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Returns the current resource capacity information in the specified vSphere Zone.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Capacity.Summary.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zones/{zone}/capacity/summary?action=get-per-cluster": { + "post": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones.Capacity.Summary" + ], + "description": "Retrieve information about per-cluster resource capacity for each cluster in associated state in the specified vSphere Zone. Note that the clusters in the removing state will not be included in the result.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.consumption_domains.Zone` referenced by the parameter zone requires `System.Read`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones.Capacity.Summary_getPerCluster", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "Identifier of the zone from which to retrieve the resource capacity.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if an unexpected error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the zone is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Returns the current per-cluster resource capacity information in the specified vSphere Zone.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Capacity.Summary.ClusterInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zones/cluster/{zone}/associations?action=add": { + "post": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones.Cluster.Associations" + ], + "description": "Maps a consumption-domain zone to the specified vSphere clusters. If a cluster or a subset of specified clusters are already members of the specified zone, the result is success for those clusters. This operation supports partial success, i.e., it is possible that a subset of the specified clusters get successfully associated with the specified zone but the association fails for a subset of clusters. The returned result will contain the details about only those clusters for which the association failed.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.consumption_domains.Zone` referenced by the parameter zone requires `Zone.Manage`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones.Cluster.Associations_add", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "Identifier of the zone to be mapped to the specified vSphere clusters.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Set of identifiers of vSphere clusters to which the the specified zone should be mapped.\n\nThe parameter must contain identifiers for the resource type: `ClusterComputeResource`.", + "content": { + "application/json": { + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if an empty set of clusters is specified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have all of the privileges described as follows: - The resource com.vmware.vcenter.consumption_domains.Zone referenced by the parameter zone requires Zones.Manage privilege. - Each resource of ClusterComputeResource referenced by the parameter clusters requires Zone.ObjectAttachable privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified zone is not known to this vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Status see *Vcenter.ConsumptionDomains.Zones.Cluster.Associations.Status*. If the operation failed, returns the reason of failures. There will be an error message indicating the identifier of the cluster for which the association failed and the reason of failure. The cluster identifiers that are not present in *Vcenter.ConsumptionDomains.Zones.Cluster.Associations.Status* will have been successfully associated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Cluster.Associations.Status" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zones/cluster/{zone}/associations?action=remove": { + "post": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones.Cluster.Associations" + ], + "description": "Removes the mapping between the specified consumption-domain zone and vSphere clusters. If a cluster or a subset of specified clusters are not members of the specified zone, then the result is a success for those clusters. In order to remove the mapping between a zone and a cluster, there must not be any workload running in that zone because removing the mapping between a zone and a cluster could result in undefined behavior for the entities depending on this mapping to be present. This operation supports partial success, i.e., it is possible that the mapping gets successfully removed for a subset of the clusters but fails for another subset of the clusters. The returned result will contain the details about only those clusters for which the operation failed.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.consumption_domains.Zone` referenced by the parameter zone requires `Zone.Manage`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones.Cluster.Associations_remove", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "Identifier of the zone for which the mapping needs to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Set of identifiers of vSphere clusters which need to be removed from the mapping.\n\nThe parameter must contain identifiers for the resource type: `ClusterComputeResource`.", + "content": { + "application/json": { + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if there is a workload running in the specified zone and depends on this zone's cluster associations to be present.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have all of the privileges described as follows: - The resource com.vmware.vcenter.consumption_domains.Zone referenced by the parameter zone requires Zones.Manage privilege. - Each resource of ClusterComputeResource referenced by the parameter clusters requires Zone.ObjectAttachable privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified zone is not known to this vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Status see *Vcenter.ConsumptionDomains.Zones.Cluster.Associations.Status*. If the operation failed, returns the reason of failures. There will be an error message indicating the identifier of the cluster for which the association removal failed and the reason of failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Cluster.Associations.Status" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zones/cluster/{zone}/associations": { + "get": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones.Cluster.Associations" + ], + "description": "Returns identifiers of the clusters that are mapped to the specified consumption-domain zone.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.consumption_domains.Zone` referenced by the parameter zone requires `System.Read`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones.Cluster.Associations_get", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "Identifier of the zone to be queried for its associated vSphere clusters.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have all of the privileges described as follows: - The resource com.vmware.vcenter.consumption_domains.Zone referenced by the parameter zone requires System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified zone is not known to this vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The set of vSphere clusters mapped to the specified zone.\n\nThe response will contain identifiers for the resource type: `ClusterComputeResource`.", + "content": { + "application/json": { + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/consumption-domains/zones/cluster/{zone}/associations?action=evacuate-and-remove&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.ConsumptionDomains.Zones.Cluster.Associations" + ], + "description": "Removes the mapping between the specified consumption-domain zone and vSphere cluster. \n - If specified cluster is not a member of the specified vSphere Zone, then the task result will be marked as success. \n - If the specified vSphere Zone is not associated with any Supervisor, then the the cluster will be immediately removed from the vSphere Zone and the task status will be marked as success. \n - If there are workloads that belong to a Supervisor, running in the specified cluster, the VMs and vSphere Pods of those workloads will be evacuated to other clusters in the same vSphere Zone. The evacuation is done by Namespace basis and Namespace evacuations are serialized. This means that the VMs and vSphere Pods running only in one namespace will be attempted to be moved to a different cluster in the same vSphere Zone and the evacuation of the next namespace will only begin once the evacuation of the first namespace has successfully finished. \n - The VMs running in the Namespace being evacuated will continue to run without disruption during evacuation. However, the vSphere Pods of that Namespace will be disrupted during as they will be restarted in hosts in the destination cluster. \n - The Namespaces that are not yet evacuated or the Namespace being evacuated will allow provisioning of VMs and vSphere Pods. \n - If there are Supervisor management infrastructure VMs running in the specified cluster those will be evacuated to other clusters in the same vSphere Zone. \n The evacuation and remove task will continue attempting above, until the task is completed or the user cancels the task. If the user cancels the returned task, following will happen : \n - If there are Supervisor workloads being evacuated, the evacuations will stop and the Namespace undergoing evacuation will be rolled back to the source cluster. If the rollback failed, the status will be updated in the Namespace status at which point, the user has to intervene and manually perform the rollback operation by vMotioning VMs. \n - Namespaces which are already evacuated will remain in their current cluster. \n - If the supervisor management infrastructure VMs are being vMotioned, those evacuations will be run to completion. \n - If the workload evacuations are completed and the cluster is about to be removed from the vSphere Zone, the task becomes uncancellable and hence the cancellation of the task will return an error. \n\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.consumption_domains.Zone` referenced by the parameter zone requires `Zone.Manage`. \n", + "operationId": "Vcenter.ConsumptionDomains.Zones.Cluster.Associations_evacuateAndRemove$Task", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "Identifier of the zone for which the mapping needs to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Identifier of the vSphere cluster which needs to be removed from the vSphere Zone.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "when unexpected error is encountered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified vSphere Zone is not known to this vCenter server or the specified vSphere cluster is not known to this vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "409": { + "description": "if there is another cluster being evacuated and removed concurrently in the same vSphere Zone.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/content/registries/harbor": { + "get": { + "tags": [ + "Vcenter.Content.Registries.Harbor" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nReturns basic information of all Harbor registries.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Content.Registries.Harbor_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of basic information of all Harbor registries.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Content.Registries.Harbor" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nCreates a Harbor registry in the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `ContentLibrary.ManageRegistry`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.Content.Registries.Harbor.CreateSpec.cluster* requires `ContentLibrary.ManageClusterRegistryResource`. \n - The resource `SpsStorageProfile` referenced by the property *Vcenter.Content.Registries.Harbor.StorageSpec.policy* requires `System.Read`. \n", + "operationId": "Vcenter.Content.Registries.Harbor_create", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: `b8a2a2e3-2314-43cd-a871-6ede0f429751`. This token can be used to guarantee idempotent creation.\n\nIf not specified, creation is not idempotent.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for creating the Harbor registry.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a Harbor already exists in the associated cluster.\n\n***Vapi.Std.Errors.Unsupported*** if *Vcenter.Content.Registries.Harbor.CreateSpec.cluster* does not have vSphere namespace enabled.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have ContentLibrary.ManageRegistry and/or CertificateAuthority.Manage privilege, or user does not have ContentLibrary.ManageClusterRegistryResource privilege on *Vcenter.Content.Registries.Harbor.CreateSpec.cluster*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if resources/objects could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "Identifier of the deployed registry.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/content/registries/harbor/{registry}": { + "get": { + "tags": [ + "Vcenter.Content.Registries.Harbor" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nGet detailed information of the Harbor registry.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry` referenced by the parameter registry requires `System.Read`. \n", + "operationId": "Vcenter.Content.Registries.Harbor_get", + "parameters": [ + { + "name": "registry", + "in": "path", + "description": "Identifier of the registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if a Harbor registry specified by registry could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the registry.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Content.Registries.Harbor" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nDelete the Harbor registry in the cluster. All Harbor projects, repositories and images will be deleted upon Harbor registry deletion.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry` referenced by the parameter registry requires `ContentLibrary.ManageRegistry`. \n", + "operationId": "Vcenter.Content.Registries.Harbor_delete", + "parameters": [ + { + "name": "registry", + "in": "path", + "description": "Identifier of the registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have ContentLibrary.ManageRegistry privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if a registry specified by registry could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/content/registries/{registry}/health": { + "get": { + "tags": [ + "Vcenter.Content.Registries.Health" + ], + "description": "Returns the health information of a container registry in the vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry` referenced by the parameter registry requires `System.Read`. \n", + "operationId": "Vcenter.Content.Registries.Health_get", + "parameters": [ + { + "name": "registry", + "in": "path", + "description": "Identifier of the registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is not a member of the Administrators", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the registry does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Health information of the registry.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Health.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/content/registries/harbor/{registry}/projects": { + "get": { + "tags": [ + "Vcenter.Content.Registries.Harbor.Projects" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nReturns basic information of all projects in a Harbor registry.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry` referenced by the parameter registry requires `System.Read`. \n", + "operationId": "Vcenter.Content.Registries.Harbor.Projects_list", + "parameters": [ + { + "name": "registry", + "in": "path", + "description": "Identifier of the registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if registry cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The list of summary information of all Harbor projects.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.Projects.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Content.Registries.Harbor.Projects" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nCreates a project in a Harbor registry using the supplied specification. In vSphere 7.0, a Harbor registry is deployed in a vSphere cluster with vSphere namespaces enabled. When a namespace is created, a project with same name as the namespace is created in the Harbor registry, so this operation should not be called.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry` referenced by the parameter registry requires `ContentLibrary.ManageRegistryProject`. \n", + "operationId": "Vcenter.Content.Registries.Harbor.Projects_create", + "parameters": [ + { + "name": "registry", + "in": "path", + "description": "Identifier of the Registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information used to create the Harbor project.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.Projects.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any error.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if Harbor registry is being deleted.\n\n***Vapi.Std.Errors.AlreadyExists*** if a project with the same name already exists in the registry. In vSphere 7.0, the existing project could have been created automatically when a namespace with the same name is created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have ContentLibrary.ManageRegistryProject privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if a registry specified by registry could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "Identifier of the newly created Harbor project.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.content.Registry.Harbor.Project`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/content/registries/harbor/{registry}/projects/{project}": { + "get": { + "tags": [ + "Vcenter.Content.Registries.Harbor.Projects" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nReturns detailed information about the specified Harbor project.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry` referenced by the parameter registry requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry.Harbor.Project` referenced by the parameter project requires `System.Read`. \n", + "operationId": "Vcenter.Content.Registries.Harbor.Projects_get", + "parameters": [ + { + "name": "registry", + "in": "path", + "description": "Identifier of the registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "project", + "in": "path", + "description": "Identifier of the Harbor project.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry.Harbor.Project`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if registry or project cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Detailed information about the specified Harbor project.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.Projects.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Content.Registries.Harbor.Projects" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nDeletes the specified project from Harbor registry. Repositories and images in the project will be removed upon project deletion. Storage space of deleted images in the project will be reclaimed through next scheduled Harbor registry garbage collection. In vSphere 7.0, a Harbor registry is deployed in a vSphere cluster with vSphere namespaces enabled. When a namespace is deleted, a project with same name as the namespace is deleted from the Harbor registry, so this operation should not be called.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry` referenced by the parameter registry requires `ContentLibrary.ManageRegistryProject`. \n - The resource `com.vmware.vcenter.content.Registry.Harbor.Project` referenced by the parameter project requires `ContentLibrary.ManageRegistryProject`. \n", + "operationId": "Vcenter.Content.Registries.Harbor.Projects_delete", + "parameters": [ + { + "name": "registry", + "in": "path", + "description": "Identifier of the registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "project", + "in": "path", + "description": "Identifier of the Harbor project.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry.Harbor.Project`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if Harbor registry is being deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have ContentLibrary.ManageRegistryProject privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if registry or project cannot be found. In vSphere 7.0, the existing project could have been deleted automatically when a namespace with the same name is deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/content/registries/harbor/{registry}/projects/{project}?action=purge": { + "post": { + "tags": [ + "Vcenter.Content.Registries.Harbor.Projects" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.1.00200__.\n\nRemove all repositories, images and members in the project. Storage space of deleted images in the project will be reclaimed through next scheduled Harbor registry garbage collection.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.content.Registry` referenced by the parameter registry requires `ContentLibrary.ManageRegistryProject`. \n - The resource `com.vmware.vcenter.content.Registry.Harbor.Project` referenced by the parameter project requires `ContentLibrary.ManageRegistryProject`. \n", + "operationId": "Vcenter.Content.Registries.Harbor.Projects_purge", + "parameters": [ + { + "name": "registry", + "in": "path", + "description": "Identifier of the registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "project", + "in": "path", + "description": "Identifier of the Harbor project.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.content.Registry.Harbor.Project`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if Harbor registry is being deleted or the project is not in *Vcenter.Content.Registries.Harbor.Projects.ConfigStatus.READY* status.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have ContentLibrary.ManageRegistryProject privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if registry or project cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/crypto/fips/modules": { + "get": { + "tags": [ + "Vcenter.Crypto.Fips.Modules" + ], + "description": "Returns aggregated information about the FIPS validated crypto modules on this vCenter server and the ESXi hosts it manages.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Crypto.Fips.Modules_list", + "responses": { + "500": { + "description": "if the crypto modules info is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of crypto modules.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Crypto.Fips.Modules.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/crypto-manager/hosts/{host}/kms/providers": { + "get": { + "tags": [ + "Vcenter.CryptoManager.Hosts.Kms.Providers" + ], + "description": "List the available providers on a host.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Cryptographer.ReadKeyServersInfo`. \n", + "operationId": "Vcenter.CryptoManager.Hosts.Kms.Providers_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Host identifier.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "providers", + "in": "query", + "description": "Provider identifiers.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider identifier.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "health", + "in": "query", + "description": "Provider health status.\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nFor more information see: *Vcenter.CryptoManager.Hosts.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider health status.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "types", + "in": "query", + "description": "Provider types.\n\nPossible values:\n - `NATIVE`: Native provider\n - `TRUST_AUTHORITY`: Trust Authority provider\n\n\nFor more information see: *Vcenter.CryptoManager.Hosts.Kms.Providers.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider type.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the host identifier is empty or the FilterSpec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Summary of providers.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Hosts.Kms.Providers.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/crypto-manager/hosts/{host}/kms/providers/{provider}": { + "get": { + "tags": [ + "Vcenter.CryptoManager.Hosts.Kms.Providers" + ], + "description": "Get a provider on a host.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Cryptographer.ReadKeyServersInfo`. \n", + "operationId": "Vcenter.CryptoManager.Hosts.Kms.Providers_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Host identifier.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Provider identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the host identifier is empty or the provider identifier is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the provider or the host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information of the provider.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Hosts.Kms.Providers.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/crypto-manager/kms/providers": { + "get": { + "tags": [ + "Vcenter.CryptoManager.Kms.Providers" + ], + "description": "Return a list of providers. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Cryptographer.ReadKeyServersInfo`. \n", + "operationId": "Vcenter.CryptoManager.Kms.Providers_list", + "parameters": [ + { + "name": "providers", + "in": "query", + "description": "Provider identifiers.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider identifier.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "health", + "in": "query", + "description": "Provider health status.\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nFor more information see: *Vcenter.CryptoManager.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider health status.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the spec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Summary of providers.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.CryptoManager.Kms.Providers" + ], + "description": "Add a new provider.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Cryptographer.ManageKeyServers`. \n", + "operationId": "Vcenter.CryptoManager.Kms.Providers_create", + "requestBody": { + "description": "Provider information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a provider with the same identifier already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if the spec is invalid.\n\n***Vapi.Std.Errors.Unsupported*** if creating a provider of the type is not supported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/crypto-manager/kms/providers/{provider}": { + "get": { + "tags": [ + "Vcenter.CryptoManager.Kms.Providers" + ], + "description": "Return information about a provider.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Cryptographer.ReadKeyServersInfo`. \n", + "operationId": "Vcenter.CryptoManager.Kms.Providers_get", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the provider identifier is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information of the provider.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.CryptoManager.Kms.Providers" + ], + "description": "Remove a provider.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Cryptographer.ManageKeyServers`. \n", + "operationId": "Vcenter.CryptoManager.Kms.Providers_delete", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the provider identifier is empty.\n\n***Vapi.Std.Errors.Unsupported*** if the provider's type does not allow deletion.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.CryptoManager.Kms.Providers" + ], + "description": "Update an existing provider.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Cryptographer.ManageKeyServers`. \n", + "operationId": "Vcenter.CryptoManager.Kms.Providers_update", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Provider information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the spec is invalid.\n\n***Vapi.Std.Errors.Unsupported*** if the provider's type does not allow updates.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/crypto-manager/kms/providers?action=export": { + "post": { + "tags": [ + "Vcenter.CryptoManager.Kms.Providers" + ], + "description": "Export provider configuration.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Cryptographer.ManageKeyServers`. \n", + "operationId": "Vcenter.CryptoManager.Kms.Providers_export", + "requestBody": { + "description": "ExportSpec needed to export a provider.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.ExportSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the provider identifier is empty.\n\n***Vapi.Std.Errors.Unsupported*** if the provider's type does not allow export.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the provider with the identifier is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "ExportResult.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.ExportResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/crypto-manager/kms/providers?action=import": { + "post": { + "tags": [ + "Vcenter.CryptoManager.Kms.Providers" + ], + "description": "Import provider configuration.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Cryptographer.ManageKeyServers`. \n", + "operationId": "Vcenter.CryptoManager.Kms.Providers_importProvider", + "requestBody": { + "description": "ImportSpec needed to import a provider.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.ImportSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a provider with the same identifier already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if the config or the password is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "importResult ImportResult.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.ImportResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datastore/{datastore}/default-policy": { + "get": { + "tags": [ + "Vcenter.Datastore.DefaultPolicy" + ], + "description": "Returns the identifier of the current default storage policy associated with the specified datastore.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Datastore.DefaultPolicy_get", + "parameters": [ + { + "name": "datastore", + "in": "path", + "description": "Identifier of the datastore for which the default policy is requested.\n\nThe parameter must be an identifier for the resource type: `Datastore`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified datastore does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the default storage policy associated with the specified datastore.\n\nthis field is missing or `null` if there is no default storage policy associated with the datastore.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`.", + "content": { + "application/json": { + "schema": { + "type": "string", + "nullable": true + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/install": { + "get": { + "tags": [ + "Vcenter.Deployment.Install" + ], + "description": "Get the parameters used to configure the ongoing appliance installation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Install_get", + "responses": { + "400": { + "description": "if appliance is not in INSTALL_PROGRESS state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "InstallSpec parameters being used to configure appliance install.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Install.InstallSpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/install?action=check": { + "post": { + "tags": [ + "Vcenter.Deployment.Install" + ], + "description": "Run sanity checks using the InstallSpec parameters passed.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Install_check", + "requestBody": { + "description": "InstallSpec parameters to run sanity check with.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Install.InstallSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif external PSC credentials are not valid when configuring PSC to replicate with an external existing PSC.\n\nif external PSC credentials are not valid when configuring a VCSA_EXTERNAL appliance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "CheckInfo containing the check results.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.CheckInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/install?action=start": { + "post": { + "tags": [ + "Vcenter.Deployment.Install" + ], + "description": "Start the appliance installation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Install_start", + "requestBody": { + "description": "InstallSpec parameters to configure the appliance install.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Install.InstallSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif the partner PSC credentials are not valid when configuring PSC to replicate with partner PSC.\n\nif external PSC credentials are not valid when configuring a VCSA_EXTERNAL appliance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/install?action=cancel": { + "post": { + "tags": [ + "Vcenter.Deployment.Install" + ], + "description": "Cancel the appliance installation that is in progress.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Install_cancel", + "responses": { + "400": { + "description": "if the appliance is not in CONFIG_IN_PROGRESS state and if the operation is not INSTALL.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/upgrade": { + "get": { + "tags": [ + "Vcenter.Deployment.Upgrade" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nGet the UpgradeSpec parameters used to configure the ongoing appliance upgrade.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Upgrade_get", + "responses": { + "400": { + "description": "if appliance is not in UPGRADE_PROGRESS state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "UpgradeSpec parameters being used to configure appliance upgrade.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Upgrade.UpgradeSpec" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/upgrade?action=check": { + "post": { + "tags": [ + "Vcenter.Deployment.Upgrade" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nRun sanity checks using the UpgradeSpec parameters passed.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Upgrade_check", + "requestBody": { + "description": "UpgradeSpec parameters to run sanity check on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Upgrade.UpgradeSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif source credentials are not valid.\n\nif source container credentials are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "CheckInfo containing the check results.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.CheckInfo" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/upgrade?action=start": { + "post": { + "tags": [ + "Vcenter.Deployment.Upgrade" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nStart the appliance installation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Upgrade_start", + "requestBody": { + "description": "UpgradeSpec parameters to configure the appliance upgrade.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Upgrade.UpgradeSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif source credentials are not valid.\n\nif source container credentials are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/upgrade?action=cancel": { + "post": { + "tags": [ + "Vcenter.Deployment.Upgrade" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nCancel the appliance upgrade that is in progress.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Upgrade_cancel", + "responses": { + "400": { + "description": "if the appliance is not in CONFIG_IN_PROGRESS state and if the operation is not INSTALL.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/migrate": { + "get": { + "tags": [ + "Vcenter.Deployment.Migrate" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nGet the MigrateSpec parameters used to configure the ongoing appliance migration.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Deployment.Migrate_get", + "responses": { + "400": { + "description": "if appliance is not in MIGRATE_PROGRESS state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "MigrateSpec parameters being used to configure appliance migration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.MigrateSpec" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/migrate?action=check": { + "post": { + "tags": [ + "Vcenter.Deployment.Migrate" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRun sanity checks using the MigrateSpec parameters passed.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Deployment.Migrate_check", + "requestBody": { + "description": "MigrateSpec parameters to run sanity check on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.MigrateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif migration assistant credentials are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "CheckInfo containing the check results.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.CheckInfo" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/migrate?action=start": { + "post": { + "tags": [ + "Vcenter.Deployment.Migrate" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nStart the appliance migration.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Deployment.Migrate_start", + "requestBody": { + "description": "MigrateSpec parameters to configure the appliance migration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.MigrateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif migration assistant credentials are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/migrate?action=cancel": { + "post": { + "tags": [ + "Vcenter.Deployment.Migrate" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nCancel the appliance migration that is in progress.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Deployment.Migrate_cancel", + "responses": { + "400": { + "description": "if the appliance is not in CONFIG_IN_PROGRESS state and if the operation is not INSTALL.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/question": { + "get": { + "tags": [ + "Vcenter.Deployment.Question" + ], + "description": "Get the question that was raised during the configuration.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Question_get", + "responses": { + "400": { + "description": "if the appliance is not in QUESTION_RAISED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if questions could not be retrieved although the appliance is in QUESTION_RAISED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InternalServerError" + } + } + } + }, + "200": { + "description": "Info structure containing the question.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Question.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/question?action=answer": { + "post": { + "tags": [ + "Vcenter.Deployment.Question" + ], + "description": "Supply answer to the raised question.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Question_answer", + "requestBody": { + "description": "AnswerSpec with the answer to the raised question.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Question.AnswerSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is NOT in QUESTION_RAISED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if answer file could not be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InternalServerError" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/history": { + "get": { + "tags": [ + "Vcenter.Deployment.ImportHistory" + ], + "description": "Get the current status of the vCenter historical data import.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.ImportHistory_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info structure containing the status information about the historical data import status.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.ImportHistory.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/history?action=start": { + "post": { + "tags": [ + "Vcenter.Deployment.ImportHistory" + ], + "description": "Creates and starts task for importing vCenter historical data.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.ImportHistory_start", + "requestBody": { + "description": "An optional Vcenter.Deployment.ImportHistory.CreateSpec info that can be passed for creating a new historical data import task and starts it.\n\nIf missing or `null`, default value will be: \n - name : vcenter.deployment.history.import\n - description : vCenter Server history import\n ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.ImportHistory.CreateSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if vCenter historical data import task cannot be started at this time. This can happen in the following cases: \n - If historical data import has already been canceled because a canceled task cannot be re-started \n - If historical data import has already been completed because a completed task cannot be re-started \n - If historical data import has already been paused because a paused task can only be resumed or canceled \n \n\n***Vapi.Std.Errors.AlreadyInDesiredState*** if vCenter historical data import task has already being started.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/history?action=pause": { + "post": { + "tags": [ + "Vcenter.Deployment.ImportHistory" + ], + "description": "Pauses the task for importing vCenter historical data.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.ImportHistory_pause", + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if vCenter historical data import task cannot be paused at this time. Pause can be accepted only in *Cis.Task.Status.RUNNING* state.\n\n***Vapi.Std.Errors.AlreadyInDesiredState*** if vCenter historical data import task is already paused", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/history?action=resume": { + "post": { + "tags": [ + "Vcenter.Deployment.ImportHistory" + ], + "description": "Resumes the task for importing vCenter historical data.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.ImportHistory_resume", + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if vCenter historical data import task cannot be resumed at this state. Resume can be accepted only in *Cis.Task.Status.BLOCKED* state\n\n***Vapi.Std.Errors.AlreadyInDesiredState*** if vCenter historical data import task is already resumed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/history?action=cancel": { + "post": { + "tags": [ + "Vcenter.Deployment.ImportHistory" + ], + "description": "Cancels the task for importing vCenter historical data.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.ImportHistory_cancel", + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if vCenter historical data import task cannot be canceled at this state. This can happen in the following cases: \n - If historical data import has not been started yet because a not running task cannot be canceled \n - If historical data import has already been completed because a completed task cannot be canceled \n \n\n***Vapi.Std.Errors.AlreadyInDesiredState*** if vCenter historical data import task is already canceled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "Generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/size": { + "get": { + "tags": [ + "Vcenter.Deployment.Size" + ], + "description": "Gets the information about the current deployment size of vCenter\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Vcenter.Deployment.Size_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of this call.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "returns a schema *Vcenter.Deployment.DeploymentInfo* containing the details about the vCenter deployment type", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.DeploymentInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Deployment.Size" + ], + "description": "Updates the vcenter deployment size to a specified size. It can only scale up the size and not scale it down. It is a long running operation and the execution happens in a non blocking fashion. It immediately returns 'accepted'/'ok' if the request is valid and proceeds with the execution asynchronously. To query the status of this resize operation, invoke *GET /vcenter/deployment/size/status* Note: Please ensure that the underlying host on which vCenter is deployed has sufficient resources to avoid any performance issues.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Vcenter.Deployment.Size_update", + "requestBody": { + "description": "contains necessary information for deployment size patching", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Size.Spec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the input to this method is invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if there is an already running patch operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the patch call.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/install/remote-psc?action=check": { + "post": { + "tags": [ + "Vcenter.Deployment.Install.RemotePsc" + ], + "description": "Checks whether the remote PSC is reachable and the deployed vCenter Server can be registered with the remote PSC.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Install.RemotePsc_check", + "requestBody": { + "description": "Information to connect to the remote PSC.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.RemotePscSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif external PSC credentials are not valid when configuring a VCSA_EXTERNAL appliance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "Information about the success or failure of the checks that were performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.CheckInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/install/initial-config/remote-psc/thumbprint": { + "get": { + "tags": [ + "Vcenter.Deployment.Install.InitialConfig.RemotePsc.Thumbprint" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__.\n\nGets the SHA1 thumbprint of the remote PSC.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Install.InitialConfig.RemotePsc.Thumbprint_get", + "parameters": [ + { + "name": "spec", + "in": "query", + "description": "Information used to connect to the remote PSC.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Install.InitialConfig.RemotePsc.Thumbprint.RemoteSpec" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "on exception.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The thumbprint of the specified remote PSC", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/install/psc/replicated?action=check": { + "post": { + "tags": [ + "Vcenter.Deployment.Install.Psc.Replicated" + ], + "description": "Checks whether the provided remote PSC is reachable and can be replicated.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Install.Psc.Replicated_check", + "requestBody": { + "description": "Information to configure a replicated PSC.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.ReplicatedPscSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif external PSC credentials are not valid when configuring PSC to replicate with an external existing PSC.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "Information about the success or failure of the checks that were performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.CheckInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/install/psc/standalone?action=check": { + "post": { + "tags": [ + "Vcenter.Deployment.Install.Psc.Standalone" + ], + "description": "Checks that the information to configure a non-replicated PSC satisfies the requirements.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Deployment.Install.Psc.Standalone_check", + "requestBody": { + "description": "Information to configure a non-replicated PSC.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.StandalonePscSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "Information about the success or failure of the checks that were performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.CheckInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/migrate/active-directory?action=check": { + "post": { + "tags": [ + "Vcenter.Deployment.Migrate.ActiveDirectory" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nChecks whether the provided Active Directory user has permission to join the migrated vCenter Server appliance to the domain.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Deployment.Migrate.ActiveDirectory_check", + "requestBody": { + "description": "Information to connect to Active Directory.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.ActiveDirectory.CheckSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "Information about the success or failure of the checks that were performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.CheckInfo" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/deployment/size/status": { + "get": { + "tags": [ + "Vcenter.Deployment.Size.Status" + ], + "description": "Gets the current status of a deployment resize operation. If there is no ongoing resize operation it returns the last completed resize operation's status.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Vcenter.Deployment.Size.Status_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is any other error raised as part of this call.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "returns a schema *Vcenter.Deployment.Size.Status.Info* containing the details about resize operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.Size.Status.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/environment-browser/config-option-descriptors": { + "get": { + "tags": [ + "Vcenter.EnvironmentBrowser.ConfigOptionDescriptors" + ], + "description": "Returns the list of ConfigOptionDescriptors available for the specified filter.\n\nThis operation was added in __vSphere API 8.0.2.00300__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.ListParams.clusters* requires `System.View`. \n", + "operationId": "Vcenter.EnvironmentBrowser.ConfigOptionDescriptors_list", + "parameters": [ + { + "name": "clusters", + "in": "query", + "description": "A set of Cluster IDs that specify for which Clusters the configuration option descriptors are requested.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` or empty an error will be returned. Ability to pass unset value is left for future expansion.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if an invalid filter is supplied.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges for all the specified clusters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if object identifiers in the spec cannot be matched.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system encounters an unexpected error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "a list of config option keys in *Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.Summary* objects.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/environment-browser/config-options": { + "get": { + "tags": [ + "Vcenter.EnvironmentBrowser.ConfigOptions" + ], + "description": "Query for the `vim.vm.ConfigOption` from the hosts in the specified clusters. The filter spec may be optionally used to narrow the result to a specific config option by the key returned from *GET /vcenter/environment-browser/config-option-descriptors* as well as one or more guest OS identifier(s). If the config option key is not specified, then the default config option for the specified cluster(s) is returned. \n\n This operation requires additional `api_release` request parameter which must be used to guarantee compatibility with future releases of the API. Consult the vSphere Automation SDKs Programming Guide for more information. \n\nThis operation was added in __vSphere API 8.0.2.00300__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.EnvironmentBrowser.ConfigOptions.GetParams.clusters* requires `System.View`. \n", + "operationId": "Vcenter.EnvironmentBrowser.ConfigOptions_get", + "parameters": [ + { + "name": "params", + "in": "query", + "description": "The query specification used to provide key, guest OS identifier(s), clusters.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.EnvironmentBrowser.ConfigOptions.GetParams" + } + }, + { + "name": "clusters", + "in": "query", + "description": "The clusters whose config option are requested.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` or empty an InvalidArgument error is returned. missing or `null` is allowed for future extensibility e.g. generating options for hosts, VM etc.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "guest_ids", + "in": "query", + "description": "Filter the set of Guest OSs for which descriptors will be returned.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` all guest OS descriptors are returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if invalid input is passed like invalid key, OS or cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges for all the specified clusters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if at least one of the specified clusters cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.EnvironmentBrowser.ConfigOptions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/environment-browser/config-targets": { + "get": { + "tags": [ + "Vcenter.EnvironmentBrowser.ConfigTargets" + ], + "description": "Queries for information about a specific target, a \"physical\" device that can be used to back virtual devices. \n\n The returned vim.vm.ConfigTarget specifies the set of values that can be used for device backings to connect the virtual machine to physical, or logical, host devices. \n\n This operation requires additional `api_release` request parameter which must be used to guarantee compatibility with future releases of the API. Consult the vSphere Automation SDKs Programming Guide for more information. \n\nThis operation was added in __vSphere API 8.0.2.00300__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.EnvironmentBrowser.ConfigTargets.GetParams.clusters* requires `System.View`. \n", + "operationId": "Vcenter.EnvironmentBrowser.ConfigTargets_get", + "parameters": [ + { + "name": "clusters", + "in": "query", + "description": "A set of Cluster IDs that specify for which Clusters the configuration target is requested.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` or empty an error will be returned. Ability to pass unset value is left for future expansion.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "filter", + "in": "query", + "description": "Specify a filter to narrow the results.\n\nPossible values:\n - `DATASTORES`: Datastores category includes datastore list within a vim.vm.ConfigTarget.\n - `NETWORKS`: Networks category includes network, opaqueNetwork, distributedVirtualPortgroup, distributedVirtualSwitch and legacyNetworkInfo within a vim.vm.ConfigTarget.\n - `DEVICES`: Devices category includes cdRom, serial, parallel, sound, usb, floppy, scsiPassthrough, pciPassthrough, sriov, vFlashModule and sharedGpuPassthroughTypes within a vim.vm.ConfigTarget.\n - `DISKS`: Disks category includes scsiDisk and ideDisk within a vim.vm.ConfigTarget.\n\n\nFor more information see: *Vcenter.EnvironmentBrowser.ConfigTargets.ConfigTargetSpec*.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` or empty, all information for a given config target is returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if invalid search criteria or filter is provided", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges for all the specified clusters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if one or more of the specified clusters cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The VI/JSON representation of `ConfigTarget` (`vim.vm.ConfigTarget`) with the devices from the specified clusters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.EnvironmentBrowser.ConfigTargets.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/foundation-load-balancers/{foundationLoadBalancer}/nodes/{nodeId}?action=enter-maintenance-mode": { + "post": { + "tags": [ + "Vcenter.FoundationLoadBalancers.Nodes" + ], + "description": "Enters load balancer node in maintenance mode.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `FoundationLoadBalancers.Manage`. \n", + "operationId": "Vcenter.FoundationLoadBalancers.Nodes_enterMaintenanceMode", + "parameters": [ + { + "name": "foundationLoadBalancer", + "in": "path", + "description": "identifier of the load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nodeId", + "in": "path", + "description": "identifier of load balancer node to put in maintenance mode.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have \"FoundationLoadBalancers.Manage\" privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the load balancer or load balancer node is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/foundation-load-balancers/{foundationLoadBalancer}/nodes/{nodeId}?action=exit-maintenance-mode": { + "post": { + "tags": [ + "Vcenter.FoundationLoadBalancers.Nodes" + ], + "description": "Exits load balancer node from maintenance mode.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `FoundationLoadBalancers.Manage`. \n", + "operationId": "Vcenter.FoundationLoadBalancers.Nodes_exitMaintenanceMode", + "parameters": [ + { + "name": "foundationLoadBalancer", + "in": "path", + "description": "identifier of the load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nodeId", + "in": "path", + "description": "identifier of load balancer node to exit from maintenance mode.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have \"FoundationLoadBalancers.Manage\" privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the load balancer or load balancer node is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the service is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/foundation-load-balancers/{foundationLoadBalancer}/nodes/{nodeId}?action=redeploy": { + "post": { + "tags": [ + "Vcenter.FoundationLoadBalancers.Nodes" + ], + "description": "Redeploys load balancer node.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `FoundationLoadBalancers.Manage`. \n", + "operationId": "Vcenter.FoundationLoadBalancers.Nodes_redeploy", + "parameters": [ + { + "name": "foundationLoadBalancer", + "in": "path", + "description": "identifier of the load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nodeId", + "in": "path", + "description": "identifier of load balancer node to redeploy.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the operation is not allowed in the current state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have \"FoundationLoadBalancers.Manage\" privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the load balancer or load balancer node is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/foundation-load-balancers/{foundationLoadBalancer}/nodes/{nodeId}": { + "get": { + "tags": [ + "Vcenter.FoundationLoadBalancers.Nodes" + ], + "description": "Retrieves information about load balancer node.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.FoundationLoadBalancers.Nodes_get", + "parameters": [ + { + "name": "foundationLoadBalancer", + "in": "path", + "description": "identifier of the load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nodeId", + "in": "path", + "description": "identifier of load balancer node to get information.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the \"System.Read\" privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the load balancer or load balancer node is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "*Vcenter.FoundationLoadBalancers.Nodes.Info* information about the load balancer node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Nodes.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/foundation-load-balancers/{foundationLoadBalancer}/nodes": { + "get": { + "tags": [ + "Vcenter.FoundationLoadBalancers.Nodes" + ], + "description": "Returns load balancer instance contained node(s).\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.FoundationLoadBalancers.Nodes_list", + "parameters": [ + { + "name": "foundationLoadBalancer", + "in": "path", + "description": "identifier of load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the \"System.Read\" privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the load balancer is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "*Vcenter.FoundationLoadBalancers.Nodes.ListResult* the identifiers of load balancer member node(s).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Nodes.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/guest/customization-specs": { + "get": { + "tags": [ + "Vcenter.Guest.CustomizationSpecs" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) guest customization specifications in vCenter matching the *Vcenter.Guest.CustomizationSpecs.FilterSpec*.\n\nThis operation was added in __vSphere API 6.7.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachine.Provisioning.ReadCustSpecs`. \n", + "operationId": "Vcenter.Guest.CustomizationSpecs_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching guest customization specifications for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Guest.CustomizationSpecs.FilterSpec* with all properties missing or `null` which means all guest customization specifications match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.FilterSpec" + } + }, + { + "name": "names", + "in": "query", + "description": "Names that guest customization specifications must have to match the filter (see *Vcenter.Guest.CustomizationSpecs.Summary.name*).\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` or empty, guest customization specifications with any name match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Guest.CustomizationSpecs.FilterSpec.OS_type* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 guest customization specifications match the *Vcenter.Guest.CustomizationSpecs.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the guest customization specifications matching the *Vcenter.Guest.CustomizationSpecs.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Guest.CustomizationSpecs" + ], + "description": "Creates a customization specification.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachine.Provisioning.ModifyCustSpecs`. \n", + "operationId": "Vcenter.Guest.CustomizationSpecs_create", + "requestBody": { + "description": "The information i.e. name, description and the settings i.e hostname, ip address etc for the new customization specification that needs to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a customization specification is already present with the same name.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified specification is not a valid one.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The name of the customization specification that is created.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/guest/customization-specs/{name}": { + "get": { + "tags": [ + "Vcenter.Guest.CustomizationSpecs" + ], + "description": "Returns the guest customization specification from vCenter with the specified identifier.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachine.Provisioning.ReadCustSpecs`. \n", + "operationId": "Vcenter.Guest.CustomizationSpecs_get", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "The name of the customization specification.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a customization specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A customization spec with the specified identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Guest.CustomizationSpecs" + ], + "description": "Sets an existing specification, possibly after retrieving (by using *GET /vcenter/guest/customization-specs/{name}*) and editing it.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachine.Provisioning.ModifyCustSpecs`. \n", + "operationId": "Vcenter.Guest.CustomizationSpecs_set", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "The name of the customization specification that needs to be set.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The new specification that will overwrite the existing specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.Spec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If, based on the item's fingerprint value, the set process detects that the specification has changed since its retrieval, then the operation throws InvalidArgument exception to warn the client that he might overwrite another client's change.\n\nIf the settings in spec are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a customization specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Guest.CustomizationSpecs" + ], + "description": "Deletes a customization specification with the specified identifier.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachine.Provisioning.ModifyCustSpecs`. \n", + "operationId": "Vcenter.Guest.CustomizationSpecs_delete", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "The name of the customization specification that needs to be deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a customization specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/guest/customization-specs/{name}?action=export": { + "post": { + "tags": [ + "Vcenter.Guest.CustomizationSpecs" + ], + "description": "Returns the content of the customization specification in the specified format. Note that any passwords in the customization specification will be set to blank values during the export operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachine.Provisioning.ReadCustSpecs`. \n", + "operationId": "Vcenter.Guest.CustomizationSpecs_export", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "The name of the customization specification that has to be returned.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: export", + "content": { + "application/json": { + "schema": { + "required": [ + "format" + ], + "type": "object", + "properties": { + "format": { + "type": "string", + "description": "The format in which the customization specification has to be returned.\n\nPossible values:\n - `JSON`: JSON format.\n - `XML`: XML format.\n\n\nFor more information see: *Vcenter.Guest.CustomizationSpecs.Format*." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If value of format is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the customization specification is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The string representation of the customization specification in the specified format.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/guest/customization-specs?action=import": { + "post": { + "tags": [ + "Vcenter.Guest.CustomizationSpecs" + ], + "description": "Converts a well formatted string to a *Vcenter.Guest.CustomizationSpecs.CreateSpec*. The resulting object can be passed to *POST /vcenter/guest/customization-specs* operation.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachine.Provisioning.ModifyCustSpecs`. \n", + "operationId": "Vcenter.Guest.CustomizationSpecs_importSpecification", + "requestBody": { + "description": "Request body for invoking operation: importSpecification", + "content": { + "application/json": { + "schema": { + "required": [ + "customization_spec" + ], + "type": "object", + "properties": { + "customization_spec": { + "type": "string", + "description": "content to be converted to the spec." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the specified content cannot be properly converted into a proper valid *Vcenter.Guest.CustomizationSpecs.CreateSpec* object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A proper specification of type *Vcenter.Guest.CustomizationSpecs.CreateSpec*", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.CreateSpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host/crypto/fips/modules": { + "get": { + "tags": [ + "Vcenter.Host.Crypto.Fips.Modules" + ], + "description": "Return a list of FIPS validated crypto modules installed on the hosts in the inventory.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Host.Crypto.Fips.Modules_list", + "parameters": [ + { + "name": "hosts", + "in": "query", + "description": "MoId of the hosts whose modules shall be included in the result; Up to 100 hosts can be specified.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, all hosts shall be included in the result.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Name of modules which shall be included in the result. Up to 10 names can be specified.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, modules won't be filtered by name.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "versions", + "in": "query", + "description": "Version of modules which shall be included in the result. Up to 10 versions can be specified.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, modules won't be filtered by version.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "iterate", + "in": "query", + "description": "optional specification for pagination of results.\n\nif missing or `null` or empty, the first page will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Crypto.Fips.Modules.IterationSpec" + } + } + ], + "responses": { + "400": { + "description": "if the filter or iterate specs are not valid or if any MoId is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user doesn't have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the crypto modules info is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "crypto modules installed on this vCenter server and its ESXi hosts.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Crypto.Fips.Modules.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host/{host}/entropy/external-pool": { + "get": { + "tags": [ + "Vcenter.Host.Entropy.ExternalPool" + ], + "description": "Retrieves the entropy pool details of a host including current entropy level.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Host.Entropy.Read`. \n", + "operationId": "Vcenter.Host.Entropy.ExternalPool_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the host is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Entropy details of a host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Entropy.ExternalPool.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host/{host}/entropy/external-pool?action=add": { + "post": { + "tags": [ + "Vcenter.Host.Entropy.ExternalPool" + ], + "description": "Adds additional entropy to the pool. This API will accept maximum (*Vcenter.Host.Entropy.ExternalPool.Info.capacity* - *Vcenter.Host.Entropy.ExternalPool.Info.currently_available*) bytes of entropy. Extra entropy data sent will be discarded.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Host.Entropy.Write`. \n", + "operationId": "Vcenter.Host.Entropy.ExternalPool_add", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "contains buffer of entropy data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Entropy.ExternalPool.AddSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the host is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Result of add operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Entropy.ExternalPool.AddResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host/{host}/hardware/direct-path-devices": { + "get": { + "tags": [ + "Vcenter.Host.Hardware.DirectPathDevices" + ], + "description": "Returns all the DirectPathDevices on the host.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Host.Hardware.DirectPathDevices_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host to be queried for its DirectPath devices.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "devices", + "in": "query", + "description": "Set of device IDs to query.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "iterationSpec", + "in": "query", + "description": "Allows clients to iterate over the results.\n\nIf missing or `null`, then see *Vcenter.Host.Hardware.DirectPathDevices.IterationSpec* for default behavior details.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Hardware.DirectPathDevices.IterationSpec" + } + }, + { + "name": "listDetails", + "in": "query", + "description": "Allows clients to request additional data to be included in the *GET /vcenter/host/{host}/hardware/direct-path-devices* operation output.\n\nIf missing or `null`, then see *Vcenter.Host.Hardware.DirectPathDevices.ListDetails* for default behavior details.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Hardware.DirectPathDevices.ListDetails" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have authorization to view host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a host with the given identifier cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there was an error retrieving the DirectPath devices.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of commonly used information for the host's DirectPath devices.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Hardware.DirectPathDevices.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host/{host}/hardware/direct-path-devices?action=configure&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Host.Hardware.DirectPathDevices" + ], + "description": "Configures a DirectPath device on the given host.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Host.Config.PciPassthru`. \n", + "operationId": "Vcenter.Host.Hardware.DirectPathDevices_configure$Task", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "The host which has the specified DirectPath device.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The options for configuring the DirectPath device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.Hardware.DirectPathDevices.ConfigureSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if any of the input arguments are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have enough privileges to perform this operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified host or the device could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there are any runtime errors during device configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Results of the configure operation.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/identity/providers": { + "get": { + "tags": [ + "Vcenter.Identity.Providers" + ], + "description": "Retrieve all identity providers.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIdentityProviders.Read` and `VcIdentityProviders.Manage`. \n", + "operationId": "Vcenter.Identity.Providers_list", + "responses": { + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "Commonly used information about the identity providers.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Identity.Providers" + ], + "description": "Create a vCenter Server identity provider.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIdentityProviders.Create` and `VcIdentityProviders.Manage`. \n", + "operationId": "Vcenter.Identity.Providers_create", + "requestBody": { + "description": "the CreateSpec contains the information used to create the provider", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if invalid arguments are provided in createSpec.\n\n***Vapi.Std.Errors.AlreadyExists*** if provider exists for provider ID in given spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "201": { + "description": "The identifier of the created identity provider.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.identity.Providers`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/identity/providers/{provider}": { + "get": { + "tags": [ + "Vcenter.Identity.Providers" + ], + "description": "Retrieve detailed information of the specified identity provider.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIdentityProviders.Read` and `VcIdentityProviders.Manage`. \n", + "operationId": "Vcenter.Identity.Providers_get", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "the identifier of the provider\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.identity.Providers`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no provider found with the given provider identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Detailed information of the specified identity provider.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Identity.Providers" + ], + "description": "Delete a vCenter Server identity provider.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIdentityProviders.Manage`. \n", + "operationId": "Vcenter.Identity.Providers_delete", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "the identifier of the provider to delete\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.identity.Providers`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no provider found with the given provider identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Identity.Providers" + ], + "description": "Update a vCenter Server identity provider.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIdentityProviders.Manage`. \n", + "operationId": "Vcenter.Identity.Providers_update", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "the identifier of the provider to update\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.identity.Providers`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the UpdateSpec contains the information used to update the provider", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if invalid arguments are provided in updateSpec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "403": { + "description": "if authorization is not given to caller.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no provider found with the given provider identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/identity/broker/tenants/{tenant}/admin-client": { + "get": { + "tags": [ + "Vcenter.Identity.Broker.Tenants.AdminClient" + ], + "description": "Returns the tenant admin client token info associated with pre-configured tenant(s) owned by vcenter trustmanagment service.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIdentityProviders.Manage`. \n", + "operationId": "Vcenter.Identity.Broker.Tenants.AdminClient_get", + "parameters": [ + { + "name": "tenant", + "in": "path", + "description": "The tenant name for which the admin client token needs to be returned.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.identity.broker.tenant`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if not authorized to invoke the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no tenant owned by vcenter trustmanagment service, with the input parameter found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "*Vcenter.Identity.Broker.Tenants.TokenInfo* schema that contains a newly issued tenant admin client token.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Identity.Broker.Tenants.TokenInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/identity/broker/tenants/operator-client": { + "get": { + "tags": [ + "Vcenter.Identity.Broker.Tenants.OperatorClient" + ], + "description": "Return the operator client token info in Broker. The operator client was created at bootstrap or installation of broker. This token can be used to manage tenant entity APIs.\n\nThis operation was added in __vSphere API 8.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcIdentityProviders.Manage`. \n", + "operationId": "Vcenter.Identity.Broker.Tenants.OperatorClient_get", + "responses": { + "401": { + "description": "if not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if not authorized to invoke the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no operator client details found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "*Vcenter.Identity.Broker.Tenants.TokenInfo* schema that contains a newly issued operator client token.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Identity.Broker.Tenants.TokenInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/inventory/datastore": { + "get": { + "tags": [ + "Vcenter.Inventory.Datastore" + ], + "description": "Returns datastore information for the specified datastores. The key in the response map is the datastore identifier and the value in the map is the datastore information.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `Datastore` referenced by the parameter datastores requires `System.Read`. \n", + "operationId": "Vcenter.Inventory.Datastore_find", + "parameters": [ + { + "name": "datastores", + "in": "query", + "description": " Identifiers of the datastores for which information will be returned.\n\nThe parameter must contain identifiers for the resource type: `Datastore`.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": " if no datastore can be found for one or more of the datastore identifiers in datastores", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Datastore information for the specified datastores. The key in the response map is the datastore identifier and the value in the map is the datastore information.\n\nThe key in the response map will be an identifier for the resource type: `Datastore`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Inventory.Datastore.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/inventory/network": { + "get": { + "tags": [ + "Vcenter.Inventory.Network" + ], + "description": "Returns network information for the specified vCenter Server networks. The key in the response map is the network identifier and the value in the map is the network information.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `Network` referenced by the parameter networks requires `System.Read`. \n", + "operationId": "Vcenter.Inventory.Network_find", + "parameters": [ + { + "name": "networks", + "in": "query", + "description": " Identifiers of the vCenter Server networks for which information will be returned.\n\nThe parameter must contain identifiers for the resource type: `Network`.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "404": { + "description": " if no datastore can be found for one or more of the vCenter Server network identifiers in networks", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Network information for the specified vCenter Server networks. The key in the response map is the network identifier and the value in the map is the network information.\n\nThe key in the response map will be an identifier for the resource type: `Network`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Inventory.Network.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/iso/image?action=mount": { + "post": { + "tags": [ + "Vcenter.Iso.Image" + ], + "description": "Mounts an ISO image from a content library on a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Config.AddRemoveDevice`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItem requires `ContentLibrary.DownloadSession`. \n", + "operationId": "Vcenter.Iso.Image_mount", + "requestBody": { + "description": "Request body for invoking operation: mount", + "content": { + "application/json": { + "schema": { + "required": [ + "library_item", + "vm" + ], + "type": "object", + "properties": { + "library_item": { + "type": "string", + "description": "The identifier of the library item having the ISO image to mount on the virtual machine.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "vm": { + "type": "string", + "description": "The identifier of the virtual machine where the specified ISO image will be mounted.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If no .iso file is present on the library item.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** When the operation is not allowed on the virtual machine in its current state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "Error!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" + } + } + } + }, + "404": { + "description": "If either vm or the libraryItem is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The identifier of the newly created virtual CD-ROM backed by the specified ISO image.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/iso/image?action=unmount": { + "post": { + "tags": [ + "Vcenter.Iso.Image" + ], + "description": "Unmounts a previously mounted CD-ROM using an ISO image as a backing.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Config.AddRemoveDevice`. \n - The resource `com.vmware.vcenter.vm.hardware.Cdrom` referenced by the parameter cdrom requires `System.Read`. \n", + "operationId": "Vcenter.Iso.Image_unmount", + "requestBody": { + "description": "Request body for invoking operation: unmount", + "content": { + "application/json": { + "schema": { + "required": [ + "cdrom", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "The identifier of the virtual machine from which to unmount the virtual CD-ROM.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`." + }, + "cdrom": { + "type": "string", + "description": "The device identifier of the CD-ROM.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "When the operation is not allowed on the virtual machine in its current state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "404": { + "description": "If the virtual machine identified by vm is not found or the cdrom does not identify a virtual CD-ROM in the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/reports/{report}": { + "get": { + "tags": [ + "Vcenter.Lcm.Reports" + ], + "description": "Returns the location *Vcenter.Lcm.Reports.Location* information for downloading the report for the specified file name. \n\n Retrieving a report involves two steps: \n - Step 1: Invoke the *GET /vcenter/lcm/reports/{report}* operation to provision a token and a URI.\n - Step 2: Make an HTTP GET request by using the URI and the token returned in step 1 to retrieve the report.\n \n\n The HTTP GET request will: \n - Return 401 (Not Authorized) if the download URI is recognized, but the token is invalid, 404 if the URL is not recognized otherwise return 200 (OK)\n - Provide the CSV contents as the output of the request. The API accepts the file name as input, reads the contents of that CSV file, and returns this text as the result of the API. \n \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Reports_get", + "parameters": [ + { + "name": "report", + "in": "path", + "description": "The parameter must be an identifier for the resource type: `com.vmware.vcenter.lcm.report`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no file associated with report in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Reports.Location" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/deployment/migration-upgrade": { + "get": { + "tags": [ + "Vcenter.Lcm.Deployment.MigrationUpgrade" + ], + "description": "Gets the *Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec* parameters used to configure the ongoing appliance upgrade. The *Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec* will have its password masked. Returns the *Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec* if there is an upgrade process initialized, otherwise returns NotFound error.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.Upgrade`. \n", + "operationId": "Vcenter.Lcm.Deployment.MigrationUpgrade_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no configured upgrade.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Parameters being used to configure appliance upgrade.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Lcm.Deployment.MigrationUpgrade" + ], + "description": "Initializes the upgrade workflow with upgrade parameters\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.Upgrade`. \n", + "operationId": "Vcenter.Lcm.Deployment.MigrationUpgrade_set", + "requestBody": { + "description": "InitSpec parameters for the initialization of the upgrade.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance upgrade has started i.e it is in different state than INITIALIZED, CANCELED or UPGRADED\n\n***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the upgrade process. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/deployment/migration-upgrade?action=apply": { + "post": { + "tags": [ + "Vcenter.Lcm.Deployment.MigrationUpgrade" + ], + "description": "Executes the migration based upgrade by applying the upgrade configuration(*Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec*) set via the *PUT /vcenter/lcm/deployment/migration-upgrade*. The apply can be called multiple times while the upgrade is ongoing. In that case, the apply will try to override the old spec with the newly given parameters and will fail with *Vapi.Std.Errors.InvalidArgument* if that is not possible. The upgrade process executes several operations to reach the desired state of upgraded vCenter. \n 1. The upgrade process runs prechecks to ensure that the source vCenter health and the information provide will allow successful upgrade. \n 2. The upgrade process deploys the new vCenter and configures it to be part of the upgrade. The services of the source vCenter are operational at that time and there is no disruption to the operations. \n 3. The upgrade process configures the source vCenter and replicates its data to the new vCenter, without stopping the source vCenter or preventing its use. The services of the source vCenter are operational at that time and there is no disruption to the operations. \n 4. The upgrade process executes the switchover which stops the service on the source vCenter, transfers the identity (network, certificates and passwords) to the new vCenter and starts the services on the new vCenter. This is the only phase of the upgrade which causes downtime to the vCenter operations. \n 5. The upgrade process checks that the new vCenter is healthy before continuing forward. \n 6. Finally the upgrade process performs any requested post-upgrade actions. The services of the source vCenter are operational at that time and there is no disruption to the operations. \n \n\n The *Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec* allows the upgrade execution to be configured to stop before the switchover operation or to start the switchover phase of the upgrade at a specific time. The apply will verify the *Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec* provided and if it is unset or incorrect the operation will fail. The *Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec* can be validated before that using the *POST /vcenter/lcm/deployment/migration-upgrade?action=check*. \n\n The upgrade progress can be monitored via *GET /vcenter/lcm/deployment/migration-upgrade/status*. More information about the progress of the upgrade can be found in *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Info.upgrade_info* and *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Info.subtasks*. \n\n The upgrade process can be manually cancelled by invoking the *POST /vcenter/lcm/deployment/migration-upgrade?action=cancel* or can be configured to automatically cancel on error by *Vcenter.Lcm.Deployment.MigrationUpgrade.CancellationPolicy.automatic*. \n\n If the upgrade process fails and the upgrade does not use *Vcenter.Lcm.Deployment.MigrationUpgrade.CancellationPolicy.automatic* it can be resumed again after fixing the problem and calling the same *POST /vcenter/lcm/deployment/migration-upgrade?action=apply*. If the process cannot be fixed use *POST /vcenter/lcm/deployment/migration-upgrade?action=cancel* to cancel the upgrade and start from the beginning.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.Upgrade`. \n", + "operationId": "Vcenter.Lcm.Deployment.MigrationUpgrade_apply", + "requestBody": { + "description": "*Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec* allows the upgrade execution to be configured to stop before the switchover operation or to configure a switchover for a specific time window.\n\nThe upgrade will be started and executed immediately.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if there is no upgrade set on the system or the upgrade process is running cancellation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the upgrade process. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/deployment/migration-upgrade?action=cancel": { + "post": { + "tags": [ + "Vcenter.Lcm.Deployment.MigrationUpgrade" + ], + "description": "Cancels running vCenter upgrade. The cancellation cleans any actions done by the upgrade on the source vCenter without removing any production data generated during the upgrade. A new upgrade can be started after successful cancellation. The upgrade can be canceled explicitly at all points except in post-upgrade actions using this API. \n\n The cancellation process described above requires the *Vcenter.Lcm.Deployment.MigrationUpgrade.CancellationPolicy.source_connection* to complete successfully, depending when it is called. However, if the upgrade's cancellation policy cannot be used due to resource constraints, KB Article needs to be followed to ensure the vCenter is reverted to previous stable and consistent state. \n\n If the vCenter being canceled is part of the Enhanced Linked Mode (ELM) environment, ensure the ELM is healthy after the cancellation. If not, take the necessary actions to restore the environment to its correct state following KB Article. \n\n The cancellation progress can be monitored via *GET /vcenter/lcm/deployment/migration-upgrade/status*. More information about the progress of the upgrade can be found in *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Info.upgrade_info* and *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Info.subtasks*. \n\n If the cancellation process fails, check what the problem is and fix it. After that, call the API again to ensure the removal of any information generated by the upgrade process and future upgradability of the vCenter.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.Upgrade`. \n", + "operationId": "Vcenter.Lcm.Deployment.MigrationUpgrade_cancel", + "responses": { + "400": { + "description": "if there is no upgrade process running or the upgrade is in post-upgrade actions.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the upgrade process. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/deployment/migration-upgrade?action=check&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Lcm.Deployment.MigrationUpgrade" + ], + "description": "Runs sanity checks using the provided InitSpec or against running upgrade.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.Upgrade`. \n", + "operationId": "Vcenter.Lcm.Deployment.MigrationUpgrade_check$Task", + "requestBody": { + "description": "InitSpec parameters to run sanity check on.\n\nIf not provided will run sanity checks against the initialized upgrade process parameters. In that situation if there is no upgrade precheck will fail.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if there is no upgrade process initialized and there is no InitSpec passed as input or if the upgrade process is in switchover or cancellation phase.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the upgrade process. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "CheckInfo containing the check results.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/deployment/repository": { + "get": { + "tags": [ + "Vcenter.Lcm.Deployment.Repository" + ], + "description": "Gets the currently configured repository for upgrade.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.Upgrade`. \n", + "operationId": "Vcenter.Lcm.Deployment.Repository_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the getting of the repository. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The upgrade repository configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Repository.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Lcm.Deployment.Repository" + ], + "description": "Configures the upgrade repository. If the upgrade repository requires credentials they will be validated.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.Upgrade`. \n", + "operationId": "Vcenter.Lcm.Deployment.Repository_set", + "requestBody": { + "description": "Set repository to be used by the lifecycle service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Repository.Spec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if passed arguments are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the setting of the repository. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/deployment/migration-upgrade/planned-downtime": { + "get": { + "tags": [ + "Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime" + ], + "description": "Shows expectations about planned downtime in the next \"duration\" minutes. If an upgrade is scheduled and the schedule falls within the requested timeframe, the answer is *Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Expected.YES*. If no planned downtime is expected in the requested timeframe - the answer is *Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Expected.NO*. If there is no schedule, but an upgrade is ongoing, it depends on what phase the upgrade has reached - up to *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.State.STAGING* the service will compare against a predetermined amount of minutes to answer. If *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.State.PREPARING* state has started, the answer would be *Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Expected.UNKNOWN*, as switchover can happen anytime now.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime_get", + "parameters": [ + { + "name": "duration", + "in": "query", + "description": "number of minutes to check from current moment", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the upgrade process. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info contains information about the planned downtime expectations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/deployment/migration-upgrade/status": { + "get": { + "tags": [ + "Vcenter.Lcm.Deployment.MigrationUpgrade.Status" + ], + "description": "Returns the current status of the vCenter migration upgrade.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Deployment.MigrationUpgrade.Status_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised as part of the status call. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info structure containing the status information about the vCenter upgrade.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/depot/services": { + "get": { + "tags": [ + "Vcenter.Lcm.Depot.Services" + ], + "description": "Gets the *Vcenter.Lcm.Depot.Services.SetSpec* configuration of the external services registered with vCenter appliance. Returns the *Vcenter.Lcm.Depot.Services.SetSpec* containing configuration of external services registered with vCenter appliance.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Depot.Services_get", + "responses": { + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is other error raised. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Configuration containing connection and certificate details of external services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Depot.Services.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Lcm.Depot.Services" + ], + "description": "Configure the external services connection details with vCenter appliance.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Depot.Services_set", + "requestBody": { + "description": "SetSpec containing connection and certificate details of external services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Depot.Services.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if passed arguments are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/depot/services/{serviceType}": { + "get": { + "tags": [ + "Vcenter.Lcm.Depot.Services" + ], + "description": "Gets the *Vcenter.Lcm.Depot.Services.Service* configuration of the specific external service registered with vCenter appliance. Returns the *Vcenter.Lcm.Depot.Services.Service* if the specific FDS service is configured, otherwise returns NotFound error.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Depot.Services_getServiceSpec", + "parameters": [ + { + "name": "serviceType", + "in": "path", + "description": "specific external service type.\n\nThe parameter must be an identifier for the resource type: `SERVICEID`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "session is not authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "session is not authorized to perform this operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "source is not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "Generic error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "configuration of specific external service registered with vCenter appliance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Depot.Services.Service" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/discovery/interop-report?vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Lcm.Discovery.InteropReport" + ], + "description": "Creates interoperability report between a vCenter Server release version and all registered products with the vCenter Server instance. \n\n The result of this operation can be queried by calling the *GET /cis/tasks/{task}* operation where task is the response of this operation.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Discovery.InteropReport_create$Task", + "requestBody": { + "description": "Specifies the target version against this interoperability check report will be generated. If missing or `null` the report will be generated for the currently installed version of the vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.InteropReport.Spec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The interoperability report.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/discovery/product-catalog": { + "get": { + "tags": [ + "Vcenter.Lcm.Discovery.ProductCatalog" + ], + "description": "Retrieves a list of all VMware products that can be associated with vCenter Server.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Discovery.ProductCatalog_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of all the VMware products which can be associated with vCenter Server", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.ProductCatalog.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/discovery/associated-products": { + "get": { + "tags": [ + "Vcenter.Lcm.Discovery.AssociatedProducts" + ], + "description": "Retrieves a list of all associated VMware product deployments with vCenter Server in the environment. The list contains both product deployments discovered automatically and deployments registered manually through the API.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Discovery.AssociatedProducts_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of all the registered products with vCenter.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.Product" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Lcm.Discovery.AssociatedProducts" + ], + "description": "Associates a VMware product with vCenter Server manually. The product must be taken from the product catalog API.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Discovery.AssociatedProducts_create", + "requestBody": { + "description": "Info creation specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.AssociatedProducts.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if this version is already added\n\n***Vapi.Std.Errors.InvalidArgument*** if the spec argument is not allowed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Identifier of the newly-added product.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.lcm.product`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/discovery/associated-products/{product}": { + "get": { + "tags": [ + "Vcenter.Lcm.Discovery.AssociatedProducts" + ], + "description": "Returns the detailed information of a product associated with vCenter Server.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Discovery.AssociatedProducts_get", + "parameters": [ + { + "name": "product", + "in": "path", + "description": " An identifier of the product to be modified.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.lcm.product`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no record associated with product in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Product details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.Product" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Lcm.Discovery.AssociatedProducts" + ], + "description": "Deletes or dissociates a VMware product associated with vCenter Server which was added manually. Automatically discovered VMware products cannot be deleted or dissociated.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Discovery.AssociatedProducts_delete", + "parameters": [ + { + "name": "product", + "in": "path", + "description": " An id of the product to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.lcm.product`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no record associated with product in the system database.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Lcm.Discovery.AssociatedProducts" + ], + "description": "Modifies a VMware product associated with vCenter Server which was added manually. Automatically discovered VMware products cannot be modified.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Discovery.AssociatedProducts_update", + "parameters": [ + { + "name": "product", + "in": "path", + "description": " An id of the product to be modified.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.lcm.product`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.AssociatedProducts.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the spec argument is not allowed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If there is some unknown internal error. The accompanying error message will give more details about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If there is no record associated with product in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/interop/bundle?vmw-task=true": { + "put": { + "tags": [ + "Vcenter.Lcm.Interop.InteropBundle" + ], + "description": "Upload VVS interop data bundle. \n\n The status of this operation can be queried by calling the com.vmware.cis.Tasks#get operation where task is the response of this operation.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Interop.InteropBundle_set$Task", + "requestBody": { + "description": "provides the interoperability data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Interop.InteropBundle.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the spec data is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/update/pending": { + "get": { + "tags": [ + "Vcenter.Lcm.Update.Pending" + ], + "description": "Lists all available minor and major updates.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Update.Pending_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is some unknown internal error. The accompanying error message will give more details about the error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the pending patch/updates for the given vCenter server", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Update.Pending.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/update/pending/{version}": { + "get": { + "tags": [ + "Vcenter.Lcm.Update.Pending" + ], + "description": "Gets detailed update information.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Update.Pending_get", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "A version identified the update\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.lcm.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is some unknown internal error. The accompanying error message will give more details about the error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no pending update assosiated with the version in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A detailed information about the particular vCenter patch/update", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Lcm.Update.Pending.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/lcm/update/pending/{version}/precheck-report?vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Lcm.Update.PrecheckReport" + ], + "description": "Creates a vCenter Server pre-update compatibility check report for the pending update version. The report can be exported and downloaded in CSV format. \n\n The result of this operation can be queried by calling the *GET /cis/tasks/{task}* operation where task is the response of this operation.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VcLifecycle.View`. \n", + "operationId": "Vcenter.Lcm.Update.PrecheckReport_create$Task", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Pending update version for which pre-update compatibility check will be executed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.lcm.update.pending`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if a precheck is already in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is some unknown internal error. The accompanying error message will give more details about the error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no pending update assosiated with the version in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "The precheck report, which contains a link to download the CSV report as well", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}?action=enable": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Clusters" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__. Use *POST /vcenter/namespace-management/supervisors/{cluster}?action=enable_on_compute_cluster* operation or *POST /vcenter/namespace-management/supervisors?action=enable_on_zones* operation instead.\n\nEnable vSphere Namespaces on the cluster. This operation sets up Kubernetes instance for the cluster along with worker nodes.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Clusters_enable", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces will be enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for setting up the Kubernetes API server and the worker nodes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.EnableSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the cluster already has vSphere Namespaces enabled.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the specified cluster is not supported for vSphere Namespaces, the cluster's hosts do not have the required ESX version, or for any other incompatibilities.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if resources/objects could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified cluster is not licensed or resource pool reservation for control plane VMs fails.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}?action=disable": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Clusters" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__. Use *DELETE /vcenter/namespace-management/supervisors/{supervisor}* operation instead. \n\nDisable vSphere Namespaces on the cluster. This operation tears down the Kubernetes instance and the worker nodes associated with vSphere Namespaces enabled cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Clusters_disable", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster for which vSphere Namespaces will be disabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, Supervisor cluster's disablement is not allowed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Clusters" + ], + "description": "Returns information about a specific cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Clusters_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces are enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the specified cluster does not have vSphere Namespaces enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the desired state of the specified cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.Clusters" + ], + "description": "Set a new configuration on the cluster object. The specified configuration is applied in entirety and will replace the current configuration fully.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Clusters_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces is enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "New specification for the Supervisor cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if vSphere Namespaces is being disabled on this Supervisor cluster or if the Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, Supervisor cluster's configuration modifications are not allowed.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor cluster's hosts are not configured with sufficient resources for the new Kubernetes API Server size.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Clusters" + ], + "description": "Update configuration on the cluster object. The specified configuration is applied partially and missing or `null` fields in spec will leave those parts of configuration as-is.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Clusters_update", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces is enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "New specification for the Supervisor cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if vSphere Namespaces is being disabled on this Supervisor cluster or if the Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, Supervisor cluster's configuration modifications are not allowed.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor cluster's hosts are not configured with sufficient resources for the new Kubernetes API Server size.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Clusters" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__. Use *GET /vcenter/namespace-management/supervisors/summaries* operation and *GET /vcenter/namespace-management/supervisors/{supervisor}/topology* operation instead. \n\nReturns information about all clusters on which vSphere Namespaces are enabled on this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.NamespaceManagement.Clusters_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summary of all clusters with vSphere Namespaces enabled.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}?action=rotate_password": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Clusters" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__. Use *POST /vcenter/namespace-management/supervisors/{supervisor}/control-plane/passwords?action=reset* operation instead. \n\nRequest a new root password for all control plane nodes in the cluster. This operation generates a new root password and configures every control plane node in the cluster to accept it for authentication.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Clusters_rotatePassword", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster for which the password is being generated.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster is in the process of password rotation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/capability": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.HostsConfig" + ], + "description": "Returns support and licensing information about hosts under a VC.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.HostsConfig_get", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about vSphere Namespaces support and licensing.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.HostsConfig.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/infrastructure-policies": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.InfrastructurePolicies" + ], + "description": "List all policies.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.InfrastructurePolicies_list", + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of policies.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.InfrastructurePolicies" + ], + "description": "Create a new policy.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Policies.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.InfrastructurePolicies_create", + "requestBody": { + "description": "Specification for the new policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a policy with the same identifier already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specification contains invalid values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Policies.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/infrastructure-policies/{policy}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.InfrastructurePolicies" + ], + "description": "Get detailed information about a specific policy.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.InfrastructurePolicies_get", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "Identifier for the policy.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the policy does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Detailed information about the policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.InfrastructurePolicies" + ], + "description": "Modify an existing policy.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Policies.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.InfrastructurePolicies_set", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "Identifier for the policy to update.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Updated specification for the policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the policy is being deleted.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specification contains invalid values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Policies.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the policy does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.InfrastructurePolicies" + ], + "description": "Delete a policy. If the policy is associated with any namespaces, call to delete will result in the policy's state transitioning to *Vcenter.NamespaceManagement.InfrastructurePolicies.ConfigStatus.DELETING*. A policy in that state cannot be modified and it cannot be associated with any new namespaces. Namespaces currently associated with this policy will not be affected.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Policies.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.InfrastructurePolicies_delete", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "Identifier for the policy to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Policies.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the policy does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/load-balancers/{id}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.LoadBalancers" + ], + "description": "Returns information *Vcenter.NamespaceManagement.LoadBalancers.Info* about the load balancer associated with the given cluster.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.LoadBalancers_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster the load balancer is associated with.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Identifier of the load balancer *Vcenter.NamespaceManagement.LoadBalancers.ConfigSpec.id*.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the specified cluster does not have vSphere Namespaces enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster or id cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about load balancer associated with a cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.LoadBalancers" + ], + "description": "Applies the entire load balancer spec to an existing load balancer configuration.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.LoadBalancers_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster the load balancer is associated with.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Identifier of the load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the load balancer object to be set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if if spec contain any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated cluster is being disabled or if the load balancer config is already marked for delete.\n\n***Vapi.Std.Errors.Unsupported*** if the specified cluster does not have vSphere Namespaces enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster or id cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.LoadBalancers" + ], + "description": "Updates the load balancer configuration. The specified configuration is applied partially and missing or `null` fields in spec will leave those parts of configuration as-is.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.LoadBalancers_update", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster the load balancer is associated with.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Identifier of the load balancer.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the load balancer object to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if spec contains any errors.\n- if if spec contain any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated cluster is being disabled or if the load balancer config is already marked for delete.\n\n***Vapi.Std.Errors.Unsupported*** if the specified cluster does not have vSphere Namespaces enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster or id cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/load-balancers": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.LoadBalancers" + ], + "description": "Returns information about all load balancers associated with the given cluster.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.LoadBalancers_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster the load balancers are associated with.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the specified cluster does not have vSphere Namespaces enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summary of all load balancers associated with a clusters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/nsx-tier0-gateways": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.NSXTier0Gateway" + ], + "description": "Returns information of NSX Tier0 Gateways associated with a Distributed Switch.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.NSXTier0Gateway_list", + "parameters": [ + { + "name": "distributed_switch", + "in": "query", + "description": "Identifier of a Distributed Switch. Only CVDS type of distributed switches is supported. Only Tier0 Gateways that are associated with the particular Distributed Switch will be listed.\n\nThe parameter must be an identifier for the resource type: `vSphereDistributedSwitch`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Additional specification of matching NSXTier0Gateway for which information should be returned.\n\nThis parameter was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.NSXTier0Gateway.FilterSpec* with all properties missing or `null` which means Tier0-VRF gateways won't be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.NSXTier0Gateway.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no existing Tier0 Gateways associated with the given Distributed Switch can be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.InternalServerError*** if the server reports an unknown internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summaries of Tier0 Gateways associated with the given Distributed Switch.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.NSXTier0Gateway.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/networks": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks" + ], + "description": "Return information about all vSphere Namespaces networks in the cluster.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if cluster or network could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the specified vSphere Namespaces network..", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Networks" + ], + "description": "Create a vSphere Namespaces network object associated with the given cluster.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks_create", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the network object to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a network by the name as specified in the Vcenter.NamespaceManagement.Networks.CreateSpec already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated cluster is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if spec contains NsxNetworkCreateSpec which is unsupported via create API.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/networks/{network}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks" + ], + "description": "Return information about a specific vSphere Namespaces network.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "in": "path", + "description": "Identifier for the vSphere Namespaces network.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if cluster or network could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of information about all vSphere Namespaces networks in the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.Networks" + ], + "description": "Set a new configuration for the vSphere Namespaces network object associated with the given cluster.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "in": "path", + "description": "Identifier for the vSphere Namespaces network.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the network object to be set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated cluster is being disabled.\n\n***Vapi.Std.Errors.ResourceInUse*** if the network is in use and the spec contains field values that are un-settable in such a case.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster or the network cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Networks" + ], + "description": "Delete the vSphere Namespaces object in the cluster.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "in": "path", + "description": "Identifier for the vSphere Namespaces network.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the network is associated with a Namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster or network could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Networks" + ], + "description": "Update the configuration of the vSphere Namespaces network object associated with the given cluster.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks_update", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "in": "path", + "description": "Identifier for the vSphere Namespaces network.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the network object to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated cluster is being disabled.\n\n***Vapi.Std.Errors.ResourceInUse*** if the network is in use and the spec contains field values that are un-updatable in such a case.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster or the network cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services?action=checkContent": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices" + ], + "description": "Perform validation checks on the content of a Supervisor Service version defined in the spec. The operation returns the validation status and relevant Supervisor Service version information that are available in the content. A custom format will always return a VALID status. Only vSphere and Carvel packages can return multiple validation statuses.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices_checkContent", + "requestBody": { + "description": "Request body for invoking operation: checkContent", + "content": { + "application/json": { + "schema": { + "required": [ + "spec" + ], + "type": "object", + "properties": { + "spec": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.ContentCheckSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the provided spec is invalid. For example, the provided *Vcenter.NamespaceManagement.SupervisorServices.ContentCheckSpec.content* is empty or not base64 encoded.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "A check result containing validation status and relevant Supervisor Service version information from the provided content, if the content is valid. In case of invalid content, it will return a list of error messages.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.CheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices" + ], + "description": "Return the information about all Supervisor Services on this vCenter.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of summary of all Supervisor Services.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices" + ], + "description": "Create a Supervisor Service. If version specs are provided in the spec, new Supervisor Service versions will be created as part of the operation.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices_create", + "requestBody": { + "description": "Specification for the Supervisor Service with version definition.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a Supervisor Service with the same identifier already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors or if an invalid name is specified. For example, when the service is from a trusted provider, but no signature is provided or it is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services/{supervisorService}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices" + ], + "description": "Return the information for the specified Supervisor Service.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices_get", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information for the specified Supervisor Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices" + ], + "description": "Delete a Supervisor Service. This operation only deletes the Supervisor Service from vCenter if the Supervisor Service is in DEACTIVATED state, and all versions of the Supervisor Service are removed from vCenter. Note that the deactivate operation should be called to deactivate the Supervisor Service before the Supervisor Service can be deleted.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices_delete", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor Service cannot be deleted in the current state, e.g. a version of the Supervisor Service is not in DEACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices" + ], + "description": "Update a Supervisor Service.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices_update", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the Supervisor Service metadata to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if spec contain any errors or if an invalid name is specified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services/{supervisorService}?action=deactivate": { + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices" + ], + "description": "Deactivate a Supervisor Service. This operation will change the Vcenter.NamespaceManagement.SupervisorServices.State of the supervisor service to DEACTIVATED state, and deactivate all versions of the supervisor service. Note that this operation should be called before deleting the Supervisor Service.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices_deactivate", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor Service is already in DEACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services/{supervisorService}?action=activate": { + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices" + ], + "description": "Activate a Supervisor Service. This operation will change the Vcenter.NamespaceManagement.SupervisorServices.State of the supervisor service to in ACTIVATED state, and activate all versions of the supervisor service.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices_activate", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor Service is already in ACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors?action=enable_on_zones": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors" + ], + "description": "\n\nEnable a Supervisor on a set of vSphere Zones. The cluster control plane and its workloads will be eligible for placement across the zones. Enabling on multiple zones enables fault tolerance for applications deployed on more than one zone in case of a zone failure. \n\nTo verify if the Supervisor is compatible with the provided Zones use: *GET /vcenter/namespace-management/cluster-compatibility*.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors_enableOnZones", + "requestBody": { + "description": "Specification for configuring the Supervisor and Workloads.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.EnableOnZonesSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if one or more zones already host a another Supervisor.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the zones are not supported for the Supervisor, the zones' hosts do not have the required ESX version, or for any other incompatibilities.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the provided zones could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the one or more zones are not licensed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "ID of the Supervisor object being enabled.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{cluster}?action=enable_on_compute_cluster": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors" + ], + "description": "\n\nEnable the Supervisor on a single vSphere cluster. This operation sets up the Kubernetes instance for the cluster along with worker nodes. A consumption fault domain zone will automatically be created if the specified cluster is not already associated with a vSphere Zone. \n\nTo verify if the Supervisor is compatible with this vSphere cluster use: *GET /vcenter/namespace-management/cluster-compatibility*. \n\nThe Supervisor cannot be enabled on a cluster that is already in a vSphere Zone which has more than one cluster. Use *POST /vcenter/namespace-management/supervisors?action=enable_on_zones* instead. \n\nTo call this API on a Supervisor with multiple vSphere Clusters, use *GET /vcenter/namespace-management/supervisors/{supervisor}/topology* to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors_enableOnComputeCluster", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster used to enable the Supervisor Cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for configuring the Supervisor and Workloads.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.EnableOnComputeClusterSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the cluster already has the Supervisor enabled.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the specified cluster is not supported for the Supervisor, the cluster's hosts do not have the required ESX version, or for any other incompatibilities.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if resources/objects could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified cluster is not licensed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "ID of the Supervisor object being enabled.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}": { + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors" + ], + "description": "Delete a Supervisor. This operation deletes the Kubernetes cluster along with its control plane, namespaces, workloads, and configuration persisted on vCenter Server. Some resources, like external load balancers, may not be deleted.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors_delete", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor is being restored from a backup. When a Supervisor is restored, there's a window of time during which the restored Supervisor's state is being synchronized back to vCenter. During that time, Supervisor deletion is not allowed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/virtual-machine-classes": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.VirtualMachineClasses" + ], + "description": "Return information about all VirtualMachine classes.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.VirtualMachineClasses_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of information about all VirtualMachine classes", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.VirtualMachineClasses" + ], + "description": "Create a VM class object.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachineClasses.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.VirtualMachineClasses_create", + "requestBody": { + "description": "Information about the VM class object to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a VM class by the name as specified in the spec already exists in the vCenter inventory.\n\n***Vapi.Std.Errors.InvalidArgument*** if the input spec.instanceStorage.policy refers to an invalid storage policy or if the input spec includes settings that are out of acceptable bounds or a combination of settings that are not internally consistent with the input spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have VirtualMachineClasses.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/virtual-machine-classes/{vm_class}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.VirtualMachineClasses" + ], + "description": "Return information about a VM class.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.VirtualMachineClass` referenced by the parameter vm_class requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.VirtualMachineClasses_get", + "parameters": [ + { + "name": "vm_class", + "in": "path", + "description": "Identifier for the VM class.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if VM class can not be found in the vCenter inventory.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the specified VM class.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.VirtualMachineClasses" + ], + "description": "Delete the VM class object.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachineClasses.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.VirtualMachineClasses_delete", + "parameters": [ + { + "name": "vm_class", + "in": "path", + "description": "Identifier for the VM class.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.ResourceInUse*** - TBD\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if vm_class is used for defining cluster capacity.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have VirtualMachineClasses.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "VM class could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.VirtualMachineClasses" + ], + "description": "Update the configuration of the VM class object\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachineClasses.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.VirtualMachineClasses_update", + "parameters": [ + { + "name": "vm_class", + "in": "path", + "description": "Identifier for the VM class.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the VM class object to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a VM class by the name as specified in the spec already exists in the vCenter inventory.\n\n***Vapi.Std.Errors.InvalidArgument*** if the input spec.instanceStorage.policy refers to an invalid storage policy or if the input spec includes settings that are out of acceptable bounds or a combination of settings that are not internally consistent with the input spec.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if vm_class is marked for deletion or is used for defining cluster capacity.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have VirtualMachineClasses.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if or the vm_class cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/cluster-available-versions": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.ClusterAvailableVersions" + ], + "description": "Get information about each available upgrade.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.ClusterAvailableVersions_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information for each upgrade.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterAvailableVersions.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/cluster-compatibility": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.ClusterCompatibility" + ], + "description": "Returns Namespaces compatibility information for all vSphere clusters in the vCenter Server matching the *Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpec*. The result contains only visible (subject to permission checks) clusters.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.NamespaceManagement.ClusterCompatibility_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching clusters for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpec* with all properties missing or `null` which means all NSX clusters the user is authorized to view will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpec" + } + } + ], + "responses": { + "400": { + "description": "if filter contains any error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the vSphere clusters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Namespaces compatibility information for the clusters matching the the *Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterCompatibility.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/cluster-compatibility/v2": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.ClusterCompatibility" + ], + "description": "Returns Namespaces compatibility information for all vSphere clusters that match the *Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpecV2* and are associated with the vSphere Zones in the vCenter Server that match the *Vcenter.NamespaceManagement.ClusterCompatibility.ZoneFilterSpec*. The result contains only visible (subject to permission checks) clusters.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.ClusterCompatibility_listV2", + "parameters": [ + { + "name": "zones", + "in": "query", + "description": "A list of vSphere Zone identifiers which will be used to filter vSphere Zones that correspond to this specific set of identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, results will not be filtered for specific vSphere Zone identifiers.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusterFilter", + "in": "query", + "description": "Specification of matching vSphere clusters for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpecV2* with all properties missing or `null` which means all NSX clusters the user is authorized to view will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpecV2" + } + } + ], + "responses": { + "400": { + "description": "if zoneFilter or clusterFilter contain any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the vSphere clusters associated with the vSphere Zones.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Namespaces compatibility information for vSphere Zones that match the *Vcenter.NamespaceManagement.ClusterCompatibility.ZoneFilterSpec* and the vSphere clusters associated with them that match the *Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpecV2*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterCompatibility.ZoneCompatibilityInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/cluster-size-info": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.ClusterSizeInfo" + ], + "description": "Get information about the default values associated with various sizes.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.ClusterSizeInfo_get", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information for each size.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterSizeInfo.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/distributed-switch-compatibility": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.DistributedSwitchCompatibility" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__. Use *GET /vcenter/namespace-management/networks/nsx/distributed-switches* instead for network providers *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN* and *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSX_VPC*. There is no new version for *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*. \n\nReturns Namespaces compatibility information of Distributed Switches in vCenter associated with the vCenter cluster, matching the *Vcenter.NamespaceManagement.DistributedSwitchCompatibility.FilterSpec*.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.DistributedSwitchCompatibility_list", + "parameters": [ + { + "name": "cluster", + "in": "query", + "description": "Identifier of a vCenter Cluster. Only Distributed Switches associated with the vCenter Cluster will be considered by the filter.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Specification of matching Distributed Switches for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.DistributedSwitchCompatibility.FilterSpec* with all properties missing or `null` which means all Distributed Switches match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.DistributedSwitchCompatibility.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no cluster with the given cluster ID can be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.InternalServerError*** if the server reports an unknown internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Namespaces compatibility information for Distributed Switches matching the the *Vcenter.NamespaceManagement.DistributedSwitchCompatibility.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.DistributedSwitchCompatibility.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/edge-cluster-compatibility": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.EdgeClusterCompatibility" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__. Use *GET /vcenter/namespace-management/networks/nsx/edges* instead. \n\nReturns Namespaces compatibility information of NSX Edge Clusters matching the *Vcenter.NamespaceManagement.EdgeClusterCompatibility.FilterSpec*.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.EdgeClusterCompatibility_list", + "parameters": [ + { + "name": "cluster", + "in": "query", + "description": "Identifier of a vCenter Cluster. Only Edge Clusters that are associated with the particular vCenter Cluster will be considered by the filter.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "distributed_switch", + "in": "query", + "description": "Identifier of a Distributed Switch. Only Edge Clusters that are associated with the particular Distributed Switch will be considered by the filter.\n\nThe parameter must be an identifier for the resource type: `vSphereDistributedSwitch`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Specification of matching Edge Clusters for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.EdgeClusterCompatibility.FilterSpec* with all properties missing or `null` which means all Edge Clusters match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.EdgeClusterCompatibility.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no cluster with the given cluster ID can be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.InternalServerError*** if the server reports an unknown internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summaries of Edge Clusters associated with the given vCenter Cluster and Distributed Switch matching the *Vcenter.NamespaceManagement.EdgeClusterCompatibility.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.EdgeClusterCompatibility.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/support-bundle": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.SupportBundle" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nReturns the *Vcenter.NamespaceManagement.SupportBundle.Location* information, the URL, and the token required for downloading the Namespaces-related support bundle for the specified cluster. \n\n Retrieving a support bundle involves two steps: \n - Step 1: Invoke operation to provision a token and a URI.\n - Step 2: Make an HTTP POST request using the URI and one-time token returned in step 1 to generate the support bundle and return it.\n There can only be one valid token per cluster at any given time. If this operation is invoked again for the same cluster identifier while a token still valid, the API will return the same *Vcenter.NamespaceManagement.SupportBundle.Location* response. \n\n The HTTP POST request will: \n - return 401 (Not Authorized) if the download URL is recognized, but the token is invalid.\n - otherwise return 200 (OK), mark the token as used (invalidating it for any future use), open a application/tar download stream for the client, and start the bundle process. As part of its work, the API will orchestrate support bundling on the Supervisor control plane nodes of a cluster. If a failure occurs during the collection of support bundle from a Supervisor control plane node, the API will not abort the request, but will log a warning and move on to processing other Supervisor control plane nodes' bundles. The API will only abort its operation if the content of the stream has been corrupted. When the API has to abort its operation (and the response stream), it will not provide any indication of failures to the client. The client will need to verify validity of the resultant file based on the format specified in the response's Content-Disposition header.\n \n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Global.Diagnostics`. \n", + "operationId": "Vcenter.NamespaceManagement.SupportBundle_create", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of a vSphere cluster backing a Supervisor for which the support bundle should be generated. Support bundles will be collected from other clusters if the Supervisor is running on more than one vSphere cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Global.Diagnostics privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified cluster is not registered on this vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "the download location of the support bundle for the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupportBundle.Location" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/workload-resource-options": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.NamespaceResourceOptions" + ], + "description": "Get the information about the objects used to set and update resource quota keys for version of Kubernetes running on {#link cluster}.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.NamespaceResourceOptions_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster hosting the namespace on which the resource quota needs to be set.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the specified cluster is not enabled for Namespaces.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the structures representing the resource spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.NamespaceResourceOptions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/topology": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Clusters.Topology" + ], + "description": "Queries the Supervisor ID that is currently running on the given vSphere Cluster ID, if there's any. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Clusters.Topology_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for a vSphere Cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.\n\nif the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `Namespaces.Manage` privilege and the `System.Read` privilege on all vSphere Clusters hosting the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given vSphere Cluster does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.\n\nif the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Identifier of the Supervisor associated with the given vSphere Cluster.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/lifecycle/content/libraries": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries" + ], + "description": "List all content libraries configured with vSphere Namespaces.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries_list", + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Basic information of all content libraries configured with vSphere Namespaces", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries" + ], + "description": "Assigns user-created Content Library to vSphere Namespaces which will consume Supervisor images from this Content Library during enablement and upgrade flows. The Content Library must be subscribed to vSphere Supervisor images repository or must have Supervisor images added manually.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries_set", + "requestBody": { + "description": "Specification to configure vSphere Namespaces with user-created Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if Supervisor enablement or upgrade is in progress or vSphere Namespaces is configured with the same Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Content Library identifier specified in *Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.ContentLibrarySpec.id* does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/lifecycle/content/libraries/{library}?action=unassign": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries" + ], + "description": "Remove Content Library configuration with vSphere Namespaces.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries_unassign", + "parameters": [ + { + "name": "library", + "in": "path", + "description": "Identifier for the Content Library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "when Supervisor enablement or upgrade is in progress or another unassign operation is in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if vSphere Namespaces is not configured with library", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/lifecycle/content/libraries/{library}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries" + ], + "description": "Get detailed information about the Content Library configured with vSphere Namespaces.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries_get", + "parameters": [ + { + "name": "library", + "in": "path", + "description": "Identifier for the Content Library.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.Library`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Content Library identifier specified in library is not found or vSphere Namespaces is not configured with it", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Detailed information about requested Content Library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/distributed-switches": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches" + ], + "description": "Returns basic information of the Distributed Switches matching the *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec*, and their compatibility information.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec.cluster* requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching Distributed Switches for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec* with all properties missing or `null` which means all Distributed Switches will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec" + } + }, + { + "name": "zones", + "in": "query", + "description": "Zone compatibility criteria. If zones are specified, the common distributed switches across the given zones will returned. A distributed switch is considered common if it is present in all of the vSphere clusters in a given zone. This must not be specified if *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec.cluster* is specified.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if one or more fields of the *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec* is incorrect.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of Distributed Switches summaries matching the *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/edges": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Edges" + ], + "description": "Returns a list of Edges matching the given filter and their compatibility information.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Edges_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching Edges for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.Networks.Nsx.Edges.FilterSpec* with all properties missing or `null` which means all Edges will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Edges.FilterSpec" + } + }, + { + "name": "distributed_switch", + "in": "query", + "description": "Distributed switch UUID criteria. If distributed switches identifiers are specified, they will be used to filter the Edges. To obtain the available distributed switch UUIDs, use: *GET /vcenter/namespace-management/networks/nsx/distributed-switches*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `vSphereDistributedSwitch`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `vSphereDistributedSwitch`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if one or more fields of the *Vcenter.NamespaceManagement.Networks.Nsx.Edges.FilterSpec* is incorrect.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `System.Read` privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of Edge summaries matching the given filter.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Edges.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects" + ], + "description": "Returns information of NSX Projects.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching Projects for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.Networks.Nsx.Projects.FilterSpec* with all properties missing or `null` which means all Projects will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summaries of Projects matching the given filter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects/{project}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects" + ], + "description": "Returns information of a NSX Project.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects_get", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the Project.\n\nThe parameter must be an identifier for the resource type: `NSXProject`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if project cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about a Project.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/distributed-switches?action=check_compatibility": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Compatibility" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__. Use *GET /vcenter/namespace-management/networks/nsx/distributed-switches* instead. \n\nReturns a list of Distributed Switches matching the given filter and their compatibility information.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec.cluster* requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Compatibility_check", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching Distributed Switches for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a filter with all properties missing or `null` which means all Distributed Switches and their compatibility information will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec" + } + }, + { + "name": "zones", + "in": "query", + "description": "Zone compatibility criteria. If zones are specified, the common distributed switches across the given zones will returned. A distributed switch is considered common if it is present in all of the vSphere clusters in a given zone. This must not be specified if *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec.cluster* is specified.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if one or more fields of the given filter is incorrect.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of Distributed Switches compatibility summaries matching the given filter.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Compatibility.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/edges?action=check_compatibility": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Edges.Compatibility" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__. Use *GET /vcenter/namespace-management/networks/nsx/edges* instead. \n\nReturns a list of Edges matching the given filter and their compatibility information.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Edges.Compatibility_check", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching Edges for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a given filter with all properties missing or `null` which means all Edges will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Edges.FilterSpec" + } + }, + { + "name": "distributed_switch", + "in": "query", + "description": "Distributed switch UUID criteria. If distributed switches identifiers are specified, they will be used to filter the Edges. To obtain the available distributed switch UUIDs, use: *GET /vcenter/namespace-management/networks/nsx/distributed-switches*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `vSphereDistributedSwitch`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `vSphereDistributedSwitch`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if one or more fields of the given filter is incorrect.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `System.Read` privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of Edge compatibility summaries matching the given filter.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Edges.Compatibility.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects/{project}?action=check-compatibility": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility" + ], + "description": "Check if the given NSX project is compatible for Supervisor enablement. Validation checks: NSX project is constrained to the \"default\" Overlay Transport Zone in NSX.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility_check", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the Project.\n\nThe parameter must be an identifier for the resource type: `NSXProject`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `System.Read` privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if project cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Project summary with details about incompatibities if any.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility.Summary" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects/{project}/vpc-connectivity-profiles": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles" + ], + "description": "Returns a list of VPC Connectivity Profiles matching the given filter.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles_list", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the Project.\n\nThe parameter must be an identifier for the resource type: `NSXProject`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Specification of matching Profiles for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.FilterSpec* with all properties missing or `null` which means all VPC Connectivity Profiles will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `System.Read` privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if project cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of VPC Connectivity Profiles matching the given filter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects/{project}/vpc-connectivity-profiles/{profile}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles" + ], + "description": "Returns information of a VPC Connectivity Profile.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles_get", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the Project.\n\nThe parameter must be an identifier for the resource type: `NSXProject`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "profile", + "in": "path", + "description": "Identifier of the VPC Connectivity Profile.\n\nThe parameter must be an identifier for the resource type: `VpcConnectivityProfile`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if profile cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about a VPC Connectivity Profile.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects/{project}/vpcs": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs" + ], + "description": "Returns a list of VPCs matching the given filter.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs_list", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the Project.\n\nThe parameter must be an identifier for the resource type: `NSXProject`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Specification of matching VPCs for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.FilterSpec* with all properties missing or `null` which means all VPCs will be returned.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.FilterSpec" + } + } + ], + "responses": { + "400": { + "description": "if one or more fields of the *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.FilterSpec* is incorrect.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `System.Read` privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if project cannot be found in NSX.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of VPC summaries matching the given filter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects/{project}/vpcs/{vpc}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs" + ], + "description": "Returns information of a VPC.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs_get", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the Project.\n\nThe parameter must be an identifier for the resource type: `NSXProject`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "vpc", + "in": "path", + "description": "Identifier of the VPC.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if project or vpc cannot be found in NSX.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about a VPC.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects/{project}/vpc-connectivity-profiles/{profile}?action=check-compatibility": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility" + ], + "description": "Check the given VPC Connectivity Profile compatibility with a Supervisor enablement. A valid VPC Connectivity Profile requires that a Gateway Connection exists in the Transit Gateway External Attachment, External IP Blocks exist, Private (Transit Gateway) IP Blocks exist, and Auto SNAT is enabled.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility_check", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the Project.\n\nThe parameter must be an identifier for the resource type: `NSXProject`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "profile", + "in": "path", + "description": "Identifier of the VPC Connectivity Profile.\n\nThe parameter must be an identifier for the resource type: `VpcConnectivityProfile`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Identifier of the cluster or zones.\n\nThis parameter was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility.FilterSpec* with all properties missing or `null` which means no validation is performed.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility.FilterSpec" + } + }, + { + "name": "zones", + "in": "query", + "description": "Identifies the set of vSphere Zones the Supervisor is enabled on.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Transit Gateway in the VPC Connectivity Profile does not need to span any zones.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the filter contains any errors.\n\nThis error was added in __vSphere API 9.1.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `System.Read` privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if project or profile cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "VPC Connectivity Profile compatibility summaries.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility.Summary" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/networks/nsx/projects/{project}/vpcs/{vpc}?action=check-compatibility": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility" + ], + "description": "Check the given VPC's compatibility for Namespace creation. Compatible VPCs: 1. Belong to a compatible NSX Project (see *POST /vcenter/namespace-management/networks/nsx/projects/{project}?action=check-compatibility*) and has a compatible VPC Connectivity Profile (see *POST /vcenter/namespace-management/networks/nsx/projects/{project}/vpc-connectivity-profiles/{profile}?action=check-compatibility*). 2. Contain no IP configurations (External IP Blocks, Private (Transit Gateway) IP Blocks, or Private (VPC) CIDRs) that overlap with Service CIDRs. 3. Are not auto-created by Supervisor or VCF Automation. 4. Have a Load Balancer configured: if NSX LB used, check a LB instance is created under the VPC, if AVI is used, check LoadBalancer Endpoint is enabled in the VPC.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the property *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility.FilterSpec.supervisor* requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility_check", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the Project.\n\nThe parameter must be an identifier for the resource type: `NSXProject`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "vpc", + "in": "path", + "description": "Identifier of the VPC.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Specification of matching VPC for which information should be returned.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility.FilterSpec" + } + } + ], + "responses": { + "400": { + "description": "if filter contain any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `System.Read` privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if project or vpc cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "VPC compatibility summaries.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility.Summary" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/clusters/{cluster}?action=upgrade": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Clusters" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nUpgrade the cluster to a specific version. This operation upgrades the components on control plane VMs and worker plane hosts based on the selected version. Before upgrading, this operation performs pre-checks and sets the evaluation response in Info.UpgradeStatus.messages with various Message.Severity levels. Depending on the severity, the upgrade may or may not proceed beyond prechecks. Here is a list of severities and corresponding behavior: - ERROR: Upgrade does not proceed beyond precheck operation - WARNING: Upgrade proceeds beyond precheck operation only if UpgradeSpec.ignorePrecheckWarnings is set to true - INFO: Upgrade proceeds beyond precheck operation uninterrupted\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.Upgrade`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Clusters_upgrade", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster which will be upgraded.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for upgrading the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.UpgradeSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if pre-check failed of the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Upgrade privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/clusters?action=upgradeMultiple": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Clusters" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nUpgrade a set of clusters to its corresponding specific version.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Clusters_upgradeMultiple", + "requestBody": { + "description": "Specifications for upgrading selected clusters.\n\nThe key in the parameter map must be an identifier for the resource type: `ClusterComputeResource`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.UpgradeSpec" + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Upgrade privilege on all specified clusters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Pre-check result when invoking upgrade for each cluster.\n\nThe key in the response map will be an identifier for the resource type: `ClusterComputeResource`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.Result" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/clusters/{cluster}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Clusters" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nReturns upgrade related information of a specific cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Clusters_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster which will be upgraded.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster is not WCP enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the upgrade of the specified WCP enabled cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/clusters": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Clusters" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nReturns upgrade related information about all WCP enabled clusters.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Clusters_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of upgrade summary of all WCP enabled clusters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/{supervisor}/prechecks?action=run": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks" + ], + "description": "Run Supervisor upgrade pre-checks. This operation will initiate Supervisor upgrade pre-checks for a specific target version.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Upgrade`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks_run", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the supervisor on which upgraded pre-checks are run.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for running Supervisor upgrade pre-checks.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if upgrade is not available for the Supervisor.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if Supervisor upgrade is in progress.\n\n***Vapi.Std.Errors.InvalidArgument*** if the *Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckSpec* contains invalid details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Upgrade privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/{supervisor}/prechecks": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks" + ], + "description": "Returns information about Supervisor upgrade pre-checks.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Includes specification to fetch pre-check results for specific Supervisor upgrade version.\n\nIf set returns the pre-check results only for the specified target version. If missing or `null` returns the pre-check results for all the versions against which pre-checks ran.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor could not be located or pre-check results not found for *Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.FilterSpec.target_version* or pre-check results not found for any available upgrade version(s).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Supervisor upgrade pre-check results.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/upgrades": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades" + ], + "description": "Returns upgrade related information about all Supervisors. If a `FilterSpec` is provided, the results will be limited to Supervisors matching the filter. If no filter is specified, the method returns summaries for all available Supervisors.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades_list", + "parameters": [ + { + "name": "supervisors", + "in": "query", + "description": "Identifiers of Supervisors to filter the upgrade summaries.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, filtering on a particular Supervisor will not occur.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of upgrade summary of all Supervisors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/upgrades/{supervisor}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades" + ], + "description": "Returns upgrade-related information for a specific Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Upgrade`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor which will be upgraded.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster is not WCP enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Upgrade information about the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/versions": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Versions" + ], + "description": "Retrieves the list of all Supervisor versions.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Versions_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Optional specification to constrain the candidate versions returned.\n\nThis parameter was added in __vSphere API 9.1.0.0__.\n\nThis parameter is optional because it was added in a newer version than its parent node.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.FilterSpec" + } + }, + { + "name": "zones", + "in": "query", + "description": "The vSphere Zones for which the compatibility of a Supervisor version is being checked.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, cluster based lookup is performed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the filter provided is invalid.\n\nThis error was added in __vSphere API 9.1.0.0__.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of all Supervisor versions.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/versions/{version}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Versions" + ], + "description": "Retrieves detailed information about the requested Supervisor version.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Versions_get", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Identifier of the Supervisor version.\n\nThe parameter must be an identifier for the resource type: `SupervisorVersion`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if version does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the requested Supervisor version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/versions/{version}?action=check-compatibility": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Versions" + ], + "description": "Evaluates the compatibility of the specified Supervisor version with the current infrastructure (vCenter, ESX, and NSX). If the Supervisor version is compatible, it checks the feature compatibility.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Upgrade`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Versions_checkCompatibility", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Identifier of the Supervisor version.\n\nThe parameter must be an identifier for the resource type: `SupervisorVersion`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spec", + "in": "query", + "description": "Specification to compute the compatibility for the provided Supervisor version.\n\nIf missing or `null`, the compatibility check of ESX hosts will be omitted.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec" + } + }, + { + "name": "zones", + "in": "query", + "description": "List of Zones for which the compatibility of Supervisor version is being checked.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the field *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec.cluster* or *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec.supervisor* should be specified.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if spec is populated with multiple fields(Cluster ID, Supervisor ID & Zones).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if version does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Compatibility status of Supervisor version with provided ClusterID, SupervisorID or Zones along with the list of capabilities and their statuses.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.CompatibilityInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/upgrades/jobs/{supervisor}": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs" + ], + "description": "Initiates the Supervisor upgrade job for a Supervisor. This process upgrades components on both the control plane and worker hosts to the desired version. The operation performs a series of prechecks before proceeding, with results recorded in Info.Status.messages, using various Message.Severity levels. Depending on the severity of the precheck messages, the upgrade job may either continue or halt at the precheck phase. The behavior for each severity level is as follows: \n - __ERROR__: The upgrade does not proceed beyond the precheck phase.\n - __WARNING__: The upgrade proceeds only if *Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs.CreateSpec.ignore_precheck_warnings* is set to true.\n - __INFO__: The upgrade proceeds without interruption.\n The results of the prechecks, including severity levels, can be reviewed in the response of the *GET /vcenter/namespace-management/software/supervisors/upgrades/{supervisor}* API. This API also provides real-time updates on the status and progress of the upgrade job.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Upgrade`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor to be upgraded.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for upgrading the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if *Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs.CreateSpec.desired_version* is not valid.\n\n***Vapi.Std.Errors.Unsupported*** if Supervisor upgrade is Unsupported. For example, the upgrade may be disallowed if the Supervisor's capabilities do not permit upgrades.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Upgrade privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The task identifier for the operation. The task is cancelable.\n\nThe response will be an identifier for the resource type: `com.vmware.cis.task`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/software/supervisors/versions/{version}/control-plane/sizes": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes" + ], + "description": "List sizing options for the control plane VM for the given Supervisor version.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes_list", + "parameters": [ + { + "name": "version", + "in": "path", + "description": "Version string for which sizes are being queried.\n\nThe parameter must be an identifier for the resource type: `SupervisorVersion`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information for each size.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/stats/time-series": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Stats.TimeSeries" + ], + "description": "Gather statistical values for a cluster, namespace, or pod.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Stats.TimeSeries_get", + "parameters": [ + { + "name": "spec", + "in": "query", + "description": "Specification of the statistical values that should be returned.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Stats.TimeSeries.Spec" + } + }, + { + "name": "pod-namespace", + "in": "query", + "description": "The namespace that the pod is running in.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pod_name", + "in": "query", + "description": "The name of the pod itself.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the start time in *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.start* is invalid, or the end time in *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.end* is invalid.\n\n***Vapi.Std.Errors.Unsupported*** if the specified cluster in *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.cluster* is not enabled for Namespaces.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified cluster in *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.cluster* or the namespace in *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.namespace* or *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.pod* does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "A list of TimeSeries values for each counter specified in the request.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Stats.TimeSeries.TimeSeries" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/storage/profiles?action=check_compatibility": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Storage.Profiles" + ], + "description": "Returns the compatible management storage profiles for enabling a WCP Supervisor across a given set of zones. A storage profile is compatible if it results in at least one datastore in each of the specified zones.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Storage.Profiles_check", + "requestBody": { + "description": "Specification of the zones to consider when finding compatible storage profiles. The *Vcenter.NamespaceManagement.Storage.Profiles.FilterSpec* must contain at least 1 zone.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Storage.Profiles.FilterSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more fields of the *Vcenter.NamespaceManagement.Storage.Profiles.FilterSpec* is incorrect.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on all of the Cluster Compute Resources in the specified vSphere Zones.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of storage profiles compatible across the given *Vcenter.NamespaceManagement.Storage.Profiles.FilterSpec*. The profiles returned will each result in at least one datastore in each zone.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Storage.Profiles.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/supervisor-services": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__. Use *GET /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services* instead.\n\nReturn the summaries about all Supervisor Services on the specified vSphere Supervisor. \n\n A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. \n\n To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster from which to list the service summaries.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor doesn't support Supervisor Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the System.Read privilege on the specified cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID cluster could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of summaries of all Supervisor Services on the cluster.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__. Use *POST /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services* instead.\n\nCreate a Supervisor Service on the specified vSphere Supervisor. This operation will apply the Supervisor Service version's service definition on the cluster. This operation is possible only when the Supervisor Service and Supervisor Service version are in the ACTIVATED state. \n\n A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. \n\n To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices_create", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which to install the service.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the Supervisor Service on the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.AlreadyExists*** if a Supervisor Service ID defined in spec exists on the Supervisor\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor doesn't support Supervisor Services, or if the Supervisor Service cannot be created in the current state, e.g. the supervisor service version is in the DEACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified cluster with ID cluster or Supervisor Service with the Supervisor Service ID defined in spec or version with the ID {param.name version} could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/clusters/{cluster}/supervisor-services/{supervisorService}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__. Use *GET /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}* instead.\n\nReturn information about the specific Supervisor Service on the specified vSphere Supervisor. \n\n A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. \n\n To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster from which to get the service information.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor doesn't support Supervisor Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID cluster or the Supervisor Service does not exist on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The information for the specified Supervisor Service on the specified cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__. Use *PUT /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}* instead.\n\nSet a new configuration to the specified Supervisor Service on the specified vSphere Supervisor. This operation will apply the new Supervisor Service version's service definition to the existing Supervisor Service on the cluster. This operation requires that the specified Supervisor Service is already installed in the specified Supervisor. Note that this operation doesn't interfere with the application instances that are created by the associated operator(s). So users should make sure the new version is still compatible with the existing application instances. \n\n A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. \n\n To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices_set", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster backing this Supervisor.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the Supervisor Service on the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor doesn't support Supervisor Services or the specified version is not in the ACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID cluster or Supervisor Service with the ID supervisorService or version with the ID {param.name version} could not be located, or the Supervisor Service does not exist on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices" + ], + "description": "This operation is deprecated as of __vSphere API 9.0.0.0__. Use *DELETE /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}* instead.\n\nDelete a Supervisor Service on the specified vSphere Supervisor. This operation will remove the Supervisor Service with the specified identifier from the cluster, by removing the corresponding namespace and deleting the operator(s) associated with the Supervisor Service. Note that this operation doesn't deal with the application instances that are created by the associated operator(s), so existing application instances could be orphaned if users don't clean or migrate them. \n\n A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. \n\n To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices_delete", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster backing this Supervisor.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor doesn't support Supervisor Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID cluster or the Supervisor Service does not exist on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services/{supervisorService}/versions": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.Versions" + ], + "description": "Return the information about all versions of the Supervisor Service.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.Versions_list", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier of the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if service with the ID supervisorService could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of summary of all service versions of the Supervisor Service.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.Versions" + ], + "description": "Create a Supervisor Service version based on the provided service definition information for the version.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.Versions_create", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier of the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the Supervisor Service version to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a Supervisor Service version with the same identifier already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if an invalid field in spec is specified or if it contains any errors. For example, when the field trusted is set to be true, but no signature is provided or it is invalid or when a EULA is specified but not accepted.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor Service version cannot be created in the current state, for example, the Supervisor Service is in DEACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services/{supervisorService}/versions/{version}?action=deactivate": { + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.Versions" + ], + "description": "Deactivate a Supervisor Service version. This operation will change the Vcenter.NamespaceManagement.SupervisorServices.Versions.State of the version to DEACTIVATED state, which will make sure the version cannot be created on any Supervisor cluster. Note that this operation should be called before deleting the version.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.Versions_deactivate", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Identifier of the version.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor Service version cannot be deactivated in the current state, for example, the Supervisor Service is in ACTIVATED state and this version is the last version of the Supervisor Service in ACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService or version with the ID version could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services/{supervisorService}/versions/{version}?action=activate": { + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.Versions" + ], + "description": "Activate a Supervisor Service version. This operation will change the Vcenter.NamespaceManagement.SupervisorServices.Versions.State of the version to ACTIVATED state.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.Versions_activate", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Identifier of the version.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor Service version cannot be activated in the current state, for example, the Supervisor Service is in DEACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService or version with the ID {param.name version} could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisor-services/{supervisorService}/versions/{version}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.Versions" + ], + "description": "Return the information for the specified Supervisor Service version.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.Versions_get", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier of the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Identifier of the version.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService or version with the ID {param.name version} could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information for the specified Supervisor Service version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.SupervisorServices.Versions" + ], + "description": "Delete a Supervisor Service version. This operation only deletes the Supervisor Service version from vCenter if the version is in DEACTIVATED state and all instances of the version are removed from all Supervisors. Note that the deactivate operation should be called to deactivate the version before the version can be deleted. \n\n Note that deleting the last version of the supervisorService does not delete the supervisorService instance automatically.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `SupervisorServices.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.SupervisorServices.Versions_delete", + "parameters": [ + { + "name": "supervisorService", + "in": "path", + "description": "Identifier of the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Identifier of the version.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor Service version cannot be deleted in the current state, e.g. the version is not in DEACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the SupervisorServices.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor Service with the ID supervisorService or version with the ID {param.name version} could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request, e.g. if it is unable to reach a vSphere Supervisor that has the version enabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/capabilities": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Capabilities" + ], + "description": "Returns the list of Supervisor capability.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Capabilities_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "includes specification for filtering Supervisor capabilities.\n\nIf set returns the Supervisor capabilities results only for the specified filter values. If missing or `null` returns all the Supervisor capabilities.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Capabilities.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if filter contain any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "list of Supervisor capabilities.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Capabilities.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/certificates": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Certificates" + ], + "description": "List PEM-encoded x509 certificate(s) used by Supervisor endpoints.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Certificates_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier for the Supervisor for which the certificates are being retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "parameters on which to filter response contents.\n\nIf missing or `null`, certificates of all Supervisor endpoints will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the given supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A list of {#link ListResult} with certificates configured for Supervisor endpoints.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Certificates" + ], + "description": "Update TLS endpoint certificate/privatekey for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Certificates_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the tls endpoint certificate to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not allow the update the certificate for the endpoint.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/conditions": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Conditions" + ], + "description": "Get all conditions of a given Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Conditions_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "the identifier for a Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if authorization information cannot be retrieved.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor cannot be found, or if the user does not have read privilege on it.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of *Vcenter.NamespaceManagement.Supervisors.Conditions.Condition* objects related to the given Supervisor.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Conditions.Condition" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/container-image-registries": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries" + ], + "description": "Lists all container image registries on the given Supervisor.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor on which the container image registry is created.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if supervisor doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "for any other errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of all configured container image registries for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries" + ], + "description": "Defines a new container image registry for the given Supervisor.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor on which the container image registry is created.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for setting up the container image registry.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the name of the container image registry specified in spec already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if this Supervisor cluster does not support configuring container image registries.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if supervisor doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "for any other errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Information about the container image registry created on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/container-image-registries/{containerImageRegistry}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries" + ], + "description": "Get information about the given container image registry for the given Supervisor.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor on which the container image registry is created.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "containerImageRegistry", + "in": "path", + "description": "Identifier for the container image registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ContainerImageRegistry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if supervisor or containerImageRegistry doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "for any other errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the given container image registry for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries" + ], + "description": "Delete the given container image registry from the given Supervisor.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries_delete", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor on which the container image registry is created.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "containerImageRegistry", + "in": "path", + "description": "Identifier for the container image registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ContainerImageRegistry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if supervisor or containerImageRegistry doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "for any other errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries" + ], + "description": "Update the given container image registry configuration for the given Supervisor.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor on which the container image registry is created.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "containerImageRegistry", + "in": "path", + "description": "Identifier for the container image registry.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ContainerImageRegistry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the container image registry configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the name of the container image registry specified in spec already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if this Supervisor cluster does not support configuring container image registries.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if supervisor or containerImageRegistry doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "for any other errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/management-services": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ManagementServices" + ], + "description": "Retrieve a list of Management Services registered with the specified Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ManagementServices_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "management_services", + "in": "query", + "description": "Identifiers of Management Services.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the System.Read privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summaries of Management Services of this Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ManagementServices" + ], + "description": "Register a Management Service with the specified Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `ManagementServices.Configure`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ManagementServices_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification of the Management Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.AlreadyExists*** if a Management Service with ID defined in spec is already installed on the Supervisor.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the ManagementServices.Configure privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/management-services/{managementService}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ManagementServices" + ], + "description": "Retrieve a Management Service registered with the specified Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ManagementServices_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "managementService", + "in": "path", + "description": "Identifier of the Management Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the System.Read privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor or Management Service could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "info of the Management Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ManagementServices" + ], + "description": "Remove a registered Management Service from the specified Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `ManagementServices.Configure`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ManagementServices_delete", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "managementService", + "in": "path", + "description": "Identifier of the Management Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the ManagementServices.Configure privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor or Management Service could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ManagementServices" + ], + "description": "Update a Management Service registered with the specified Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `ManagementServices.Configure`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ManagementServices_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "managementService", + "in": "path", + "description": "Identifier of the Management Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Update specification to the Management Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the ManagementServices.Configure privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor or Management Service could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/networks": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Networks" + ], + "description": "Return information about all Supervisor networks.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Networks_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about all Supervisor networks in the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Networks" + ], + "description": "Create a Supervisor network object associated with the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Networks_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the network object to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a network with the same name already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if supervisor cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/networks/{network}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Networks" + ], + "description": "Return information about a specific Supervisor network.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Networks_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "in": "path", + "description": "Identifier for the Supervisor network.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor or network could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the given Supervisor network.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Networks" + ], + "description": "Delete the Supervisor network object in the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Networks_delete", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "in": "path", + "description": "Identifier for the Supervisor network.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the network is associated with a Namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor or network could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Networks" + ], + "description": "Update the configuration of the Supervisor network object associated with the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Networks_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "in": "path", + "description": "Identifier for the Supervisor network.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the network object to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled.\n\n***Vapi.Std.Errors.ResourceInUse*** if the network is in use and the spec contains field values that are un-updatable in such a case.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor or the network cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/summary": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Summary" + ], + "description": "Queries the current state of the specified Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Summary_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "the identifier for a supervisor\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.\n\nif the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `Namespaces.Manage` privilege and the `System.Read` privilege on all vSphere Clusters hosting the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor matching the ID does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.\n\nif the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "*Vcenter.NamespaceManagement.Supervisors.Summary.Info* of the Supervisor matching the provided identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Summary.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/summaries": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Summary" + ], + "description": "Queries the current state of all Supervisors. Optionally, apply the filter to Supervisors that match the criteria in the *Vcenter.NamespaceManagement.Supervisors.Summary.FilterSpec*.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Summary_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Set of parameters that can be used to constrain the results of the operation.\n\nif missing or `null` all records will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Summary.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `Namespaces.Manage` privilege and the `System.Read` privilege on all vSphere Clusters hosting the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "ListResult of *Vcenter.NamespaceManagement.Supervisors.Summary.Info* of all Supervisors matching the criteria in the *Vcenter.NamespaceManagement.Supervisors.Summary.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Summary.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/supervisor-service-settings": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings" + ], + "description": "Display settings for Supervisor Services configured on this Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The Supervisor Service settings for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings" + ], + "description": "Update Supervisor Service settings for this Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the Supervisor Service settings to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor cannot process the request in the current state, for example if being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support updating the Supervisor Service settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}?action=precheck": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices" + ], + "description": "Initiates a pre-check for installing or upgrading to a Supervisor Service version on the given Supervisor. For example, if a Supervisor is running version 1.0 of a Service, use this API with a target version of 2.0 to know if the Service version 2.0 is also compatible with this Supervisor. The pre-check result can be fetched asynchronously by *GET /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}/versions/{targetVersion}/precheck* operation.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices_precheck", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor on which to initiate the pre-check.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier of the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the Supervisor Service pre-check.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.PrecheckSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor is configuring or being removed.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor doesn't support Supervisor Service or Supervisor Service precheck.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "for any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor or Supervisor Service with the ID supervisorService or the version defined in spec could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "The task identifier for the precheck operation.\n\nThe response will be an identifier for the resource type: `com.vmware.cis.task`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}/versions/{targetVersion}/precheck": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices" + ], + "description": "Get the result of the last valid *POST /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}?action=precheck* operation for a specific Supervisor Service version on a Supervisor. \n\n If the Supervisor Service on the Supervisor has been installed, upgraded or deleted since the last *POST /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}?action=precheck* operation, the stale result will be purged and the user should re-initiate a *POST /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}?action=precheck* operation.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices_getPrecheckResult", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "targetVersion", + "in": "path", + "description": "Identifier for the target version to run the pre-check with.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor doesn't support Supervisor Service or Supervisor Service precheck.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "for any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor or Supervisor Service with the ID supervisorService or version with the ID targetVersion could not be located or there is no valid pre-check result available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The result of the last valid *POST /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}?action=precheck* operation for the Supervisor Service version on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.PrecheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/supervisor-services": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices" + ], + "description": "Return the summaries about all Supervisor Services installed on the specified vSphere Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor doesn't support Supervisor Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the System.Read privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of summaries for all Supervisor Services installed on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices" + ], + "description": "Install a Supervisor Service on the specified vSphere Supervisor. This operation will apply the Supervisor Service version's Service definition on the Supervisor. This operation is possible only when the Supervisor Service and Supervisor Service version are in the Versions.State#ACTIVATED state.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the Supervisor Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.AlreadyExists*** if a Supervisor Service ID defined in spec is already installed on the Supervisor\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor doesn't support Supervisor Services, or if the Supervisor Service cannot be created in the current state, e.g. the Supervisor Service version is in the Versions.State#DEACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices" + ], + "description": "Return information about the specific Supervisor Service on the specified vSphere Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor doesn't support Supervisor Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor could not be located or the Supervisor Service is not installed on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The information for the specified Supervisor Service on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices" + ], + "description": "Set a new configuration to the specified Supervisor Service on the specified vSphere Supervisor. This operation will apply the new Supervisor Service version's Service definition to the existing Supervisor Service on the Supervisor. This operation requires that the specified Supervisor Service is already installed in the specified Supervisor. Note that this operation doesn't interfere with the application instances that are created by the associated operator(s). So users should make sure the new version is still compatible with the existing application instances prior to upgrading.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices_set", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the Supervisor Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the Supervisor doesn't support Supervisor Services or the specified version is not in the Versions.State#ACTIVATED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor could not be located or the Supervisor Service is not installed on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices" + ], + "description": "Uninstall a Supervisor Service from the specified vSphere Supervisor. This operation will remove the Supervisor Service with the specified identifier by removing the corresponding namespace and deleting the operator(s) associated with the Supervisor Service. Note that this operation doesn't deal with the application instances that are created by the associated operator(s), so existing application instances could be orphaned if they have not been cleaned up or migrated.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `SupervisorServices.Install`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices_delete", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor doesn't support Supervisor Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the SupervisorServices.Install privilege on the specified Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor could not be located or the Supervisor Service is not installed on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/support-bundles": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupportBundles" + ], + "description": "Returns the location *Vcenter.NamespaceManagement.Supervisors.SupportBundles.CreateResult* information for downloading the support bundle for the specified Supervisor. \n\n Retrieving a support bundle involves two steps: \n - Step 1: Invoke operation to provision a token and a URI.\n - Step 2: Make an HTTP POST request using URI and one time used token returned in step 1 to generate the support bundle and return it.\n There can only be one valid token per Supervisor at any given time. If this operation is invoked again for the same Supervisor identifier while a token still valid, the API will return the same *Vcenter.NamespaceManagement.Supervisors.SupportBundles.CreateResult* response. \n\n The HTTP POST request will: \n - return 401 (Not Authorized) if the download URL is recognized, but the token is invalid. \n - otherwise return 201 (OK), mark the token as used (invalidating it for any future use), open a application/tar download stream for the client, and start the bundle process. As part of its work, the API will orchestrate support bundling on the worker nodes of the Supervisor cluster. If a failure occurs during the collection of support bundle from a worker node, the API will not abort the request, but will log a warning and move on to processing other worker nodes' bundles. The API will only abort its operation if the content of the stream has been corrupted. When the API has to abort its operation (and the response stream), it will not provide any indication of failures to the client. The client will need to verify validity of the resultant file based on the format specified in the response's Content-Disposition header. \n \n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Global.Diagnostics`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupportBundles_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Global.Diagnostics privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified Supervisor is not registered on this vCenter Server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "the download location of the support bundle for the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupportBundles.CreateResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/topology": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Topology" + ], + "description": "Queries the current association between vSphere Zones and vSphere Clusters from the given Supervisor ID. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. Use the vSphere Cluster IDs obtained from *GET /vcenter/namespace-management/supervisors/{supervisor}/topology* to call the APIs that requires a vSphere Cluster ID instead of a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Topology_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for a Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.\n\nif the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `Namespaces.Manage` privilege and the `System.Read` privilege on all vSphere Clusters hosting the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if given Supervisor does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.\n\nif the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of *Vcenter.NamespaceManagement.Supervisors.Topology.Info* of vSphere Zone and vSphere Cluster associations.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Topology.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/vsphere-pod-settings": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.VspherePodSettings" + ], + "description": "Display settings for vSphere Pods configured on this Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.VspherePodSettings_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The vSphere Pod settings for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.VspherePodSettings.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.VspherePodSettings" + ], + "description": "Update vSphere Pod settings for this Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.VspherePodSettings_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the vSphere Pod settings to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.VspherePodSettings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor cannot process the request in the current state, for example if being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support updating the vSphere Pod settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/certificates/key-sizes": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes" + ], + "description": "Get the list of supported key sizes that we can use to update, as well as the current signing key size for the internal certificates of the Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor does not allow retrieving the key sizes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "list of supported key sizes and current key size used for Supervisor internal certificates for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes" + ], + "description": "Update the signing key size for Supervisor internal certificates.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the Supervisor internal certificates signing key sizes. Specifying a supported key size generates new certificates with that key size.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support configuring the internal certificates signing key size. Updating key sizes is only supported on Supervisors with Kubernetes v1.31 or later.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/certificates/signing-requests": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests" + ], + "description": "Create creates a Certificate Signing Request. Certificate issued using this request can be used to update the corresponding certificate in the Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new Certificate Signing Request to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if spec contain any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Certificate Signing Request in PEM format.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/control-plane/passwords?action=reset": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Passwords" + ], + "description": "Request a new root password for all control plane nodes in a Supervisor. This operation generates a new root password and configures every control plane node in the cluster to accept it for authentication.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Passwords_reset", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor for which the password is being generated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor is in the process of password rotation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/control-plane/settings": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings" + ], + "description": "Retrieve control plane settings for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor does not allow retrieving the control plane settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor cannot be located or if the caller doesn't have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the control plane settings on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings" + ], + "description": "Update control plane settings for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the control plane settings to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not allow updating the control plane settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor cannot be located or if the caller doesn't have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/control-plane/networks/settings": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings" + ], + "description": "Retrieve management network settings for this Supervisor control plane.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor could not be located or if the user is missing the `System.Read` permission on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about management network settings for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings" + ], + "description": "Update management network settings for this Supervisor control plane.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the management network settings to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the network ID is not found or is malformed.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor cannot process the request in the current state, for example if being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support updating network segment portgroups.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if user is missing the `Namespaces.Manage` privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor cannot be located or if the user is missing the `Namespaces.Manage` permission.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/control-plane/storage/policies": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies" + ], + "description": "Retrieve storage policies for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "storage policies for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies" + ], + "description": "Update the storage policies for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the storage policies to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the associated Supervisor is being disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor cannot be located or any of the storage policies in spec does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/crypto/fips/modules": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules" + ], + "description": "Returns aggregated information about the Broadcom authored crypto modules on the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor is non-FIPS compliant or crypto module information is not available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidRequest" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of crypto modules.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/identity/domains/{domain}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Identity.Domains" + ], + "description": "Returns information about an identity domain configured for a Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Identity.Domains_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier for the Supervisor for which the identity domain is being read.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "domain", + "in": "path", + "description": "identifier for the supervisor identity domain that is being read.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.domain`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the given identity domain or Supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "An {#link Info} representing the requested supervisor identity domain.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Identity.Domains.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/identity/domains": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Identity.Domains" + ], + "description": "List the identity domains configured for a given Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Identity.Domains_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "the Supervisor for which identity domains are being listed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the given Supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A list of {#link Summary} with details about the identity domains associated with a given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Identity.Domains.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/identity/providers/{provider}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers" + ], + "description": "Returns information about an identity provider configured for a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Identity.Providers_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier for the Supervisor for which the identity provider is being read.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "identifier for the identity provider that is being read.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the given identity provider or Supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "An {#link Info} representing the requested identity provider.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Identity.Providers.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers" + ], + "description": "Update the entire configuration for an existing identity provider used with a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Identity.Providers_set", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "the identifier for the Supervisor associated with the identity provider to be updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "the identifier for the identity provider that is to be updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the {#link SetSpec} to be applied to the identity provider configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Identity.Providers.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the spec contains any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given identity provider or Supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers" + ], + "description": "Remove an identity provider configured with a given Supervisor. This will result in users no longer being able to log in to either the Supervisor or any of its workload clusters with that identity provider.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Identity.Providers_delete", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "the identifier of the Supervisor which is associated with the identity provider being removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "the identifier for the identity provider that is to be deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given identity provider or Supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers" + ], + "description": "Update an existing identity provider used with a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Identity.Providers_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "the identifier for the Supervisor associated with the identity provider to be updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "the identifier for the identity provider that is to be updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the {#UpdateSpec} to be applied to the identity provider configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the spec contains any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given identity provider or Supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/identity/providers": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers" + ], + "description": "List the identity providers configured for a given Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Identity.Providers_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "the Supervisor for which identity providers are being listed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the given Supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A list of {#link Summary} with details about the identity providers associated with a given Supervisor.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Identity.Providers.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers" + ], + "description": "Create a new identity provider to be used with a Supervisor. Currently, only a single identity provider can be created.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Identity.Providers_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "the Supervisor for which the identity provider is being registered.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the {#link CreateSpec} describing the identity provider to be registered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Identity.Providers.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the specified Supervisor does not exist, or if an identity provider is already configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "a unique identifier for the identity provider that was registered.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/logs/agent-configuration": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Logs.AgentConfiguration" + ], + "description": "Retrieves the Supervisor log streaming configuration.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Logs.AgentConfiguration_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier of the Supervisor whose log streaming configuration is being retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the given supervisor does not support logging agent configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "An *Vcenter.NamespaceManagement.Supervisors.Logs.Info* representing the summary of log streaming configuration set in the Supervisor. It includes whether the log streaming is enabled, the logging agent configuration and its status for each *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Logs.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Logs.AgentConfiguration" + ], + "description": "Sets the Supervisor log streaming configuration.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Observe`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Logs.AgentConfiguration_set", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier of the Supervisor to which the log streaming configuration is being set.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "defines the log streaming configuration to set in the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Logs.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the given supervisor does not support logging agent configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Observe privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "A *Vcenter.NamespaceManagement.Supervisors.Logs.SetResult* representing the summary of log streaming configuration set in the given Supervisor. It includes whether the log streaming is enabled, the logging agent configuration and its status for each *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Logs.SetResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/metrics/remote-endpoints/{remoteEndpoint}": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints" + ], + "description": "Returns information about a remote endpoint configured for a Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier for the Supervisor for which the remote endpoint is being retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "remoteEndpoint", + "in": "path", + "description": "identifier of the remote endpoint that is being retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.metrics.RemoteEndpoint`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the given remoteEndpoint or supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "An {#link Info} representing the requested remote endpoint.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints" + ], + "description": "Modify the complete remote endpoint configuration used by a Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints_set", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier for the Supervisor for which the remote endpoint is being modified.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "remoteEndpoint", + "in": "path", + "description": "identifier for the remote endpoint that is being modified.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.metrics.RemoteEndpoint`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the {#SetSpec} to be applied to the remote endpoint configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the spec contains any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given remoteEndpoint or supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints" + ], + "description": "Delete a remote endpoint configured for a Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints_delete", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier for the Supervisor for which the remote endpoint is being deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "remoteEndpoint", + "in": "path", + "description": "identifier for the remote endpoint that is being deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.metrics.RemoteEndpoint`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given remoteEndpoint or supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints" + ], + "description": "Modify an existing remote endpoint configuration used by a Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier for the Supervisor for which the remote endpoint is being modified.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "remoteEndpoint", + "in": "path", + "description": "identifier for the remote endpoint that is being modified.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.metrics.RemoteEndpoint`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the {#UpdateSpec} to be applied to the remote endpoint configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the spec contains any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given remoteEndpoint or supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/metrics/remote-endpoints": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints" + ], + "description": "Retrieve a list of remote endpoints configured for a Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier for the Supervisor for which the remote endpoints are being retrieved.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the given supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A list of {#link ListResult} with details about the remote endpoints configured for a Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints" + ], + "description": "Configure a new remote endpoint for the Supervisor to send both Supervisor and Workload cluster metrics.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "identifier of the Supervisor for which the remote endpoint is being created.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the {#link CreateSpec} describing the remote endpoint to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the specified supervisor does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "a unique identifier for the remote endpoint that was created.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.metrics.RemoteEndpoint`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/networks/edges": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges" + ], + "description": "List detailed configuration about all edges in the system, filtered upon request.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "The unique identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "providers", + "in": "query", + "description": "Filter by one or more edge providers.\n\nPossible values:\n - `AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* specifies the Avi Load Balancer. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `HAPROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* instead.\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.HAPROXY* is an HAProxy load balancer fronted by the Data Plane API. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `NSX_LB`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB* specifies the NSX Load Balancer configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `NSX_REGISTERED_AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI* specifies the NSX Advanced Load Balancer (Avi Load Balancer) configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `VSPHERE_FOUNDATION`\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` this filter is not applied.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "edges", + "in": "query", + "description": "Filter by one or more unique edge identifiers.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` this filter is not applied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Filter by one or more unique edge names.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` this filter is not applied.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if the provider does not allow or implement deletion.\n\n***Vapi.Std.Errors.InvalidArgument*** if one or more provided parameters do not match any edge providers, edges, or Supervisors in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the Supervisor for each edge.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor ID cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A list of detailed information about each requested edge.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges" + ], + "description": "Create an edge with the specified configuration.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "The unique identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the edge to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled or if the edge is already marked for delete.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.Unsupported*** if the provider does not allow or implement create.\n\n***Vapi.Std.Errors.AlreadyExists*** if an edge with the same name already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege on the associated Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor ID cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "the edge ID used for querying the status of the request.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/networks/edges/{edge}": { + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges" + ], + "description": "Update the edge configuration. Only the provided parameters will be updated. missing or `null` parameters will remain in their current state.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "The unique identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "edge", + "in": "path", + "description": "The unique identifier for the edge.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the edge to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if the provider does not allow or implement update.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled or if the edge is already marked for delete.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege on the associated Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor or edge ID cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/recovery/backup/archives": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives" + ], + "description": "List all Backup archives that are stored on vCenter Server Appliance file system. Optionally, apply the filter to Backup archives that match the criteria in the {#link FilterSpec}.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Set of parameters that can be used to constrain the results of the operation.\n\nif missing or `null` all records will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about Backup archives stored on vCenter Server Appliance file system matching the {#link FilterSpec}.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/recovery/backup/jobs": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Jobs" + ], + "description": "Initiate a Supervisor Backup job. The Backup captures Supervisor Control plane state that includes a snapshot of etcd, required certificates and container images for infrastructure components. Once the job succeeds, corresponding Backup archive will be stored on vCenter Appliance file system. These Backup archives can be looked up and managed using operations provided by *Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives* resource and can be used to restore the Supervisor using *POST /vcenter/namespace-management/supervisors/{supervisor}/recovery/restore/jobs/{archive}*.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Backup`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Jobs_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specifies input parameters for backup create job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Jobs.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a backup job is already pending for the Supervisor.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if Supervisor is not healthy and {#member CreateSpec.ignoreHealthCheckFailure} is not set to `true` or if Supervisor is not fully enabled yet.\n\n***Vapi.Std.Errors.Unsupported*** if version of the specified Supervisor does not support backup.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Backup privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given Supervisor cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The task identifier for the backup job. On success, the task's result property will be set to\n\nThe response will be an identifier for the resource type: `com.vmware.cis.task`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/recovery/restore/jobs/{archive}": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Recovery.Restore.Jobs" + ], + "description": "Initiate Supervisor restore from a Backup archive. Use *Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives* resource to get the available Backup archives.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Recovery.Restore.Jobs_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "archive", + "in": "path", + "description": "Identifier for the Backup archive to restore from.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.backup.Archive`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if specified Backup archive is not a backup of the Supervisor.\n\n***Vapi.Std.Errors.AlreadyExists*** if a restore job is already pending for the Supervisor.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if specified Backup archive *Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.Info.usable* value is set to `false`.\n\n***Vapi.Std.Errors.Unsupported*** if version of the specified Supervisor does not support restore.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user is missing the Namespaces.Manage privilege on the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the given Supervisor or Backup archive cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The task identifier for the restore job. The task is cancelable.\n\nThe response will be an identifier for the resource type: `com.vmware.cis.task`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/storage/cloud-native/resource-checks": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks" + ], + "description": "Get persistent services resource check report for the given spec. \n\n Given the operation and action types, fetches the resource check report generated by last call to *POST /vcenter/namespace-management/supervisors/{supervisor}/storage/cloud-native/resource-checks* method. This method will not check if there is another *POST /vcenter/namespace-management/supervisors/{supervisor}/storage/cloud-native/resource-checks* in progress, it will return the last report available.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "*Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.GetParams* parameters for resource check.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.GetParams" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if values provided in getParams are not valid. For example: maintenance action provided is invalid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor is not found or host defined in getParams is not a member of the Supervisor or the resource check report does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.\n\nif the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The resource check report for specified entities and operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks" + ], + "description": "Initiates persistent services resource check operation for a given spec. \n\n Given the operation type and entities, the resource check will run a point-in-time simulation based on the Supervisor state and existing persistent service instances in the Supervisor. It will check whether the Supervisor has enough resources to perform the given decommissioning operation. After completion of the task it will generate a report that can be read using *GET /vcenter/namespace-management/supervisors/{supervisor}/storage/cloud-native/resource-checks* method\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "*Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.CreateSpec* specification for resource check.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if values provided in createSpec are not valid. For example: maintenance action provided is invalid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor is not found or host defined in createSpec is not a member of the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "The identifier of the task spawned for the operation\n\nThe response will be an identifier for the resource type: `Task`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}/{version}/signatures": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures" + ], + "description": "Retrieves the trust status and signature verification details for a specific Supervisor Service version on a given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "supervisorService", + "in": "path", + "description": "Identifier for the Supervisor Service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Identifier for the Supervisor Service version.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor doesn't support Supervisor Services or signature verification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "for any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor or Supervisor Service with the ID supervisorService or Supervisor Service version with the ID version could not be found; Or the user lacks the `System.Read` privilege on the associated Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The trust status and signature details of the specified Supervisor Service version on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/supervisor-services/signatures": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures" + ], + "description": "Retrieves the trust status and signature verification details for Supervisor Services that match the optional filter.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of filtering criteria used to match Supervisor Services for which signature information should be returned.\n\nIf missing or `null`, the operation returns Signatures across all Supervisors that the user has the `System.Read` privilege.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.FilterSpec" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "for any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if any identifier explicitly specified in filter does not exist (for example: the Supervisor ID, Supervisor Service ID, or Supervisor Service version ID cannot be found), or if *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.FilterSpec.supervisor* is specified and the caller lacks the `System.Read` privilege on that Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The trust status and signature verification details for the matching Supervisor Service versions. Results are limited to Supervisors for which the caller has `System.Read` privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/workloads/kube-api-server-settings": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings" + ], + "description": "Retrieve the Kubernetes API Server settings for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor does not allow retrieving the Kubernetes API Server Options.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated or user does not have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "the Kubernetes API Server settings for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings" + ], + "description": "Update options for the Kubernetes API Server for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the Kubernetes API Server options to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not allow updating the Kubernetes API Server Options.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/workloads/images/settings": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings" + ], + "description": "Retrieves the current images configuration for Virtual Machines, Kubernetes nodes, and vSphere Pods on a given Supervisor's workload components.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The current images configuration settings for the given Supervisor's workload components.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings" + ], + "description": "Updates the images configuration for Virtual Machines, Kubernetes nodes, and vSphere Pods on a given Supervisor's workload components.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier of the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The new images configuration to be applied.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the provided specification is invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/workloads/networks/settings": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings" + ], + "description": "Retrieve information about workload network settings for this Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the Supervisor does not allow retrieving the workload network settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor cannot be located or if the caller doesn't have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about workload network settings for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings" + ], + "description": "Update workload network settings for this Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the workload network settings to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor cannot process the request in the current state, for example if being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not allow updating the workload network settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if Supervisor with the ID supervisor cannot be located or if the caller doesn't have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/workloads/storage/policies": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies" + ], + "description": "Retrieve workload storage policies for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "workload storage policies for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies" + ], + "description": "Update workload storage policies for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the storage policies to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the associated Supervisor is being disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor cannot be located or any of the storage policies in spec does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/workloads/storage/cloud-native/file-volumes": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes" + ], + "description": "Retrieve file volume configuration for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes_get", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "file volume configuration for the given Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes" + ], + "description": "Update the file volume information for the given Supervisor.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the parameter supervisor requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the file volume to be updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the associated Supervisor is being disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the Supervisor with the ID supervisor cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/zones/bindings": { + "get": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings" + ], + "description": "Lists the vSphere Zones bound to the given Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings_list", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the ID supervisor is not found in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The list of vSphere Zones bound to the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings" + ], + "description": "Associates a list of vSphere Zones to the given Supervisor.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings_create", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "A list of vSphere Zones to bind to the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if the zones feature is not enabled.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if any of the zones was already associated with a different Supervisor since a vSphere Zone can only be associated with one Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Zone ID provided in specs or supervisor is not found in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/supervisors/{supervisor}/zones/{zone}/bindings": { + "put": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings" + ], + "description": "Reconfigures the Supervisor to vSphere Zone binding.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings_set", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "zone", + "in": "path", + "description": "The ID of the vSphere Zone.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The SetSpec specifying new configuration for vSphere Zone.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if the zones feature is not enabled.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the vSphere Zone is being deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the ID zone or supervisor is not found in the system or zone is not associated with the supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings" + ], + "description": "Removes the binding of the vSphere Zone from a Supervisor. \n\n By default, zones will be marked for deletion. When zones are marked, new workloads will not be permitted to be scheduled on the zone, and existing workloads will not be permitted to restart. The users will need to remove their workloads from the zone in all namespaces. Once drained of all workloads, the zone deletion from the Supervisor will complete automatically. This gives the user the opportunity to gracefully stop their workloads and reschedule them on available zones in their namespace.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings_delete", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "zone", + "in": "path", + "description": "The ID of the vSphere Zone to remove from the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the zone is a management zone or the last zone in a supervisor.\n\n***Vapi.Std.Errors.Unsupported*** if the zones feature is not enabled.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the vSphere Zone being deleted is of type *Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Type.MANAGEMENT* or if the Supervisor is in REMOVING state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the ID zone or supervisor is not found in the system or zone is not associated with the supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings" + ], + "description": "Patches the configuration of Supervisor to vSphere Zone binding.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.Manage`. \n", + "operationId": "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings_update", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "zone", + "in": "path", + "description": "The ID of the vSphere Zone.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The UpdateSpec specifying new configuration for vSphere Zone.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if the zones feature is not enabled.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the vSphere Zone is being deleted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the Namespaces.Manage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the ID zone or supervisor is not found in the system or zone is not associated with the supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespace-management/zones/{zone}/cluster-compatibilities": { + "post": { + "tags": [ + "Vcenter.NamespaceManagement.Zones.ClusterCompatibilities" + ], + "description": "Check if a set of vSphere Cluster is eligible to be bound to a vSphere Zone. \n\nBefore adding vSphere Clusters to a vSphere Zone, use this operation to ensure the vSphere Clusters are compatible with the vSphere Zone.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CreateSpec.clusters* requires `System.Read`. \n", + "operationId": "Vcenter.NamespaceManagement.Zones.ClusterCompatibilities_create", + "parameters": [ + { + "name": "zone", + "in": "path", + "description": "The identifier of the existing vSphere Zone.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CreateSpec schema containing the identifiers of the vSphere Cluster Compute Resources to check for compatibility against zone.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege on the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if either the vSphere Cluster Compute Resource or the vSphere Zone does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "for any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The result of the compatibility check.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CreateResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/instances/{namespace}/access/{domain}/{subject}": { + "get": { + "tags": [ + "Vcenter.Namespaces.Access" + ], + "description": "Get the information about the access control of the subject on given domain on the namespace.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.Access_get", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "domain", + "in": "path", + "description": "The domain of the subject.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subject", + "in": "path", + "description": "The principal for this operation.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "The type of subject (USER or GROUP).\n\nPossible values:\n - `USER`: Single user.\n - `GROUP`: Group of users.\n\n\nFor more information see: *Vcenter.Namespaces.Access.SubjectType*.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the specified principal on given domain is not associated with the namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if namespace cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the subject including the type and the role on the namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Access.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Namespaces.Access" + ], + "description": "Set new access control on the namespace for the subject on given domain.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Access_set", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "domain", + "in": "path", + "description": "The domain of the subject.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subject", + "in": "path", + "description": "The principal for this operation.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "The type of subject (USER or GROUP).\n\nPossible values:\n - `USER`: Single user.\n - `GROUP`: Group of users.\n\n\nFor more information see: *Vcenter.Namespaces.Access.SubjectType*.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the new access control to be assigned.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Access.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace is marked for deletion or the associated cluster is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the specified principal on given domain is not associated with the namespace, or when changing to OWNER permission for a user or group coming from an external identity provider.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors or if an invalid type is specified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if namespace cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Namespaces.Access" + ], + "description": "Set up access control for the subject on given domain on the namespace.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Access_create", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "domain", + "in": "path", + "description": "The domain of the subject.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subject", + "in": "path", + "description": "The principal for this operation.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "The type of subject (USER or GROUP).\n\nPossible values:\n - `USER`: Single user.\n - `GROUP`: Group of users.\n\n\nFor more information see: *Vcenter.Namespaces.Access.SubjectType*.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about the access control to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Access.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the specified principal on given domain is already associated with a role on the namespace.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace is marked for deletion or the associated cluster is being disabled.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors or if an invalid type is specified.\n\n***Vapi.Std.Errors.Unsupported*** if the specified principal on given domain is not associated with the namespace, or when the user or group does not come from vSphere SSO and the OWNER role is being granted.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if namespace cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Namespaces.Access" + ], + "description": "Remove access control of the subject on given domain from the namespace.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Access_delete", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "domain", + "in": "path", + "description": "The domain of the subject.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subject", + "in": "path", + "description": "The principal for this operation.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "The type of subject (USER or GROUP).\n\nPossible values:\n - `USER`: Single user.\n - `GROUP`: Group of users.\n\n\nFor more information see: *Vcenter.Namespaces.Access.SubjectType*.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace is marked for deletion or the associated cluster is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the specified principal on given domain is not associated with the namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if namespace cannot be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-self-service/{cluster}?action=activate": { + "post": { + "tags": [ + "Vcenter.Namespaces.NamespaceSelfService" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nActivate Namespace Self Service on the cluster on which vSphere Namespaces enabled. This operation empowers Dev Users/Groups as self-service namespace users to create Supervisor Namespaces through kubectl create namespace command. activate requires the availability of one or more templates in the system. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.SelfServiceManage`. \n", + "operationId": "Vcenter.Namespaces.NamespaceSelfService_activate", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces will be enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the cluster already has Namespace Self Service activated.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the service is marked for deactivation or the associated cluster is being disabled or no namespace template exists in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.SelfServiceManage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster with vSphere Namespaces enabled could not be located or no namespace templates exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified cluster is not licensed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-self-service/{cluster}?action=deactivate": { + "post": { + "tags": [ + "Vcenter.Namespaces.NamespaceSelfService" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nDeactivate Namespace Self Service on the cluster on which vSphere Namespaces enabled. This operation reverses Dev Users/Group's self-service namespace capability on the cluster. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `Namespaces.SelfServiceManage`. \n", + "operationId": "Vcenter.Namespaces.NamespaceSelfService_deactivate", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster for which vSphere Namespaces will be disabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the service is not activated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.SelfServiceManage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster with vSphere Namespaced enabled is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-self-service/{cluster}": { + "get": { + "tags": [ + "Vcenter.Namespaces.NamespaceSelfService" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nReturns information about Namespace Self Service of a specific cluster. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.NamespaceSelfService_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces are enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if cluster with vSphere Namespaced enabled could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the namespace self service associated with the specified cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceSelfService.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-self-service": { + "get": { + "tags": [ + "Vcenter.Namespaces.NamespaceSelfService" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nReturns basic information about Namespace Self Service on all clusters on which vSphere Namespaces are enabled on this vCenter.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.Namespaces.NamespaceSelfService_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summary of Namespace Self Service associated with all clusters with vSphere Namespaces enabled.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceSelfService.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-self-service/{cluster}?action=activateWithTemplate": { + "post": { + "tags": [ + "Vcenter.Namespaces.NamespaceSelfService" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nActivate Namespace Self Service on the cluster after configuring namespace template. This is another variant of activate except configures template before activation. The template configuration includes either creating a new template or updating the existing template, depending on the template's existence. Here is supported the flow of actions using the activateWithTemplate call: 1. Activate with the new template using activateWithTemplate call. 2. Deactivate using deactivate call. 3. Active with updating the existing template using activateWithTemplate. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.2.00100__.", + "operationId": "Vcenter.Namespaces.NamespaceSelfService_activateWithTemplate", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces will be enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for activating namespace self service on the cluster by granting users/groups to create Supervisor Namespaces.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceSelfService.ActivateTemplateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the cluster already has Namespace Self Service activated.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the service is marked for deactivation or the associated cluster is being disabled.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.SelfServiceManage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster with vSphere Namespaces enabled could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified cluster is not licensed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-templates/clusters/{cluster}/{template}": { + "get": { + "tags": [ + "Vcenter.Namespaces.NamespaceTemplates" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nGet the information about a namespace template on given cluster. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.NamespaceTemplate` referenced by the parameter template requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.NamespaceTemplates_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces are enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "template", + "in": "path", + "description": "Name of the namespace template.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster doesn't exist or if template doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the namespace template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Namespaces.NamespaceTemplates" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nUpdates a namespace template associated with cluster on which vSphere Namespaces are enabled in this vCenter Server. The specified configuration is applied partially and missing or `null` fields in spec will leave those parts of configuration as-is. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.NamespaceTemplate` referenced by the parameter template requires `Namespaces.SelfServiceManage`. \n", + "operationId": "Vcenter.Namespaces.NamespaceTemplates_update", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for cluster on which vSphere Namespaces are enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "template", + "in": "path", + "description": "Name of the namespace template.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the namespace template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors.\n\n***Vapi.Std.Errors.Unsupported*** if trying to grant access to a user or group from an external identity provider.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.SelfServiceManage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster doesn't exist or if template doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-templates/supervisors/{supervisor}/{template}": { + "get": { + "tags": [ + "Vcenter.Namespaces.NamespaceTemplates" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nGet the information about a namespace template on a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.NamespaceTemplate` referenced by the parameter template requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.NamespaceTemplates_getV2", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "template", + "in": "path", + "description": "Name of the namespace template.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor doesn't exist or if template doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the namespace template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.InfoV2" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Namespaces.NamespaceTemplates" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nUpdates a namespace template associated with a Supervisor. The specified configuration is applied partially and missing or `null` fields in spec will leave those parts of configuration as-is.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.NamespaceTemplate` referenced by the parameter template requires `Namespaces.SelfServiceManage`. \n", + "operationId": "Vcenter.Namespaces.NamespaceTemplates_updateV2", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "template", + "in": "path", + "description": "Name of the namespace template.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the namespace template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors.\n\n***Vapi.Std.Errors.Unsupported*** if trying to grant access to a user or group from an external identity provider.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.SelfServiceManage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor doesn't exist or if template doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-templates/clusters/{cluster}": { + "get": { + "tags": [ + "Vcenter.Namespaces.NamespaceTemplates" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nReturns information about all the namespace templates associated with a cluster on which vSphere Namespaces are enabled in this vCenter Server. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.Namespaces.NamespaceTemplates_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces are enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summary of all namespace templates associated with cluster with vSphere Namespaces enabled.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Namespaces.NamespaceTemplates" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nCreates a namespace template on a cluster on which vSphere Namespaces are enabled in this vCenter Server. This release supports creating a single namespace template, and the call fails if there is a request to make another one. A Supervisor can be running on one or multiple vSphere Zones, and each vSphere Zone is associated with one or more vSphere Clusters. If a Supervisor running on the specified vSphere Cluster is running on additional vSphere Clusters, this operation will apply to Supervisor components running on the other vSphere Clusters in addition to the specified vSphere Cluster. To call this API on a Supervisor with multiple vSphere Clusters, use com.vmware.vcenter.namespace_management.supervisors.Topology#get to get the vSphere Clusters associated with the given Supervisor. Any cluster from the list returned can be used as the input of this API.\n\nThis operation was added in __vSphere API 7.0.2.00100__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Namespaces.SelfServiceManage`. \n", + "operationId": "Vcenter.Namespaces.NamespaceTemplates_create", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier for the cluster on which vSphere Namespaces are enabled.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for setting up the namespace template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors, or if {link CreateSpec#storageSpecs} is empty, or if {link CreateSpec#resourceSpec} is not set with {term memory_limit}, {term cpu_limit}, {term storage_request_limit}, or if {link CreateSpec#networks} is not set with networks if the {term cluster} hosting the namespaces uses VSPHERE_NETWORK as its network provider, or if {link CreateSpec#networks} is not empty if the {term cluster} hosting the namespaces uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider.\n\n***Vapi.Std.Errors.Unsupported*** if a request arrives to create a second template or to grant access to a user or group from an external identity provider.\n\n***Vapi.Std.Errors.AlreadyExists*** if the namespace template with given name already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.SelfServiceManage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if cluster doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/namespace-templates/supervisors/{supervisor}": { + "get": { + "tags": [ + "Vcenter.Namespaces.NamespaceTemplates" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nReturns information about all the namespace templates associated with a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.Namespaces.NamespaceTemplates_listV2", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summary of all namespace templates associated with the Supervisor.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.SummaryV2" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Namespaces.NamespaceTemplates" + ], + "description": "This operation is deprecated as of __vSphere API 9.1.0.0__.\n\nCreates a namespace template on a Supervisor. This release supports creating a single namespace template, and the call fails if there is a request to make another one.\n\nThis operation was added in __vSphere API 8.0.0.1__.", + "operationId": "Vcenter.Namespaces.NamespaceTemplates_createV2", + "parameters": [ + { + "name": "supervisor", + "in": "path", + "description": "Identifier for the Supervisor.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for setting up the namespace template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors, or if {link CreateSpec#storageSpecs} is empty, or if {link CreateSpec#resourceSpec} is not set with {term memory_limit}, {term cpu_limit}, {term storage_request_limit}, or if {link CreateSpec#networks} is not set with networks if the Supervisor hosting the namespaces uses VSPHERE_NETWORK as its network provider, or if {link CreateSpec#networks} is not empty if the Supervisor hosting the namespaces uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider.\n\n***Vapi.Std.Errors.Unsupported*** if a request arrives to create a second template or to grant access to a user or group from an external identity provider.\n\n***Vapi.Std.Errors.AlreadyExists*** if the namespace template with given name already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.SelfServiceManage privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor doesn't exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/instances": { + "get": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Returns the information about all namespaces in this vCenter Server. The information is tied to a single vSphere cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.Namespaces.Instances_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about all namespaces in this vCenter server.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Create a namespace object on a single vSphere cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.Namespaces.Instances.CreateSpec.cluster* requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Instances_create", + "requestBody": { + "description": "The specification for setting up the namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a namespace with the same name exists in vCenter server.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors or if an invalid name is specified.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor cluster is being disabled or if the associated Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, namespace creation is not allowed.\n\n***Vapi.Std.Errors.Unsupported*** if*Vcenter.Namespaces.Instances.CreateSpec.cluster* is not enabled for Namespaces, or if the networks field is set when the *Vcenter.Namespaces.Instances.CreateSpec.cluster* hosting the namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider, or if the Supervisor cluster does not support customizable VM classes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if *Vcenter.Namespaces.Instances.CreateSpec.cluster* is not registered on this vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/instances/v2": { + "get": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Returns the information about all namespaces in this vCenter Server. The information is tied to a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.Namespaces.Instances_listV2", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about all namespaces in this vCenter server.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.SummaryV2" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Create a namespace object on a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespace_management.supervisor.Supervisor` referenced by the property *Vcenter.Namespaces.Instances.CreateSpecV2.supervisor* requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Instances_createV2", + "requestBody": { + "description": "The specification for setting up the namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.CreateSpecV2" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a namespace with the same name exists in vCenter server.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors or if an invalid name is specified.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the associated Supervisor is being disabled or if the associated Supervisor is being restored from a backup. When a Supervisor is restored, there's a window of time during which the restored Supervisor's state is being synchronized back to vCenter. During that time, namespace creation is not allowed.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor is not enabled for Namespaces, or if the networks field is set when the Supervisor hosting the namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider, or if the Supervisor does not support customizable VM classes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the Supervisor is not registered on this vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/instances/{namespace}": { + "get": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Returns information about a specific namespace on a single vSphere cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.Instances_get", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if namespace could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the desired state of the specified namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Set a new configuration on the namespace object. The specified configuration is applied in entirety and will replace the current configuration fully.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Instances_set", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "New specification for the namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace is marked for deletion or if the associated Supervisor cluster is being disabled or if the associated Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, namespace configuration modifications are not allowed.\n\n***Vapi.Std.Errors.Unsupported*** if customizable VM classes are not supported for this Supervisor cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if namespace with the name namespace could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Delete the namespace object in the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Instances_delete", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the associated Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, namespace deletion is not allowed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified namespace could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Update the namespace object. The specified configuration is applied partially and missing or `null` fields in spec will leave those parts of configuration as-is.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Instances_update", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contain any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace is marked for deletion or if the associated Supervisor cluster is being disabled or if the associated Supervisor cluster is being restored from a backup. When a Supervisor cluster is restored, there's a window of time during which the restored Supervisor cluster's state is being synchronized back to vCenter. During that time, namespace configuration modifications are not allowed.\n\n***Vapi.Std.Errors.Unsupported*** if customizable VM classes are not supported for this Supervisor cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege or the namespace identifier begins with \"vmware-system\" prefix.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if namespace with the name namespace could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/instances/v2/{namespace}": { + "get": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Returns information about a specific namespace on a Supervisor.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.Instances_getV2", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if namespace could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the desired state of the specified namespace on a Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.InfoV2" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/instances/{namespace}/registervm": { + "post": { + "tags": [ + "Vcenter.Namespaces.Instances" + ], + "description": "Register an existing virtual machine as VM Service managed VM. \n\nThis API reads data stored in a VM's ExtraConfig to create a Kubernetes resource that may be used to lifecycle manage the VM. This process may also result in the creation of a Secret or ConfigMap resource for the VM's bootstrap data. Finally, a PersistentVolumeClaim resource may be created for each of the first-class disks attached to the VM. \n\nThis API will not create network resources if they do not already exist in the Supervisor. \n\nAdditionally, after a restore operation by a VADP based data protection vendor, or a failover/failback by a disaster recovery solution, this API can be invoked to re-sync the state of the Kubernetes resources on Supervisor with the configuration of the restored VM. Typically, this involves a new volume (backed by a PersistentVolumeClaim) being created for each of the restored disks of a VM. Finally, the VirtualMachine custom resource on Supervisor is updated with the configuration from the restored virtual machine and the new volume references. \n\nThis API can also be invoked after a subset of a VM Service virtual machine's virtual disks are directly restored from a backup vendor. In which case, the API detects which disks have been restored and creates new volumes (backed by a PersistentVolumeClaim) for each restored disk. Finally, the VirtualMachine custom resource on Supervisor is updated with the new volume references. \n\nThis API triggers a non-cancellable task and returns its identifier which can be queried by calling the cis Tasks get operation. The task is retained as per the default retention rules configured in vCenter. \n\nThis is a non-idempotent API that creates custom resources on the Supervisor as a side effect. If the API returns an error VI admin might need to manually address them before attempting registration again.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Instances_registerVM", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for registering the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.RegisterVMSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the virtual machine or the network configuration override in the spec is invalid.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support registering a virtual machine as VM Service managed VM.\n\n***Vapi.Std.Errors.AlreadyInDesiredState*** if the Supervisor only supports registering new virtual machines and the requested virtual machine already exists on Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if namespace with the name namespace or virtual machine with the spec could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The task identifier for the register operation.\n\nThe response will be an identifier for the resource type: `com.vmware.cis.task`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/instances/{namespace}/zones/{zone}": { + "delete": { + "tags": [ + "Vcenter.Namespaces.Instances.Zones" + ], + "description": "Removes the zone from a vSphere namespace. \n\n By default, zones will be marked for deletion. When zones are marked, new workloads will not be permitted to be scheduled on the zone, and existing workloads will not be permitted to restart. The users will need to remove their workloads from the zone. Once drained of all workloads, the zone deletion from the namespace will complete automatically. This gives the user the opportunity to gracefully stop their workloads and reschedule them on other available zones in the namespace.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Configure`. \n", + "operationId": "Vcenter.Namespaces.Instances.Zones_delete", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "zone", + "in": "path", + "description": "Identifier for the zone to be removed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Configure privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the ID namespace or zone could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "for any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/{namespace}/management-services/access-grants": { + "get": { + "tags": [ + "Vcenter.Namespaces.ManagementServices.AccessGrants" + ], + "description": "Returns the list of summaries related to Access Grants in the given Namespace.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.ManagementServices.AccessGrants_list", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier of the Namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "management_services", + "in": "query", + "description": "Identifiers of Management Services.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace or its Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor associated with the namespace doesn't support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Namespace could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of summaries related to Access Grants.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Namespaces.ManagementServices.AccessGrants" + ], + "description": "Creates an Access Grant in the given namespace.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `ManagementServiceAccessGrants.Configure`. \n", + "operationId": "Vcenter.Namespaces.ManagementServices.AccessGrants_create", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier of the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification of the Access Grant.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.AlreadyExists*** if an Access Grant ID defined in spec already exists in the namespace.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace or its Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor associated with the namespace doesn't support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the ManagementServiceAccesses.Configure privilege on the specified namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the namespace with the given ID could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/{namespace}/management-services/access-grants/{accessGrant}": { + "get": { + "tags": [ + "Vcenter.Namespaces.ManagementServices.AccessGrants" + ], + "description": "Returns the Vcenter.Namespaces.ManagementServices.AccessGrants.Info schema of an existing Access Grant.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.ManagementServices.AccessGrants_get", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier of the Namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "accessGrant", + "in": "path", + "description": "Identifier of the Access Grant.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.management_services.AccessGrant`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace or its Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor associated with the namespace doesn't support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the namespace or Access Grant could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info of the Access Grant.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Namespaces.ManagementServices.AccessGrants" + ], + "description": "Deletes the given Access Grant from the given namespace.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `ManagementServiceAccessGrants.Configure`. \n", + "operationId": "Vcenter.Namespaces.ManagementServices.AccessGrants_delete", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier of the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "accessGrant", + "in": "path", + "description": "Identifier of the Access Grant.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.management_services.AccessGrant`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace or its Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor associated with the namespace doesn't support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the ManagementServiceAccesses.Configure privilege on the specified namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the namespace or Access Grant could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Namespaces.ManagementServices.AccessGrants" + ], + "description": "Updates an Access Grant in the given namespace.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `ManagementServiceAccessGrants.Configure`. \n", + "operationId": "Vcenter.Namespaces.ManagementServices.AccessGrants_update", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier of the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "accessGrant", + "in": "path", + "description": "Identifier of the Access Grant.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.management_services.AccessGrant`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Update specification of the Access Grant.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if spec contains any errors.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the namespace or its Supervisor is being disabled.\n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor associated with the namespace doesn't support Management Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the ManagementServiceAccesses.Configure privilege on the specified namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the supervisor with the given ID could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/{namespace}/mobility/virtualmachines/imports": { + "post": { + "tags": [ + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports" + ], + "description": "Creates a new Import based on the specifications. \n\n This API supports importing a single VM specified in the *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CreateSpec* into the target namespace. This will result in the VM becoming a VM Service managed VM. If the VM has First Class Disks attached, those First Class Disks will be registered to the Supervisor as PersistentVolumeClaim resources attached to the VM. \n\n This API triggers a cancellable task and returns its identifier. Use this identifier to query basic task information by calling the Tasks.get operation, or to query import operation-specific information through the *GET /vcenter/namespaces/{namespace}/mobility/virtualmachines/imports/{task}* task. The task is retained as per the default retention rules configured in vCenter. \n\n This is a non-idempotent API that creates custom resources on the Supervisor as a side effect. If the API returns an error, manually address them before attempting import again. \n\n After the import to the Supervisor, power cycles are required to perform guest customization to update the network configuration to restore network connectivity.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.Edit`. \n - The resource `VirtualMachine` referenced by the property *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CreateSpec.vm* requires `VirtualMachine.Supervisor.Transfer`. \n", + "operationId": "Vcenter.Namespaces.Mobility.Virtualmachines.Imports_create", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the Import.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the arguments are invalid. For example: \n - If *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CustomizationSysprepUserData.computer_name* does not conform to requirements.\n - If *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CreateSpec.storage_policy* needs to be specified.\n \n\n***Vapi.Std.Errors.Unsupported*** if the Supervisor does not support importing VM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have Namespaces.Edit privilege on the target Namespace and VirtualMachine.Supervisor.Transfer privilege on the VM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the specified resources (such as importing VM, target namespace, target storage, or target network) cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the target namespace does not have sufficient resources for the importing VM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The task identifier for the import operation.\n\nThe response will be an identifier for the resource type: `com.vmware.cis.task`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/{namespace}/mobility/virtualmachines/imports/{task}": { + "get": { + "tags": [ + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports" + ], + "description": "Retrieves information about a specific import operation, including its associated task info.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `Namespaces.View`. \n", + "operationId": "Vcenter.Namespaces.Mobility.Virtualmachines.Imports_get", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "task", + "in": "path", + "description": "Task identifier for the Import.\n\nThe parameter must be an identifier for the resource type: `com.vmware.cis.task`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege and Namespaces.View privilege on the target Namespace.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the operation does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with the Supervisor.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces/{namespace}/networks/nsx/subnets": { + "get": { + "tags": [ + "Vcenter.Namespaces.Networks.Nsx.Subnets" + ], + "description": "Returns NSX Subnets and SubnetSets entities related to a specific namespace.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `com.vmware.vcenter.namespaces.Instance` referenced by the parameter namespace requires `System.Read`. \n", + "operationId": "Vcenter.Namespaces.Networks.Nsx.Subnets_list", + "parameters": [ + { + "name": "namespace", + "in": "path", + "description": "Identifier for the Namespace.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if namespace could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of entities, with the length of the list limited at 1000.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.Subnets.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/namespaces-user/namespaces": { + "get": { + "tags": [ + "Vcenter.Namespaces.User.Instances" + ], + "description": "Returns namespaces matching the *Vcenter.Namespaces.User.Instances.FilterSpec*.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Anonymous`. \n", + "operationId": "Vcenter.Namespaces.User.Instances_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching principals for which namespaces should be returned.\n\nThis parameter was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the behavior is equivalent to a FilterSpec with all properties missing or `null`, and this operation will return the namespaces that user making the call is authorized to access.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Namespaces.User.Instances.FilterSpec" + } + }, + { + "name": "groups", + "in": "query", + "description": "List of group names.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf set, only return namespaces that are associated with the given group(s). If missing or `null`, this filter is not applied.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user does not have Namespaces.ListAccess privilege to perform this operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of Namespace identifiers together with the API endpoint for each namespace.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.User.Instances.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/network/projects": { + "get": { + "tags": [ + "Vcenter.Network.Projects" + ], + "description": "Returns information about projects in vCenter matching the *Vcenter.Network.Projects.FilterSpec*.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Network.Projects_list", + "parameters": [ + { + "name": "ids", + "in": "query", + "description": "Identifiers that projects must have to match the filter (see *Vcenter.Network.Projects.ProjectInfo.id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, projects with any ID match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.network.project`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.network.project`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that projects must have to match the filter (see *Vcenter.Network.Projects.ProjectInfo.name*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, projects with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "external_ids", + "in": "query", + "description": "External identifiers that projects must have to match the filter (see *Vcenter.Network.Projects.ProjectInfo.external_id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, projects with any external identifier match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the projects matching the *Vcenter.Network.Projects.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/network/projects/{project}": { + "get": { + "tags": [ + "Vcenter.Network.Projects" + ], + "description": "Returns information about a certain project in vCenter matching project.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Network.Projects_get", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the project.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.project`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if there is no project associated with project.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about a certain project matching project.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/network/projects/{project}/vpcs": { + "get": { + "tags": [ + "Vcenter.Network.Projects.Vpcs" + ], + "description": "Returns information about VPCs in vCenter matching the *Vcenter.Network.Projects.Vpcs.FilterSpec*.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Network.Projects.Vpcs_list", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the project to which the VPC belongs.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.vpc`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ids", + "in": "query", + "description": "Identifiers that VPC must have to match the filter (see *Vcenter.Network.Projects.Vpcs.VpcInfo.id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, VPC with any ID match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.network.vpc`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.network.vpc`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that VPC must have to match the filter (see *Vcenter.Network.Projects.Vpcs.VpcInfo.name*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, VPC with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "external_ids", + "in": "query", + "description": "External identifiers that VPC must have to match the filter (see *Vcenter.Network.Projects.Vpcs.VpcInfo.external_id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, VPC with any external identifier match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the VPC matching the *Vcenter.Network.Projects.Vpcs.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/network/projects/{project}/vpcs/{vpc}": { + "get": { + "tags": [ + "Vcenter.Network.Projects.Vpcs" + ], + "description": "Returns information about a certain VPC in vCenter\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Network.Projects.Vpcs_get", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the project to which the VPC belongs.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.vpc`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "vpc", + "in": "path", + "description": "Identifier of the VPC.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.vpc`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no matching VPC found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about this certain VPC matching project and vpc.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/network/projects/{project}/vpcs/{vpc}/subnets": { + "get": { + "tags": [ + "Vcenter.Network.Projects.Vpcs.Subnets" + ], + "description": "Returns information about subnets in vCenter matching the *Vcenter.Network.Projects.Vpcs.Subnets.FilterSpec*.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Network.Projects.Vpcs.Subnets_list", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the project to which the subnet belongs.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.subnet`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "vpc", + "in": "path", + "description": "Identifier of the VPC to which the subnet belongs.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.subnet`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ids", + "in": "query", + "description": "Identifiers that subnet must have to match the filter (see *Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo.id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, subnets with any ID match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.network.subnet`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.network.subnet`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that subnet must have to match the filter (see *Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo.name*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, subnets with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "external_ids", + "in": "query", + "description": "External identifiers that subnet must have to match the filter (see *Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo.external_id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, subnets with any external identifier match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the subnets matching the *Vcenter.Network.Projects.Vpcs.Subnets.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.Subnets.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/network/projects/{project}/vpcs/{vpc}/subnets/{subnet}": { + "get": { + "tags": [ + "Vcenter.Network.Projects.Vpcs.Subnets" + ], + "description": "Returns information about a certain subnet in vCenter\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Network.Projects.Vpcs.Subnets_get", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Identifier of the project to which the subnet belongs.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.subnet`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "vpc", + "in": "path", + "description": "Identifier of the VPC to which the subnet belongs.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.subnet`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "subnet", + "in": "path", + "description": "Identifier of the subnet.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.network.subnet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if no matching subnet found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about this certain subnet matching project, vpc and subnet.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.Subnets.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/ovf/export-flag": { + "get": { + "tags": [ + "Vcenter.Ovf.ExportFlag" + ], + "description": "Returns information about the supported export flags by the server. \n\n The supported flags are: \n PRESERVE_MAC:\n Include MAC addresses for network adapters.\n EXTRA_CONFIG:\n Include extra configuration in OVF export.\n \n\n Future server versions might support additional flags.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Ovf.ExportFlag_list", + "responses": { + "200": { + "description": "A list of supported export flags.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ExportFlag.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/ovf/import-flag": { + "get": { + "tags": [ + "Vcenter.Ovf.ImportFlag" + ], + "description": "Returns information about the import flags supported by the deployment platform. \n\n The supported flags are: \n LAX:\n Lax mode parsing of the OVF descriptor.\n \n\n Future server versions might support additional flags.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `ResourcePool` referenced by the parameter rp requires `System.Read`. \n", + "operationId": "Vcenter.Ovf.ImportFlag_list", + "parameters": [ + { + "name": "resource_pool", + "in": "query", + "description": " The identifier of resource pool target for retrieving the import flag(s).\n\nThe parameter must be an identifier for the resource type: `ResourcePool`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": " If the resource pool associated with rp does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A list of supported import flags.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ImportFlag.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy": { + "post": { + "tags": [ + "Vcenter.Ovf.LibraryItem" + ], + "description": "Deploys an OVF package stored in content library to a newly created virtual machine or virtual appliance. \n\n This operation deploys an OVF package which is stored in the library item specified by ovfLibraryItemId. It uses the deployment specification in deploymentSpec to deploy the OVF package to the location specified by target. \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter ovfLibraryItemId requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.host_id* requires `System.Read`. \n - The resource `Network` referenced by the map value of property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.network_mappings* requires `System.Read`. \n - The resource `Folder` referenced by the map value of property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.subnet_mappings* requires `System.Read`. \n - The resource `StorageProfile` referenced by the property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_profile_id* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.default_datastore_id* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.resource_pool_id* requires `VApp.Import`. \n - The resource `Folder` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.folder_id* requires `VApp.Import`. \n", + "operationId": "Vcenter.Ovf.LibraryItem_deploy", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": " Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried.\n\nIf missing or `null`, the server will create a token.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "ovfLibraryItemId", + "in": "path", + "description": " Identifier of the content library item containing the OVF package to be deployed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: deploy", + "content": { + "application/json": { + "schema": { + "required": [ + "deployment_spec", + "target" + ], + "type": "object", + "properties": { + "target": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeploymentTarget" + }, + "deployment_spec": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if target contains invalid arguments.\n\n if deploymentSpec contains invalid arguments or has properties that are inconsistent with target.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "403": { + "description": " if you do not have all of the privileges described as follows : \n - Operation execution requires VirtualMachine.Config.AddNewDisk if the OVF descriptor has a disk drive (type 17) section. \n - Operation execution requires VirtualMachine.Config.AdvancedConfig if the OVF descriptor has an ExtraConfig section. \n - Operation execution requires Extension.Register for specified resource group if the OVF descriptor has a vServiceDependency section. \n - Operation execution requires Network.Assign for target network if specified. \n - Operation execution requires Datastore.AllocateSpace for target datastore if specified. \n ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if there was an error accessing the OVF package stored in the library item specified by ovfLibraryItemId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" + } + } + } + }, + "404": { + "description": " if the library item specified by ovfLibraryItemId does not exist.\n\n if any resource specified by a property of the *Vcenter.Ovf.LibraryItem.DeploymentTarget* schema, specified by target, does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the success or failure of the operation, along with the details of the result or failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeploymentResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter": { + "post": { + "tags": [ + "Vcenter.Ovf.LibraryItem" + ], + "description": "Queries an OVF package stored in content library to retrieve information to use when deploying the package. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*. \n\n This operation retrieves information from the descriptor of the OVF package stored in the library item specified by ovfLibraryItemId. The information returned by the operation can be used to populate the deployment specification (see *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec* when deploying the OVF package to the deployment target specified by target. \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter ovfLibraryItemId requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.resource_pool_id* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.host_id* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.folder_id* requires `System.Read`. \n", + "operationId": "Vcenter.Ovf.LibraryItem_filter", + "parameters": [ + { + "name": "ovfLibraryItemId", + "in": "path", + "description": " Identifier of the content library item containing the OVF package to query.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: filter", + "content": { + "application/json": { + "schema": { + "required": [ + "target" + ], + "type": "object", + "properties": { + "target": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeploymentTarget" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": " if target contains invalid arguments.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "500": { + "description": " if there was an error accessing the OVF package at the specified ovfLibraryItemId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" + } + } + } + }, + "404": { + "description": " if the library item specified by ovfLibraryItemId does not exist.\n\n if any resource specified by a property of the *Vcenter.Ovf.LibraryItem.DeploymentTarget* schema, specified by target, does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information that can be used to populate the deployment specification (see *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec*) when deploying the OVF package to the deployment target specified by target.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.OvfSummary" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/ovf/library-item": { + "post": { + "tags": [ + "Vcenter.Ovf.LibraryItem" + ], + "description": "Creates a library item in content library from a virtual machine or virtual appliance. \n\n This operation creates a library item in content library whose content is an OVF package derived from a source virtual machine or virtual appliance, using the supplied create specification. The OVF package may be stored as in a newly created library item or in an in an existing library item. For an existing library item whose content is updated by this operation, the original content is overwritten. Meta data such as name and description is not updated for the exisitng library item. \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `VirtualMachine` or `VirtualApp` referenced by the property *Vcenter.Ovf.LibraryItem.DeployableIdentity.id* requires `VApp.Export`. \n - The resource `com.vmware.content.Library` referenced by the property *Vcenter.Ovf.LibraryItem.CreateTarget.library_id* requires `ContentLibrary.AddLibraryItem`. \n - The resource `com.vmware.content.library.Item` referenced by the property *Vcenter.Ovf.LibraryItem.CreateTarget.library_item_id* requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the property *Vcenter.Ovf.LibraryItem.CreateSpec.library_item_source_id* requires `System.Read`. \n", + "operationId": "Vcenter.Ovf.LibraryItem_create", + "parameters": [ + { + "name": "Client-Token", + "in": "header", + "description": " Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried.\n\nIf missing or `null`, the server will create a token.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: create", + "content": { + "application/json": { + "schema": { + "required": [ + "create_spec", + "source", + "target" + ], + "type": "object", + "properties": { + "source": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeployableIdentity" + }, + "target": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.CreateTarget" + }, + "create_spec": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.CreateSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if createSpec contains invalid arguments.\n- if source describes an unexpected resource type.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the operation cannot be performed because of the specified virtual machine or virtual appliance's current state. For example, if the virtual machine configuration information is not available, or if the virtual appliance is running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if there was an error accessing a file from the source virtual machine or virtual appliance.\n\n***Vapi.Std.Errors.ResourceBusy*** if the specified virtual machine or virtual appliance is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the virtual machine or virtual appliance specified by source does not exist.\n\n if the library or library item specified by target does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "201": { + "description": "Information about the success or failure of the operation, along with the details of the result or failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.CreateResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/phm/about": { + "get": { + "tags": [ + "Vcenter.Phm.About" + ], + "description": "Retrieves Proactive Hardware Management(PHM) about information including product and API version.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Phm.About_get", + "responses": { + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Proactive Hardware Management about information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.About.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/phm/hardware-support-managers": { + "get": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers" + ], + "description": "Get Vcenter.Phm.HardwareSupportManagers.ListResult schema, the list of registered HSM keys.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers_list", + "responses": { + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Vcenter.Phm.HardwareSupportManagers.ListResult contains all registered HSM keys.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers" + ], + "description": "Register an HSM with PHM.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Global.VCServer`. \n - The resource `com.vmware.vcenter.phm.HardwareSupportManager` referenced by the property *Vcenter.Phm.HardwareSupportManagers.CreateSpec.key* requires `Global.VCServer`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers_create", + "requestBody": { + "description": "Registration creation spec", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if PHM fails to process input spec.\n\n***Vapi.Std.Errors.AlreadyExists*** if the HSM is already registered.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if PHM service is not able to handle request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/phm/hardware-support-managers/{key}": { + "get": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers" + ], + "description": "Retrieve registration information for a specified HSM.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.phm.HardwareSupportManager` referenced by the parameter key requires `Global.VCServer`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers_get", + "parameters": [ + { + "name": "key", + "in": "path", + "description": "identifier of a hardware support manager\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if specified key cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Registration information for a specified HSM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers" + ], + "description": "Set an existing HSM registration with PHM.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Global.VCServer`. \n - The resource `com.vmware.vcenter.phm.HardwareSupportManager` referenced by the parameter key requires `Global.VCServer`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers_set", + "parameters": [ + { + "name": "key", + "in": "path", + "description": "HSM key for the HSM to be set\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Registration update spec", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if PHM fails to process input spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if specified HSM key cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if PHM service is not able to handle request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers" + ], + "description": "Unregister an existing HSM with PHM.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Global.VCServer`. \n - The resource `com.vmware.vcenter.phm.HardwareSupportManager` referenced by the parameter key requires `Global.VCServer`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers_delete", + "parameters": [ + { + "name": "key", + "in": "path", + "description": "HSM key for the HSM to be updated\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if specified HSM key cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if PHM service is not able to handle request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/phm/hardware-support-managers/{key}/managed-hosts": { + "get": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers.ManagedHosts" + ], + "description": "Get Vcenter.Phm.HardwareSupportManagers.ManagedHosts.ListResult schema, the list of managed hosts of a specified HSM.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.phm.HardwareSupportManager` referenced by the parameter key requires `Global.VCServer`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers.ManagedHosts_list", + "parameters": [ + { + "name": "key", + "in": "path", + "description": "HSM key of the targeted hardware support manager\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if specified key does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Vcenter.Phm.HardwareSupportManagers.ManagedHosts.ListResult contains managed hosts of a specified HSM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.ManagedHosts.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers.ManagedHosts" + ], + "description": "Modify the list of HSM managed hosts stored at PHM side. The managed hosts are the resources created and owned by HSM. Whenever there is any change in the managed host list, HSM uses this API to inform PHM.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Global.VCServer`. \n - The resource `HostSystem` referenced by the property *Vcenter.Phm.HardwareSupportManagers.ManagedHosts.UpdateSpec.hosts_to_add* requires `System.View`. \n - The resource `com.vmware.vcenter.phm.HardwareSupportManager` referenced by the parameter key requires `Global.VCServer`. \n - The resource `HostSystem` referenced by the property *Vcenter.Phm.HardwareSupportManagers.ManagedHosts.UpdateSpec.hosts_to_remove* requires `Global.VCServer`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers.ManagedHosts_update", + "parameters": [ + { + "name": "key", + "in": "path", + "description": "HSM key of the targeted hardware support manager\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "update spec on the change of managed host list", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.ManagedHosts.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the specified spec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified key does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if PHM service is not able to handle request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/phm/hardware-support-managers/{key}/resource-bundle": { + "get": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers.ResourceBundle" + ], + "description": "Get Vcenter.Phm.HardwareSupportManagers.ResourceBundle.Info schema, the resource bundle of a specified HSM.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.vcenter.phm.HardwareSupportManager` referenced by the parameter key requires `Global.VCServer`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers.ResourceBundle_get", + "parameters": [ + { + "name": "key", + "in": "path", + "description": "HSM key of the targeted hardware support manager\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if specified key does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Vcenter.Phm.HardwareSupportManagers.ResourceBundle.Info contains resource bundle of a specified HSM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.ResourceBundle.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Phm.HardwareSupportManagers.ResourceBundle" + ], + "description": "Modify the vendor resource bundle of an HSM maintained at PHM side. A vendor's resource bundle is owned and provided by the vendor's HSM. Whenever there is any change in the resource bundle, HSM uses this API to inform PHM about the change.\n\nThis operation was added in __vSphere API 8.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `Global.VCServer`. \n - The resource `com.vmware.vcenter.phm.HardwareSupportManager` referenced by the parameter key requires `Global.VCServer`. \n", + "operationId": "Vcenter.Phm.HardwareSupportManagers.ResourceBundle_update", + "parameters": [ + { + "name": "key", + "in": "path", + "description": "HSM key of the targeted hardware support manager\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "update spec on the change of resource bundle", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.ResourceBundle.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the specified spec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if user has not provided adequate credentials.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if PHM service hits an internal error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the specified key does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/services/{service}?action=start": { + "post": { + "tags": [ + "Vcenter.Services.Service" + ], + "description": "Starts a service\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Services.Service_start", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service to start\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.services.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the operation is denied in the current state of the service. If a stop or restart operation is in progress, the start operation will not be allowed.\n\nif start operation is issued on a service which has startup type *Vcenter.Services.Service.StartupType.DISABLED*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.TimedOut*** if any timeout occurs during the execution of the start operation. Timeout occurs when the service takes longer than StartTimeout to start.\n\n***Vapi.Std.Errors.Error*** if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/services/{service}?action=stop": { + "post": { + "tags": [ + "Vcenter.Services.Service" + ], + "description": "Stops a service\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Services.Service_stop", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service to stop\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.services.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the operation is denied in the current state of the service. If a stop operation is in progress, issuing another stop operation will lead to this error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/services/{service}?action=restart": { + "post": { + "tags": [ + "Vcenter.Services.Service" + ], + "description": "Restarts a service\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Services.Service_restart", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service to restart\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.services.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the operation is denied in the current state of the service. If a stop or start operation is in progress, issuing a restart operation will lead to this error.\n\nif a restart operation is issued on a service which has startup type *Vcenter.Services.Service.StartupType.DISABLED*", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.TimedOut*** if any timeout occurs during the execution of the restart operation.\n\n***Vapi.Std.Errors.Error*** if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/services/{service}": { + "get": { + "tags": [ + "Vcenter.Services.Service" + ], + "description": "Returns the state of a service.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Services.Service_get", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service whose state is being queried.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.services.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Service Info structure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Services.Service.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Services.Service" + ], + "description": "Updates the properties of a service.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Services.Service_update", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "identifier of the service whose properties are being updated.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.services.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Service Update specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Services.Service.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the operation is denied in the current state of the service. If a start, stop or restart operation is in progress, update operation will fail with this error.\n\nif a request to set the *Vcenter.Services.Service.UpdateSpec.startup_type* property of spec to *Vcenter.Services.Service.StartupType.DISABLED* comes in for a service that is not in *Vcenter.Services.Service.State.STOPPED* state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "500": { + "description": "if any other error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the service associated with service does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/services": { + "get": { + "tags": [ + "Vcenter.Services.Service" + ], + "description": "Lists details of vCenter services.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Services.Service_listDetails", + "responses": { + "500": { + "description": "if any error occurs during the execution of the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Map of service identifiers to service Info structures.\n\nThe key in the response map will be an identifier for the resource type: `com.vmware.vcenter.services.Service`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Services.Service.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies": { + "get": { + "tags": [ + "Vcenter.Storage.Policies" + ], + "description": "Returns information about at most 1024 visible (subject to permission checks) storage policies available in vCenter. These storage policies can be used for provisioning virtual machines or disks.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies_list", + "parameters": [ + { + "name": "policies", + "in": "query", + "description": "Identifiers of storage policies that can match the filter.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, storage policies with any identifiers match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.StoragePolicy`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Storage.Policies.FilterSpec* contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1024 storage policies exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used Information about the storage policies.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies/{policy}?action=check-compatibility": { + "post": { + "tags": [ + "Vcenter.Storage.Policies" + ], + "description": "Returns datastore compatibility summary about a specific storage policy.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies_checkCompatibility", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "The storage policy identifier\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: checkCompatibility", + "content": { + "application/json": { + "schema": { + "required": [ + "datastores" + ], + "type": "object", + "properties": { + "datastores": { + "uniqueItems": true, + "type": "array", + "description": "Datastores used to check compatibility against a storage policy. The number of datastores is limited to 1024.\n\nThe parameter must contain identifiers for the resource type: `Datastore`.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the storage policy specified does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if input more than 1024 datastores.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "datastore compatibility summary about a specific storage policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.CompatibilityInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies/entities/compliance": { + "get": { + "tags": [ + "Vcenter.Storage.Policies.Compliance" + ], + "description": "Returns compliance information about entities matching the filter *Vcenter.Storage.Policies.Compliance.FilterSpec*. Entities without storage policy association are not returned.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies.Compliance_list", + "parameters": [ + { + "name": "status", + "in": "query", + "description": "Compliance Status that a virtual machine must have to match the filter.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the entity is edited and not applied. The compliance status will remain out of date until the latest policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Storage.Policies.Compliance.FilterSpec.status* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "compliance information about entities matching the filter *Vcenter.Storage.Policies.Compliance.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.Compliance.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies/{policy}/vm": { + "get": { + "tags": [ + "Vcenter.Storage.Policies.VM" + ], + "description": "Returns information about the virtual machines and/or their virtual disks that are associated with the given storage policy.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies.VM_list", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "storage policy identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.UnableToAllocateResource*** if more than 1000 virtual machines are associated with the specified policy.\n\n***Vapi.Std.Errors.Error*** if the backend server encounters some an error while processing the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no policy associated with policy in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service necessary to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the virtual machines and/or their virtual disks that are associated with the given storage policy.\n\nThe key in the response map will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.VM.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies/compliance/vm": { + "get": { + "tags": [ + "Vcenter.Storage.Policies.Compliance.VM" + ], + "description": "Returns compliance information about at most 1000 virtual machines matching the filter *Vcenter.Storage.Policies.Compliance.VM.FilterSpec*. If there are no virtual machines matching the *Vcenter.Storage.Policies.Compliance.VM.FilterSpec* an empty List is returned. Virtual machines without storage policy association are not returned.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies.Compliance.VM_list", + "parameters": [ + { + "name": "status", + "in": "query", + "description": "Compliance Status that a virtual machine must have to match the filter. Atleast one status must be specified.\n\nPossible values:\n - `COMPLIANT`: The virtual machine or virtual disk is in compliance.\n - `NON_COMPLIANT`: The virtual machine or virtual disk is in not in compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the virtual machine or virtual disk is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this virtual machine or disk because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the virtual machine or disk is edited and not applied. The compliance status will remain out of date until the latest policy is applied.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.VM.Status*.\n\nThis property was added in __vSphere API 6.7__.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "vms", + "in": "query", + "description": "Identifiers of virtual machines that can match the filter\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, virtual machines with any identifier matches the filter\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the *Vcenter.Storage.Policies.Compliance.VM.FilterSpec.status* property contains a value that is not supported by the server.\n\n***Vapi.Std.Errors.Unsupported*** if the API is invoked against vCenter Server version is less than 6.5", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** If more than 1000 results match the *Vcenter.Storage.Policies.Compliance.VM.FilterSpec*", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "compliance information about virtual machines matching the filter *Vcenter.Storage.Policies.Compliance.VM.FilterSpec*.\n\nThe key in the response map will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.Compliance.VM.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/system-config/deployment-type": { + "get": { + "tags": [ + "Vcenter.SystemConfig.DeploymentType" + ], + "description": "Get the type of the vCenter appliance.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.SystemConfig.DeploymentType_get", + "responses": { + "400": { + "description": "if appliance is not in CONFIGURED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "The type of the vCenter appliance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.SystemConfig.DeploymentType.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.SystemConfig.DeploymentType" + ], + "description": "Reconfigure the type of the vCenter appliance.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.SystemConfig.DeploymentType_reconfigure", + "requestBody": { + "description": "ReconfigureSpec to set the appliance type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.SystemConfig.DeploymentType.ReconfigureSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported*** if the appliance is in CONFIGURED state and if not changing the type from VCSA_EMBEDDED to VCSA_EXTERNAL.\n\n***Vapi.Std.Errors.InvalidArgument*** if passed arguments are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is not in INITIALIZED or CONFIGURED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif external PSC credentials are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/system-config/psc-registration": { + "get": { + "tags": [ + "Vcenter.SystemConfig.PscRegistration" + ], + "description": "Get information of the PSC that this appliance is registered with.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.SystemConfig.PscRegistration_get", + "responses": { + "400": { + "description": "if the appliance is in NOT_INITIALIZED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "200": { + "description": "Info structure containing information about the external PSC node this appliance is registered with.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.SystemConfig.PscRegistration.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/system-config/psc-registration?action=repoint": { + "post": { + "tags": [ + "Vcenter.SystemConfig.PscRegistration" + ], + "description": "Repoint this vCenter Server appliance to a different external PSC.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.SystemConfig.PscRegistration_repoint", + "requestBody": { + "description": "RemotePscSpec structure containing information about the external PSC node to repoint this vCenter Server appliance to.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Deployment.RemotePscSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if the passed external PSC is not a replicating with the current PSC this appliance is registered with.\n- if passed arguments are invalid.\n\n***Vapi.Std.Errors.Unsupported*** if the current appliance is not of the type VCSA_EXTERNAL.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the appliance is NOT in CONFIGURED state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.\n\nif the passed external PSC credentials is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/tagging/associations": { + "get": { + "tags": [ + "Vcenter.Tagging.Associations" + ], + "description": "Returns tag associations that match the specified iteration spec.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Tagging.Associations_list", + "parameters": [ + { + "name": "iterate", + "in": "query", + "description": "The specification of a page to be retrieved.\n\nIf missing or `null`, the first page will be retrieved.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.IterationSpec" + } + } + ], + "responses": { + "400": { + "description": "if *Vcenter.Tagging.Associations.IterationSpec.marker* is not a marker returned from an earlier invocation of this {@term operation).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "A page of the tag associations matching the iteration spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Tagging.Associations" + ], + "description": "Updates the association of an object to multiple vSphere tags based on the *Vcenter.Tagging.Associations.TagSpec.operation* specified. The *Vcenter.Tagging.Associations.TagSpec.operation* on tags will be atomic. Partial completion is not allowed; in case of failure, the partially applied operation will be rolled back. If there exist any *Cis.Tagging.Tag* or *Vcenter.Tagging.Associations.TagCategoryNameInfo* in *Vcenter.Tagging.Associations.TagSpec* which are not valid, the partially applied operation will be rolled back. If one or more *Vcenter.Tagging.Associations.TagSpec* in *Vcenter.Tagging.Associations.UpdateSpec.tag_spec_list* is invalid, the partially applied operation will be rolled back and invalid entries will be returned in *Vcenter.Tagging.Associations.UpdateResult.errors* with *Vcenter.Tagging.Associations.UpdateResult.success* set to `false`.\n\nThis operation was added in __vSphere API 9.1.0.0__.", + "operationId": "Vcenter.Tagging.Associations_update", + "requestBody": { + "description": "Specification of the tags to be associated with a resource object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the *Vcenter.Tagging.Associations.UpdateSpec* has empty list of *Vcenter.Tagging.Associations.TagSpec* or invalid/empty *Vcenter.Tagging.Associations.TagSpec.operation*, *Vcenter.Tagging.Associations.TagSpec.tag_id* and *Vcenter.Tagging.Associations.TagSpec.tag_category_name_info*", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have `InventoryService.Tagging.ObjectAttachable` on the *Vcenter.Tagging.Associations.UpdateSpec.object* and `InventoryService.Tagging.AttachTag` on the tags specified in the *Vcenter.Tagging.Associations.TagSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if there is generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the resource object is not registered on the vCenter Server", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Batch status", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.UpdateResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/tagging/categories": { + "get": { + "tags": [ + "Vcenter.Tagging.Categories" + ], + "description": "Returns categories that match the specified filter and iteration.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Tagging.Categories_list", + "parameters": [ + { + "name": "names", + "in": "query", + "description": "Categories need to have a name equal to one of the strings in this set to match the filter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then categories with any name match this filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "iterate", + "in": "query", + "description": "The specification of a page to be retrieved.\n\nIf missing or `null`, the first page will be retrieved.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Tagging.Categories.IterationSpec" + } + } + ], + "responses": { + "400": { + "description": "If marker and filter are supplied together.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If the request cannot be completed. The message in the error will provide more details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the supplied marker value is not valid. For example the marker value is too old or not returned from prior call to the API.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A page of the categories matching the *Vcenter.Tagging.Categories.FilterSpec* and *Vcenter.Tagging.Categories.IterationSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Tagging.Categories.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/tagging/tags": { + "get": { + "tags": [ + "Vcenter.Tagging.Tags" + ], + "description": "Returns tags that match the specified filter and iteration.\n\nThis operation was added in __vSphere API 9.0.0.0__.", + "operationId": "Vcenter.Tagging.Tags_list", + "parameters": [ + { + "name": "names", + "in": "query", + "description": "Tags need to have a name equal to one of the strings in this set to match the filter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then tags with any name match this filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "iterate", + "in": "query", + "description": "The specification of a page to be retrieved.\n\nIf missing or `null`, the first page will be retrieved.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Tagging.Tags.IterationSpec" + } + } + ], + "responses": { + "400": { + "description": "If marker and filter are supplied together.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If the request cannot be completed. The message in the error will provide more details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the supplied marker value is not valid. For example the marker value is too old or not returned from prior call to the API.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "A page of the tags matching the *Vcenter.Tagging.Tags.FilterSpec* and *Vcenter.Tagging.Tags.IterationSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Tagging.Tags.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/topology/nodes": { + "get": { + "tags": [ + "Vcenter.Topology.Nodes" + ], + "description": "Returns information about all vCenter and Platform Services Controller nodes matching the *Vcenter.Topology.Nodes.FilterSpec*.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Topology.Nodes_list", + "parameters": [ + { + "name": "types", + "in": "query", + "description": "Types of the appliance that a vCenter and Platform Services Controller node must be to match the filter (see *Vcenter.Topology.Nodes.ApplianceType*.\n\nPossible values:\n - `VCSA_EMBEDDED`: vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nFor more information see: *Vcenter.Topology.Nodes.ApplianceType*.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null` or empty, node of any ApplianceType match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": " if the *Vcenter.Topology.Nodes.FilterSpec.types* property contains a value that is not supported.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "commonly used information for all vCenter and Platform Services Controller nodes matching the *Vcenter.Topology.Nodes.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Topology.Nodes.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/topology/nodes/{node}": { + "get": { + "tags": [ + "Vcenter.Topology.Nodes" + ], + "description": "Retrieve details for a given identifier of the vCenter or Platform Services Controller node.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Topology.Nodes_get", + "parameters": [ + { + "name": "node", + "in": "path", + "description": " Identifier of the vCenter or Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the node.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if a node doesn't exist for given node identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "vCenter or Platform Services Controller node details with replication partners and client affinity information as applicable. See *Vcenter.Topology.Nodes.Info*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Topology.Nodes.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/topology/replication-status": { + "get": { + "tags": [ + "Vcenter.Topology.ReplicationStatus" + ], + "description": "Returns the replication information of vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL (see *Vcenter.Topology.Nodes.Info.type*) matching the *Vcenter.Topology.ReplicationStatus.FilterSpec*.\n\nThis operation was added in __vSphere API 6.7.2__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Topology.ReplicationStatus_list", + "parameters": [ + { + "name": "nodes", + "in": "query", + "description": "Identifier that a vCenter and Platform Services Controller node must have to match the filter. (see *Vcenter.Topology.ReplicationStatus.Summary.node*).\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null` or empty, all vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.VCenter.name`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": " if the *Vcenter.Topology.ReplicationStatus.FilterSpec.nodes* property contains a invalid value.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": " if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "200": { + "description": "Commonly used replication information about vCenter and Platform Services Controller nodes matching the *Vcenter.Topology.ReplicationStatus.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Topology.ReplicationStatus.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nGet the result of the last Update operation which matches the cluster id.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Cluster id.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if cluster doesn't match to any ClusterComputeResource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Info* instance which contains information about the state of the cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns a list of clusters for this vCenter instance which matches the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.FilterSpec*.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.FilterSpec.cluster* requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters_list", + "parameters": [ + { + "name": "cluster", + "in": "query", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nIdentifies the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\ncluster If missing or `null` return all Trust Authority Clusters.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "state", + "in": "query", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe state of the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters*.\n\nPossible values:\n - `ENABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is enabled.\n - `DISABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is disabled.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.State*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nstate If missing or `null` return all Trust Authority Clusters.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Summary* for a *Vcenter.TrustedInfrastructure.TrustAuthorityClusters*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}?vmw-task=true": { + "patch": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUpdates the state of a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `TrustedAdmin.ManageTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Cluster id.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The specification for update of a cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if spec doesn't match to any cluster compute resource.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/principal": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.Principal" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns information about the STS used by this vCenter instance.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadStsInfo`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Principal_get", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "*Vcenter.TrustedInfrastructure.Principal.Info* a summary containing the certificates used to sign tokens and the solution user used to retrieve them.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Principal.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/attestation/services?action=query": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.Attestation.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns detailed information about all registered Attestation Service instances in this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Attestation.Services_list", + "requestBody": { + "description": "Return only services matching the specified filters.\n\nIf missing or `null` return all services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Attestation.Services.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about all registered Attestation Service instances in this vCenter.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Attestation.Services.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/attestation/services/{service}": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.Attestation.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns the detailed information about a registered Attestation Service instance in this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Attestation.Services_get", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "the Attestation Service instance unique identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if there is no registered Attestation Service instance with the specified ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the specified Attestation Service instance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Attestation.Services.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.Attestation.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemoves a registered Attestation Service instance from this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Attestation.Services_delete", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "the Attestation Service instance unique identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the Attestation Service instance is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if an error occurred while deleting the service.\n- if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if the Attestation Service instance is used by a configuration on a cluster level.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/attestation/services": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.Attestation.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRegisters a new Attestation Service instance in this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Attestation.Services_create", + "requestBody": { + "description": "The CreateSpec for the new service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Attestation.Services.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if there is already a Attestation Service instance with the same Address.\n\n***Vapi.Std.Errors.InvalidArgument*** if the CreateSpec contains invalid data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "ID of the newly registered Attestation Service instance.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/hosts/{host}/hardware/tpm": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm" + ], + "description": "Return a list of configured TPMs on a host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Host.Tpm.Read`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "a filter for the returned list.\n\nif missing or `null`, the behavior is equivalent to a *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.FilterSpec* with properties missing or `null`", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.FilterSpec" + } + }, + { + "name": "major_versions", + "in": "query", + "description": "The TPM major version number.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` or empty, the result will not be filtered by version number.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + } + ], + "responses": { + "400": { + "description": "if any argument is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if too many requests are in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A list of configured TPMs.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/hosts/{host}/hardware/tpm/{tpm}": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm" + ], + "description": "Get the TPM details on a host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Host.Tpm.Read`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tpm", + "in": "path", + "description": "the TPM identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.Tpm`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if any argument is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the TPM is not found or host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if too many requests are in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The TPM info.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/hosts/{host}/hardware/tpm/{tpm}/endorsement-keys": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys" + ], + "description": "Return a list of configured endorsement keys on a host.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Host.Tpm.Read`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys_list", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tpm", + "in": "path", + "description": "the TPM identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.Tpm`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "types", + "in": "query", + "description": "Type of the endorsement key.\n\nPossible values:\n - `RSA_2048`: The RSA 2048 bit key.\n - `ECC_NIST_P_256`: The ECC NISTP-256 bit key.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Type*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` or empty, the result will not be filtered by types.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the arguments are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the TPM device, or the host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if too many requests are in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A list of configured endorsement keys.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/hosts/{host}/hardware/tpm/{tpm}/endorsement-keys/{key}": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys" + ], + "description": "Get the TPM endorsement key details on a host. \n\n The information returned is derived from executing the TPM2_ReadPublic command on the endorsement key object handle. \n\n Trusted Platform Module Library Part 3: Commands, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 12.4 TPM2_ReadPublic\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Host.Tpm.Read`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tpm", + "in": "path", + "description": "the TPM identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.Tpm`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "key", + "in": "path", + "description": "the endorsement key identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.tpm.EndorsementKey`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the arguments are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the endorsement key, or the TPM device, or the host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if too many requests are in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The endorsement key info.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/hosts/{host}/hardware/tpm/{tpm}/endorsement-keys/{key}?action=unseal": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys" + ], + "description": "Unseal a secret that is bound to an endorsement key. \n\n Provided with duplicate key data, load the key as a child of the specified endorsement key using the TPM2_Import command and then unseal the secret data using the TPM2_Unseal command. \n\n The duplicate key must include only outer wrapping; inner wrapping is not supported. The duplicate key cannot have a complex authorization policy (e.g. including command selection, locality, etc). Only PCR policy authorization is supported at this time. \n\n Trusted Platform Module Library Part 1: Architecture, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 23.3 Duplication \n\n Trusted Platform Module Library Part 3: Commands, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 13.3 TPM2_Import \n\n Trusted Platform Module Library Part 3: Commands, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 12.7 TPM2_Unseal\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Host.Tpm.Unseal`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys_unseal", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tpm", + "in": "path", + "description": "the TPM identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.Tpm`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "key", + "in": "path", + "description": "the endorsement key identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.tpm.EndorsementKey`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the unseal spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.UnsealSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the arguments are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the endorsement key or TPM is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if too many requests are in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The unsealed secret.", + "content": { + "application/json": { + "schema": { + "type": "string", + "format": "byte" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/hosts/{host}/hardware/tpm/{tpm}/event-log": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog" + ], + "description": "Retrieves the event log associated with the TPM device.\n\nThis operation was added in __vSphere API 8.0.0.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `HostSystem` referenced by the parameter host requires `Host.Tpm.Read`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "Identifier of the host.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tpm", + "in": "path", + "description": "the TPM identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.Tpm`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the argument is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the caller is not authorized.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if event log is not found, or tpm is not found or host is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if too many requests are in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The event information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/kms/services?action=query": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.Kms.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns basic information about all registered Key Provider Service instances in this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Kms.Services_list", + "requestBody": { + "description": "Return only services matching the specified filters.\n\nIf missing or `null` return all services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Kms.Services.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Basic information about all registered Key Provider Service instances in this vCenter.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Kms.Services.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/kms/services/{service}": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.Kms.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns the detailed information about a registered Key Provider Service instance in this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Kms.Services_get", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "the Key Provider Service instance unique identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if there is no Key Provider Service instance with the specified ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if an error occurred while getting the data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the specified Key Provider Service instance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Kms.Services.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.Kms.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemoves a currently registered Key Provider Service instance from this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Kms.Services_delete", + "parameters": [ + { + "name": "service", + "in": "path", + "description": "the Key Provider Service instance unique identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the Key Provider Service instance is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if an error occurred while deleting the service.\n\n***Vapi.Std.Errors.ResourceBusy*** if the Key Provider Service instance is used by a configuration on a cluster level.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/kms/services": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.Kms.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRegisters a Key Provider Service instance in this vCenter.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n", + "operationId": "Vcenter.TrustedInfrastructure.Kms.Services_create", + "requestBody": { + "description": "The CreateSpec for the new service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Kms.Services.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if there is already a Key Provider Service instance with the same Address.\n\n***Vapi.Std.Errors.InvalidArgument*** if the CreateSpec contains invalid data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "ID of the newly registered Key Provider Service instance.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals?vmw-task=true": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nCreates a profile with the specified connection information on all hosts from a Trust Authority Cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageAttestingSSO`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals_create$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the Trust Authority Cluster to configure.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The CreateSpec specifying the connection information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if a profile for the issuer already exists.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyExists" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if there is no such cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "a unique identifier of the profile\n\nThe response will be an identifier for the resource type: `com.vmware.esx.authentication.clientprofile`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals/{profile}?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRetrieve information for a specific profile.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadAttestingSSO`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the Trust Authority Cluster on which the profile is configured.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "profile", + "in": "path", + "description": "The ID of the profile.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.authentication.clientprofile`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if there is no profile configured with that ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "information for a specific profile.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemoves the read-only policy configured on ESX for a specific principal.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageAttestingSSO`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the Trust Authority Cluster to configure.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "profile", + "in": "path", + "description": "The ID of the connection profile to modify.\n\nThe parameter must be an identifier for the resource type: `com.vmware.esx.authentication.clientprofile`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if there is no profile configured with that ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/consumer-principals?action=query&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nLists all policies configured on a specific cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadAttestingSSO`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals_list$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the Trust Authority Cluster on which the profile is configured.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "A FilterSpec specifying the profiles to be listed.\n\nIf missing or `null` return all policies.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if there is no profile configured with that ID.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "the list of profiles matching the filter for that cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/service-status?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn the Attestation service health in the given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.RetrieveTPMHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "For any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The Attestation service health status in the entire cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images?action=import-from-imgdb&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nImport ESX metadata as a new trusted base image to each host in the cluster. \n\n Import a boot_imgdb.tgz file which contains metadata that describes a trusted ESX base image. A boot_imgdb.tgz file can be downloaded from a representative host.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ConfigureHostMetadata`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages_importFromImgdb$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "ESX metadata on a cluster level.", + "content": { + "application/json": { + "schema": { + "type": "string", + "format": "byte", + "deprecated": true + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if ESX metadata for the same version has already been added.\n\n***Vapi.Std.Errors.InvalidArgument*** if the imgdb is invalid or cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The imported imgdb version identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn a list of trusted ESX base images.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.RetrieveHostMetadata`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages_list$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "query", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSearch criteria by ESX base image version numbers.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nversion if missing or `null` return all ESX version numbers.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`.", + "required": false, + "deprecated": true, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "display_name", + "in": "query", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSearch criteria by ESX base image version version numbers.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\ndisplayName if missing or `null` return all ESX display version numbers.", + "required": false, + "deprecated": true, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "health", + "in": "query", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSearch criteria by health indicator.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nhealth if missing or `null` return all health indicators.", + "required": false, + "deprecated": true, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "A list of configured trusted ESX base images.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/os/esx/base-images/{version}?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nGet the trusted ESX base version details.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.RetrieveHostMetadata`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "The ESX base image version.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the version is invalid or the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the version or cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The version info", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemove a trusted ESX base image of each ESX in the cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ConfigureHostMetadata`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "The ESX base image version.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the version is invalid or the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the version or cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn a list of configured TPM CA certificates on a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.RetrieveTPMHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates_list$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster doesn't match to any cluster in the vCenter or given name is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "A list of configured TPM CA certificates.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nAdd a new TPM CA certificate on a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ConfigureHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates_create$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The new CA certificate details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the certificate name exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if the configuration is invalid or the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if cluster doesn't match to any cluster in the vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates/{name}?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nGet the TPM CA certificate details on a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.RetrieveTPMHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "name", + "in": "path", + "description": "The CA certificate name.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the name is invalid or cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the CA certificate is not found or cluster doesn't match to any cluster in the vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "CA certificate info.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemove a TPM CA certificate on a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ConfigureHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "name", + "in": "path", + "description": "The CA certificate name.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the name is invalid or cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster doesn't match to any cluster in the vCenter or given name is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/endorsement-keys?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn a list of configured TPM endorsement keys in a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.RetrieveTPMHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys_list$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "A list of configured endorsement keys.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nAdd a new TPM endorsement key on a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ConfigureHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys_create$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The configuration.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the endorsement key name exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if the configuration is invalid or cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if cluster doesn't match to any cluster in the vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/endorsement-keys/{name}?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nGet the TPM endorsement key details on a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.RetrieveTPMHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "name", + "in": "path", + "description": "The endorsement key name.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the name is invalid or cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the endorsement key is not found or cluster doesn't match to any cluster in the vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The endorsement key info.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemove a TPM endorsement key on a cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ConfigureHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "name", + "in": "path", + "description": "The endorsement key name.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the name is invalid or cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the name is not found or cluster doesn't match to any cluster in the vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/settings?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn the TPM 2.0 protocol settings.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.RetrieveTPMHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if cluster doesn't match to any cluster in the vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The settings.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSet the TPM 2.0 protocol settings.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ConfigureHostCertificates`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The id of the cluster on which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The settings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the spec is invalid or cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if cluster doesn't match to any cluster in the vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn a list of summary of Key Providers.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers_list$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "For any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "List of providers.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nAdd a new Key Provider.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers_create$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Provider information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** If the provider already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** If the spec is invalid or cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "For any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn information about a Key Provider.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster or provider id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "For any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Provider information.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemove a Key Provider.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster or provider id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "For any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUpdate an existing Key Provider.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Provider information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the cluster or provider id is empty, or the spec is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "For any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/service-status?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn the Key Provider Service health in the given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If the cluster id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "If the cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "For any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The Key Provider Service health status in the entire cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn the existing client certificate.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If cluster or provider id are empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Client certificate, PEM.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nGenerate a new self signed client certificate. Existing client certificate is overwritten. The key server will use this certificate to validate the client connection.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate_create$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If cluster or provider id are empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUpdate the client certificate. \n\n The key server will use this certificate to validate the client connection. If a client certificate already exists, it will be replaced. \n\n An optional private key can be specified if the certificate has already been provisioned.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The update spec.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If the certificate or private key is invalid or cluster/provider id are empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/credential?vmw-task=true": { + "put": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Credential" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSet the key server credential.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Credential_set$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "KMIP KMS password or AWS access key.", + "content": { + "application/json": { + "schema": { + "type": "string", + "format": "password", + "deprecated": true + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If cluster or provider id are empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the provider or cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/current?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn the remote server certificates. \n\n Contacts the configured key servers and attempts to retrieve their certificates. These certificates might not yet be trusted. \n\n If the returned certificates are to be considered trustworthy, then it must be added to the list of trusted server certificates by adding to the certificates returned by *GET /vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/trusted* and invoking *PATCH /vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/trusted* with the updated list of certificates.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates_list$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "spec", + "in": "query", + "description": "Filter spec.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.FilterSpec* with all properties missing or `null`", + "required": false, + "deprecated": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.FilterSpec" + } + }, + { + "name": "server_names", + "in": "query", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nNames that key server must have to match the filter (see *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.Summary.server_name*).\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, key servers with any name match the filter.", + "required": false, + "deprecated": true, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "If the cluster or provider id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "For any other error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Summary of server certificates.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/peer-certs/trusted?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturn the list of trusted server certificates.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If cluster or provider id are empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Info containing server certificates, PEM.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUpdate trusted server certificate(s). \n\n The client will use these certificates to validate the server connection. The existing list of trusted certificates will be overwritten. \n\n The client will not trust the server connection until a server certificate has been set.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The update spec", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "If one or more certificates are invalid or the cluster/provider Id is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the cluster or provider is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/kms/providers/{provider}/client-certificate/csr?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Csr" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nGet existing certificate signing request (CSR) for the client certificate. \n\n The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate. \n\n\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Csr_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If cluster or provider id are empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the provider or cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "The client CSR, PEM and host ID which issued it.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Csr" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nGenerate a certificate signing request (CSR) for the client certificate. This overwrites any existing CSR. \n\n The CSR will allow the certificate to be signed by a third party. Once the CSR is signed, certificate may be added as a client certificate. \n\n Calling the API repeatedly will result in a generating a new CSR each time.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageKMSTrust`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Csr_create$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "provider", + "in": "path", + "description": "Identifier of the provider.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "If cluster or provider id are empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "If the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the provider or cluster is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "The client CSR, PEM and host ID which issued it.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-hosts/{host}/attestation/": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns the connection info about the Attestation Service running on the specified host.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `HostSystem` referenced by the parameter host requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "*Vcenter.Host* id.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if host doesn't match to any Host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if service's TLS certificate chain is not valid.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if connection to host failed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.Info* instance which contains the information necessary to connect to the Attestation Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-hosts/attestation": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns a list of the hosts running a Attestation Service matching the specified *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.FilterSpec*.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `HostSystem` referenced by the property *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.FilterSpec.hosts* requires `System.View`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.FilterSpec.clusters* requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation_list", + "parameters": [ + { + "name": "projection", + "in": "query", + "description": "The type of the returned summary - brief, normal, or full.\n\nPossible values:\n - `FULL`: The full connection information, including certificates.\n - `NORMAL`: A summary containing only the hostname, port, and the group ID which determines the Attestation Services this Attestation Service can communicate with.\n - `BRIEF`: A brief summary, containing only the hostname for the Attestation Service.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType*.\n\nIf missing or `null` a normal projection will be used.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Return details about Attestation Services matching the filter.\n\nIf missing or `null` return all registered Attestation Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if the response data will exceed the message limit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.Summary* of Attestation Services.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-hosts/{host}/kms/": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns the connection info about the Key Provider Service running on the specified host.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `HostSystem` referenced by the parameter host requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms_get", + "parameters": [ + { + "name": "host", + "in": "path", + "description": "*Vcenter.Host* id.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if host doesn't match to any Host.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if service's TLS certificate chain is not valid.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if connection to host failed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.Info* instance which contains the information necessary to connect to the Key Provider Service.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trust-authority-hosts/kms?action=query": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns a list of the hosts running a Key Provider Service matching the specified *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.FilterSpec*.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `HostSystem` referenced by the property *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.FilterSpec.hosts* requires `System.View`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.FilterSpec.clusters* requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms_list", + "parameters": [ + { + "name": "projection", + "in": "query", + "description": "The type of the returned summary - brief, normal, or full.\n\nPossible values:\n - `FULL`: The full connection information, including certificates.\n - `NORMAL`: A summary containing only the hostname, port, and the group which determines the Attestation Services this Key Provider Service can communicate with.\n - `BRIEF`: A brief summary, containing only the hostname for the Key Provider Service.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType*.\n\nIf missing or `null` a normal projection will be used.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Return details about Key Provider Services matching the filter.\n\nIf missing or `null` return all registered Key Provider Services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if the response data will exceed the message limit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.Summary* of Key Provider Services.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/services-applied-config?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns detailed information about the health of the applied Trust Authority Component configurations in the given cluster.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Detailed information about the health of the applied Trust Authority Component configurations in the given cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDelete all Trust Authority Components configuration that has been applied to the given cluster. This method has no affect on the desired state, it only removes applied Trust Authority Component configurations from any Trusted Hosts within the given cluster.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUpdate all applied Trust Authority Component configuration on the given cluster to be consistent with the desired state. This method has no affect on the desired state, apart from it being used as a reference point for the remediation. If the cluster is not a Trusted Cluster, the method will remove all Trust Authority Component configuration from the Trusted Hosts in the cluster, if such hosts are found.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services?action=query": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns the basic information about all configured Attestation Service instances used by this cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Only return services matching the filters.\n\nIf missing or `null` return all services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster ID is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Basic information about all configured Attestation Service instances used by this cluster.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services/{service}": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns detailed information about the given registered Attestation Service instance that is configured for the given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "service", + "in": "path", + "description": "The ID of the service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster or the service ID is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the specified Attestation Service configured for the given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services?vmw-task=true": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nConfigures the cluster to use a the given registered Attestation Service.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services_create$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Describes the registered instance of the Attestation Service", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the Attestation Service is already configured for this cluster\n\n***Vapi.Std.Errors.InvalidArgument*** if the CreateSpec is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster ID is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** for any other error.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if all the hosts in the cluster do not have VMware vSphere Trust Authority enabled license.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "ID of the configured Attestation Service instance.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services/{service}?vmw-task=true": { + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemoves the Attestation Service instance from the configuration of the given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "the unique ID of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "service", + "in": "path", + "description": "the registered Attestation Service instance unique identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the Attestation Service instance or the cluster are not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services-applied-config?action=query&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns basic information about the health of all Attestation Service configurations applied to the cluster with respect to the desired state.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig_list$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The specification for the subset of results desired to be returned.\n\nIf missing or `null` all results are returned.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The health status for each applied configuration in the given cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/attestation/services-applied-config?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns detailed information about the health of the specified Attestation Service configuration applied to the cluster with respect to the desired state.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "address", + "in": "query", + "description": "The network address of the Attestation Service instance.", + "required": true, + "deprecated": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter or if no service corresponding to the given address is found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Detailed information about the health of the specified Attestation Service configuration applied to the cluster with respect to the desired state.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDelete the Attestation Service configuration that has been applied to the given cluster. This method has no affect on the desired state, it only removes applied Attestation Service configuration from any Trusted Hosts within the given cluster.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUpdate the applied Attestation Service configuration on the given Trusted Cluster to be consistent with the desired state. This method has no affect on the desired state, apart from it being used as a reference point for the remediation.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the Trusted Cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services?action=query": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns basic information about all configured Key Provider Service instances used by this cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services_list", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Only return services matching the filters.\n\nIf missing or `null` return all services.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster ID is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "basic information about all configured Key Provider Service instances used by this cluster", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.Summary" + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services/{service}": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns detailed information about the given Key Provider Service instance used by the given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services_get", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "service", + "in": "path", + "description": "The ID of the service.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster or the service ID is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Detailed information about the given Key Provider Service instance used by the given cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.Info" + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services?vmw-task=true": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nConfigures the cluster to use a the given registered Key Provider Service.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services_create$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Describes the registered instance of the Key Provider Service", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the Key Provider Service is already configured for this cluster\n\n***Vapi.Std.Errors.InvalidArgument*** if the CreateSpec is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the cluster ID is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** for any other error.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if all the hosts in the cluster do not have VMware vSphere Trust Authority enabled license.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "ID of the configured Key Provider Service instance.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services/{service}?vmw-task=true": { + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRemoves the Key Provider Service instance from the configuration of the given cluster.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "the unique ID of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "service", + "in": "path", + "description": "the registered Key Provider Service instance unique identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the Key Provider Service instance or the cluster are not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services-applied-config?action=query&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns basic information about the health of all Key Provider Service configurations applied to the cluster with respect to the desired state.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig_list$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The specification for the subset of results desired to be returned.\n\nIf missing or `null` all results are returned.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.FilterSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "The health status for each applied configuration in the given cluster.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/trusted-infrastructure/trusted-clusters/{cluster}/kms/services-applied-config?vmw-task=true": { + "get": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nReturns detailed information about the health of the specified Key Provider Service configuration applied to the cluster with respect to the desired state.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ReadTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig_get$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "address", + "in": "query", + "description": "The network address of the Key Provider service instance.", + "required": true, + "deprecated": true, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter or if no service corresponding to the given address is found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Detailed information about the health of the specified Key Provider Service configuration applied to the cluster with respect to the desired state.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDelete the Key Provider Service configuration that has been applied to the given cluster. This method has no affect on the desired state, it only removes applied Key Provider Service configuration from any Trusted Hosts within the given cluster.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig_delete$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig" + ], + "description": "This operation is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUpdate the applied Key Provider Service configuration on the given Trusted Cluster to be consistent with the desired state. This method has no affect on the desired state, apart from it being used as a reference point for the remediation.\n\nThis operation was added in __vSphere API 7.0.1.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `TrustedAdmin.ManageTrustedHosts`. \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.View`. \n", + "operationId": "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig_update$Task", + "parameters": [ + { + "name": "cluster", + "in": "path", + "description": "The ID of the Trusted Cluster against which the operation will be executed.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, + "deprecated": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the cluster ID is empty", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the caller is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if no cluster corresponding to the given ID is found within this vCenter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if there is a generic error.\n\n***Vapi.Std.Errors.ResourceBusy*** if there are ongoing mutating operations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/utilization/connections": { + "get": { + "tags": [ + "Vcenter.Utilization.Connections" + ], + "description": "Lists the connection utilization of vCenter server processes.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Utilization.Connections_list", + "parameters": [ + { + "name": "services", + "in": "query", + "description": "List of services to be included in the result.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null` or empty, the result will not be filtered by service.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.services.Service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.services.Service`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "ports", + "in": "query", + "description": "List of port numbers to be included in the result.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null` or empty, the result will not be filtered by port.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + } + ], + "responses": { + "200": { + "description": "Utilization of listening ports for vCenter server processes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Utilization.Connections.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/utilization/proxies": { + "get": { + "tags": [ + "Vcenter.Utilization.Proxies" + ], + "description": "Get vCenter proxies utilization.\n\nThis operation was added in __vSphere API 9.1.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n", + "operationId": "Vcenter.Utilization.Proxies_list", + "parameters": [ + { + "name": "services", + "in": "query", + "description": "List of services to be included in the final result.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null` or empty, the result will not be filtered by service.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.services.Service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.services.Service`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "vCenter proxies utilization.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Utilization.Proxies.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster?action=get": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster" + ], + "description": "Retrieves the status of a VCHA cluster.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster_get", + "requestBody": { + "description": "Request body for invoking operation: get", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "vc_spec": { + "$ref": "#/components/schemas/Vcenter.Vcha.CredentialsSpec" + }, + "partial": { + "type": "boolean", + "description": "If true, then return only the information that does not require connecting to the Active vCenter Server. \n If false or unset, then return all the information.\n\nIf missing or `null`, then return all the information." + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the credentials provided for authenticating with the active node's management vCenter server are invalid.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the management vCenter server cannot be validated. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Vcenter.Vcha.CertificateInfo*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. \n - If partial is false or unset, then the operation execution requires the Global.VCServer privilege.\n - If partial is true, then the operation execution requires the System.Read privilege.\n ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info structure containing the VCHA configuration and health information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster?action=deploy&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster" + ], + "description": "Prepares, clones, and configures a VCHA cluster.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster_deploy$Task", + "requestBody": { + "description": "Contains the deploy specification for all three nodes of a VCHA cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.DeploySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the credentials provided for authenticating with the active node's management vCenter server are invalid.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the management vCenter server cannot be validated. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Vcenter.Vcha.CertificateInfo*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster?action=failover&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster" + ], + "description": "Initiates failover from the active vCenter node to the passive node. \n\n For forced failover, Active node immediately initiates a failover. This may result into a data loss after failover. \n\n For planned failover, Active node flushes all the state to the Passive node, waits for the flush to complete before causing a failover. After the failover, Passive node starts without any data loss. \n\n A failover is allowed only in the following cases: \n 1. Cluster's mode is enabled and all cluster members are present.\n 2. Cluster's mode is maintenance and all cluster members are present.\n \n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster_failover$Task", + "requestBody": { + "description": "Request body for invoking operation: failover$task", + "content": { + "application/json": { + "schema": { + "required": [ + "planned" + ], + "type": "object", + "properties": { + "planned": { + "type": "boolean", + "description": "If false, a failover is initiated immediately and may result in data loss. \n If true, a failover is initiated after the Active node flushes its state to Passive and there is no data loss." + } + } + } + } + }, + "required": true + }, + "responses": { + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster?action=undeploy&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster" + ], + "description": "Destroys the VCHA cluster and removes all VCHA specific information from the VCVA appliance. Optionally, the passive and witness node virtual machines will be deleted only if VCHA was deployed using automatic deployment. The active node in the cluster continues to run as a standalone VCVA appliance after the destroy operation has been performed. \n\n If the VCHA cluster is in a transition state and not configured, then the VCHA cluster specific information is removed.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster_undeploy$Task", + "requestBody": { + "description": "Contains the undeploy specification for a VCHA cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.UndeploySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the credentials provided for authenticating with the active node's management vCenter server are invalid.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the management vCenter server cannot be validated. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Vcenter.Vcha.CertificateInfo*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the passive virtual machine is not managed by the specified vCenter server.\n\nIf the witness virtual machine is not managed by the specified vCenter server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/operations": { + "get": { + "tags": [ + "Vcenter.Vcha.Operations" + ], + "description": "Retrieves the current active and disabled operations of a VCHA cluster.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Operations_get", + "responses": { + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info structure containing the current running and disabled operations of a VCHA cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Operations.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster/active?action=get": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster.Active" + ], + "description": "Retrieves information about the active node of a VCHA cluster.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster.Active_get", + "requestBody": { + "description": "Request body for invoking operation: get", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "vc_spec": { + "$ref": "#/components/schemas/Vcenter.Vcha.CredentialsSpec" + }, + "partial": { + "type": "boolean", + "description": "If true, then return only the information that does not require connecting to the Active vCenter Server. \n If false or unset, then return all the information.\n\nIf missing or `null`, then return all the information." + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the credentials provided for authentincating with the active node's management vCenter server are invalid.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the management vCenter server cannot be validated. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Vcenter.Vcha.CertificateInfo*.\n\n***Vapi.Std.Errors.InvalidElementConfiguration*** If the active node is on more than one datastore.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. \n - If partial is false or unset, then the operation execution requires the Global.VCServer privilege.\n - If partial is true, then the operation execution requires the System.Read privilege.\n ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If the management interface IP address assignment is not static.\n\nIf any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the active virtual machine is not managed by the specified vCenter server for the active node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Info Information about the VCHA network and placement of the active node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Active.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster/deployment-type": { + "get": { + "tags": [ + "Vcenter.Vcha.Cluster.DeploymentType" + ], + "description": "Retrieves the deployment type of a VCHA cluster.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster.DeploymentType_get", + "responses": { + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info structure containing the deployment type information of the the VCHA cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.DeploymentType.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster/mode": { + "get": { + "tags": [ + "Vcenter.Vcha.Cluster.Mode" + ], + "description": "Retrieves the current mode of a VCHA cluster.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster.Mode_get", + "responses": { + "400": { + "description": "If the VCHA cluster is not configured.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the System.Read privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Info structure containing the mode of the the VCHA cluster.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Mode.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster/mode?vmw-task=true": { + "put": { + "tags": [ + "Vcenter.Vcha.Cluster.Mode" + ], + "description": "Manipulates the mode of a VCHA Cluster. Following mode transitions are allowed: \n enabled -> disabled - Allowed only in healthy and degraded states. \n enabled -> maintenance - Allowed only in healthy state. \n disabled -> enabled - Allowed only in healthy state. \n maintenance -> enabled - Allowed only in healthy state with all nodes are running the same version. \n maintenance -> disabled - Allowed only in healthy state with all nodes are running the same version. \n All other transitions are not allowed. \n\n VCHA Cluster configuration remains intact in any of the cluster modes.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster.Mode_set$Task", + "requestBody": { + "description": "Request body for invoking operation: set$task", + "content": { + "application/json": { + "schema": { + "required": [ + "mode" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Clustermode to change the VCHA cluster mode to.\n\nPossible values:\n - `ENABLED`: VCHA Cluster is enabled. State replication between the Active and Passive node is enabled and automatic failover is allowed.\n - `DISABLED`: VCHA Cluster is disabled. State replication between the Active and Passive node is disabled and automatic failover is not allowed.\n - `MAINTENANCE`: VCHA Cluster is in maintenance mode. State replication between the and Passive node is enabled but automatic failover is not allowed.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.Mode.ClusterMode*." + } + } + } + } + }, + "required": true + }, + "responses": { + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster/passive?action=check": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster.Passive" + ], + "description": "Validates the specified passive node's placement configuration.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster.Passive_check", + "requestBody": { + "description": "Contains the passive node's placement specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Passive.CheckSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- If the credentials provided for authentincating with the active node's management vCenter server are invalid.\n- If the specified resource spec is deemed invalid for the clone operation.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the management vCenter server cannot be validated. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Vcenter.Vcha.CertificateInfo*.\n\n***Vapi.Std.Errors.InvalidElementConfiguration*** If the active node is on more than one datastore.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the clone operation is not allowed in the current state of the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the active virtual machine is not managed by the specified vCenter server for the active node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "CheckResult structure containing errors and warnings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Passive.CheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster/passive?action=redeploy&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster.Passive" + ], + "description": "Creates the passive node in a degraded cluster with node location information and pre-existing VCHA cluster configuration from the active node.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster.Passive_redeploy$Task", + "requestBody": { + "description": "Contains the passive node's redeploy specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Passive.RedeploySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the credentials provided for authentincating with the active node's management vCenter server are invalid.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the management vCenter server cannot be validated. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Vcenter.Vcha.CertificateInfo*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster/witness?action=check": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster.Witness" + ], + "description": "Validates the specified witness node's placement configuration.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster.Witness_check", + "requestBody": { + "description": "Contains the witness node's placement specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Witness.CheckSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- If the credentials provided for authentincating with the active node's management vCenter server are invalid.\n- If the specified resource spec is deemed invalid for the clone operation.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the management vCenter server cannot be validated. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Vcenter.Vcha.CertificateInfo*.\n\n***Vapi.Std.Errors.InvalidElementConfiguration*** If the active node is on more than one datastore.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** If the clone operation is not allowed in the current state of the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "If the active virtual machine is not managed by the specified vCenter server for the active node.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "CheckResult structure containing errors and warnings.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Witness.CheckResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vcha/cluster/witness?action=redeploy&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Vcha.Cluster.Witness" + ], + "description": "Creates the witness node in a degraded cluster with node location information and pre-existing VCHA cluster configuration from the active node.\n\nThis operation was added in __vSphere API 6.7.1__.", + "operationId": "Vcenter.Vcha.Cluster.Witness_redeploy$Task", + "requestBody": { + "description": "Contains the witness node's redeploy specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Witness.RedeploySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** If the credentials provided for authentincating with the active node's management vCenter server are invalid.\n\n***Vapi.Std.Errors.UnverifiedPeer*** If the SSL certificate of the management vCenter server cannot be validated. \n The value of the data property of *Vapi.Std.Errors.Error* will be a schema that contains all the properties defined in *Vcenter.Vcha.CertificateInfo*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "If the user has insufficient privilege to perform the operation. Operation execution requires the Global.VCServer privilege.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If any other error occurs.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/data-sets": { + "get": { + "tags": [ + "Vcenter.Vm.DataSets" + ], + "description": "Lists the data sets of a virtual machine.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetList`. \n", + "operationId": "Vcenter.Vm.DataSets_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual hardware version of the virtual machine does not support DataSets\n\nif the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The list of data sets.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.DataSets.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.DataSets" + ], + "description": "Creates a new data set.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetCreate`. \n", + "operationId": "Vcenter.Vm.DataSets_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification of the data set to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.DataSets.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the data set with the same name already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specification is incorrect.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is in a state that doesn't allow modifications, for example suspended.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the virtual hardware version of the virtual machine does not support DataSets\n- if the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the new data set requires more resources than are available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The identifier of the new data set.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/data-sets/{dataSet}": { + "get": { + "tags": [ + "Vcenter.Vm.DataSets" + ], + "description": "Returns information describing a data set.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetGet`. \n", + "operationId": "Vcenter.Vm.DataSets_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "dataSet", + "in": "path", + "description": "Identifier of the data set to be queried.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual hardware version of the virtual machine does not support DataSets\n\nif the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif the data set is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Details about the data set.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.DataSets.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.DataSets" + ], + "description": "Delete a data set.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetDelete`. \n", + "operationId": "Vcenter.Vm.DataSets_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "dataSet", + "in": "path", + "description": "Identifier of the data set to be deleted.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "force", + "in": "query", + "description": "If true, delete the data set even if it is not empty.\n\nIf missing or `null` a *Vapi.Std.Errors.ResourceInUse* error will be reported if the data set is not empty. This is the equivalent of passing the value false.", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is in a state that doesn't allow modifications, for example suspended.\n\n***Vapi.Std.Errors.ResourceInUse*** if the data set is not empty and force is not set.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the virtual hardware version of the virtual machine does not support DataSets\n- if the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif the data set is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.DataSets" + ], + "description": "Modifies the attributes of a data set.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetUpdate`. \n", + "operationId": "Vcenter.Vm.DataSets_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "dataSet", + "in": "path", + "description": "Identifier of the data set to be queried.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "new attributes of the data set. Data sets should only be modified by the application that creates them. Otherwise the application may stop working.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.DataSets.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if any of the new attributes are invalid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is in a state that doesn't allow modification, for example suspended.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the virtual hardware version of the virtual machine does not support DataSets\n- if the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif the data set is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the new data set attributes requires more resources than are available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/evc-mode": { + "get": { + "tags": [ + "Vcenter.Vm.EvcMode" + ], + "description": "Get the EvcMode set for a VM.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.Vm.EvcMode_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "The identifier of the VM.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the correct privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified VM is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "The EvcMode of the VM.\n\nIf missing or `null`, then no EvcMode is set on the VM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.EvcMode.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/evc-mode?vmw-task=true": { + "put": { + "tags": [ + "Vcenter.Vm.EvcMode" + ], + "description": "Set the EvcMode for a VM.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Config.Settings`. \n", + "operationId": "Vcenter.Vm.EvcMode_set$Task", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "The identifier for the VM.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Information about how to enable EvcMode for the VM.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.EvcMode.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if there are any errors in the input.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the correct privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the specified VM is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if there is a generic error.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware" + ], + "description": "Returns the virtual hardware settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Virtual hardware settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware" + ], + "description": "Updates the virtual hardware settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual hardware settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already configured for the desired hardware version.\n\n***Vapi.Std.Errors.InvalidArgument*** if the requested virtual hardware version is not newer than the current version.\n\n***Vapi.Std.Errors.Unsupported*** if the requested virtual hardware version is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware?action=upgrade": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware" + ], + "description": "Upgrades the virtual machine to a newer virtual hardware version.", + "operationId": "Vcenter.Vm.Hardware_upgrade", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: upgrade", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "New virtual machine version.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nIf missing or `null`, defaults to the most recent virtual hardware version supported by the server." + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered off.\n\n***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already configured for the desired hardware version.\n\n***Vapi.Std.Errors.InvalidArgument*** if version is older than the current virtual hardware version.\n\n***Vapi.Std.Errors.Unsupported*** if version is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/library-item": { + "get": { + "tags": [ + "Vcenter.Vm.LibraryItem" + ], + "description": "Returns the information about the library item associated with the virtual machine.\n\nThis operation was added in __vSphere API 6.9.1__.", + "operationId": "Vcenter.Vm.LibraryItem_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the library item associated with the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.LibraryItem.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power": { + "get": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Returns the power state information of a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.Vm.Power_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration or execution state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Power state information for the specified virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Power.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=start": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Powers on a powered-off or suspended virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.PowerOn`. \n", + "operationId": "Vcenter.Vm.Power_start", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already powered on.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).\n\n***Vapi.Std.Errors.ResourceInUse*** if resources required by the virtual machine are in use (e.g. virtual machine configuration files or virtual disks are locked, host containing the virtual machine is an HA failover host).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if resources cannot be allocated for the virtual machine (e.g. physical resource allocation policy cannot be satisfied, insufficient licenses are available to run the virtual machine).\n\n***Vapi.Std.Errors.ResourceInaccessible*** if resources required by the virtual machine are not accessible (e.g. virtual machine configuration files or virtual disks are on inaccessible storage, no hosts are available to run the virtual machine).\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=stop": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Powers off a powered-on or suspended virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.PowerOff`. \n", + "operationId": "Vcenter.Vm.Power_stop", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is already powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=suspend": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Suspends a powered-on virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.Suspend`. \n", + "operationId": "Vcenter.Vm.Power_suspend", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already suspended.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=reset": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Resets a powered-on virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.Reset`. \n", + "operationId": "Vcenter.Vm.Power_reset", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is powered off or suspended.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/tools": { + "get": { + "tags": [ + "Vcenter.Vm.Tools" + ], + "description": "Get the properties of VMware Tools.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Tools_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "VMware Tools properties.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Tools.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Tools" + ], + "description": "Update the properties of VMware Tools.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Tools_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The new values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Tools.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the *Vcenter.Vm.Tools.UpdateSpec.upgrade_policy* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/tools?action=upgrade": { + "post": { + "tags": [ + "Vcenter.Vm.Tools" + ], + "description": "Begins the Tools upgrade process. To monitor the status of the Tools upgrade, clients should check the Tools status by calling *GET /vcenter/vm/{vm}/tools* and examining version_status and run_state.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Tools_upgrade", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: upgrade", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "command_line_options": { + "type": "string", + "description": "Command line options passed to the installer to modify the installation procedure for Tools.\n\nSet if any additional options are desired." + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.\n\n***Vapi.Std.Errors.AlreadyInDesiredState*** is an upgrade is already in progress.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the upgrade process fails inside the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools are not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/compute/policies/{policy}": { + "get": { + "tags": [ + "Vcenter.Vm.Compute.Policies" + ], + "description": "Returns information about the compliance of a virtual machine with a compute policy.\n\nThis operation was added in __vSphere API 7.0.3.0__.", + "operationId": "Vcenter.Vm.Compute.Policies_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine to query the status for.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "policy", + "in": "path", + "description": "Identifier of the policy to query the status for.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.compute.Resources.COMPUTE_POLICY`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a virtual machine with the given identifier does not exist, or if a policy with the given identifier does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the compliance of the specified virtual machine with the specified compute policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Compute.Policies.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/console/tickets": { + "post": { + "tags": [ + "Vcenter.Vm.Console.Tickets" + ], + "description": "Creates a virtual machine console ticket of a given ticket type. The created ticket is a one time use URI. The validity of the ticket is 30 minutes, if not used with in the time frame the ticket expires. \n\n The *Vcenter.Vm.Console.Tickets.Type.VMRC* ticket contains the IP address or the DNS resolvable name of the vCenter server. This ticket requires installation of VMware Workstation, VMware Fusion or VMRC to be installed on the machine where the ticket has to be opened. This ticket can be acquired even when the VM is turned off. \n\n The *Vcenter.Vm.Console.Tickets.Type.WEBMKS* ticket contains the IP address of the DNS resolvable name of the ESX server. This ticket requires user to embed this ticket in a HTML page using VMware HTML Console SDK - https://www.vmware.com/support/developer/html-console This ticket can be acquired only when the VM is turned on.\n\nThis operation was added in __vSphere API 7.0.0.2__.", + "operationId": "Vcenter.Vm.Console.Tickets_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the console ticket to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Console.Tickets.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the {@link CreateSpec#type) {@term field} contains a value that is not supported by the server.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is powered off and requested ticket type is *Vcenter.Vm.Console.Tickets.Type.WEBMKS*", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration or execution state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Commonly used information about the virtual machine console ticket.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Console.Tickets.Summary" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/data-sets/{dataSet}/entries/{key}": { + "get": { + "tags": [ + "Vcenter.Vm.DataSets.Entries" + ], + "description": "Retrieves the value of an entry in a data set.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetEntryGet`. \n", + "operationId": "Vcenter.Vm.DataSets.Entries_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "dataSet", + "in": "path", + "description": "Identifier of the data set.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "key", + "in": "path", + "description": "The key of the entry to retrieve.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.data_sets.Entry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual hardware version of the virtual machine does not support DataSets\n\nif the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "403": { + "description": "if the data set access mode prevents the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif the data set is not found.\n\nif there is no entry associated with key in the dataSet.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "the value of the entry.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Vm.DataSets.Entries" + ], + "description": "Creates or updates an entry in a data set. If an entry whose key matches key already exists, it will replace the existing value, otherwise it will create a new entry.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetEntrySet`. \n", + "operationId": "Vcenter.Vm.DataSets.Entries_set", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "dataSet", + "in": "path", + "description": "Identifier of the data set.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "key", + "in": "path", + "description": "The key of the entry to set. A key can be at most 4096 bytes.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.data_sets.Entry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The value of the entry to set. A value can be at most 1MB.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if the key is too large.\n- if the value is too large.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is in a state that doesn't allow modifications, for example suspended.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the virtual hardware version of the virtual machine does not support DataSets\n- if the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "if the data set access mode prevents the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif the data set is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the new data set requires more resources than are available.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.DataSets.Entries" + ], + "description": "Deletes an entry in a data set.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetEntryDelete`. \n", + "operationId": "Vcenter.Vm.DataSets.Entries_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "dataSet", + "in": "path", + "description": "Identifier of the data set.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "key", + "in": "path", + "description": "The key of the entry to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.data_sets.Entry`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is in a state that doesn't allow modifications, for example suspended.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the virtual hardware version of the virtual machine does not support DataSets\n- if the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "403": { + "description": "if the data set access mode prevents the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif the data set is not found.\n\nif there is no entry associated with key in the dataSet.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/data-sets/{dataSet}/entries": { + "get": { + "tags": [ + "Vcenter.Vm.DataSets.Entries" + ], + "description": "Lists all entry keys in a data set.\n\nThis operation was added in __vSphere API 8.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.DataSets.DataSetEntryList`. \n", + "operationId": "Vcenter.Vm.DataSets.Entries_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "dataSet", + "in": "path", + "description": "Identifier of the data set.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual hardware version of the virtual machine does not support DataSets\n\nif the ESXi host version does not support DataSets", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unsupported" + } + } + } + }, + "403": { + "description": "if the data set access mode prevents the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif the data set is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The keys belonging to the data set.\n\nThe response will contain identifiers for the resource type: `com.vmware.vcenter.vm.data_sets.Entry`.", + "content": { + "application/json": { + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/customization": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Customization" + ], + "description": "Returns the status of the customization operation that has been applied for the virtual machine in vm.\n\nThis operation was added in __vSphere API 7.0.3.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.View`. \n", + "operationId": "Vcenter.Vm.Guest.Customization_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "The unique identifier of the virtual machine that needs to be queried.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the virtual machine vm is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The status of the customization operation applied for the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Customization.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Vm.Guest.Customization" + ], + "description": "Applies a customization specification in spec on the virtual machine in vm. This operation only sets the specification settings for the virtual machine. The actual customization happens inside the guest when the virtual machine is powered on. If spec has missing or `null` values, then any pending customization settings for the virtual machine are cleared. If there is a pending customization for the virtual machine and spec has valid content, then the existing customization setting will be overwritten with the new settings.\n\nThis operation was added in __vSphere API 7.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Provisioning.Customize`. \n", + "operationId": "Vcenter.Vm.Guest.Customization_set", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "The unique identifier of the virtual machine that needs to be customized.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The customization settings to be applied to the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Customization.SetSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the customization settings in spec are not valid.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine vm is not in a powered off state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if a customization specification is not found with the unique name in spec.\n\nIf the virtual machine vm is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/customization?action=check": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Customization" + ], + "description": "Returns the status of the customization check operation for the virtual machine in vm. This operation checks whether the virtual machine is customizable or not.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.View`. \n", + "operationId": "Vcenter.Vm.Guest.Customization_check", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "The unique identifier of the virtual machine that needs to be checked.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the virtual machine vm is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "CheckInfo contains the status of the customization check operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Customization.CheckInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/customization-live": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.CustomizationLive" + ], + "description": "Returns the status of the last customization operation that has been applied for the virtual machine in vm.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.View`. \n", + "operationId": "Vcenter.Vm.Guest.CustomizationLive_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "The unique identifier of the virtual machine that needs to be queried.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the virtual machine vm is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The status of the customization operation applied for the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.CustomizationLive.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/customization-live?action=run&vmw-task=true": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.CustomizationLive" + ], + "description": "Customizes a running virtual machine. Before using the operation, the Guest Customization Engine needs to be installed in the virtual machine. For the steps to install, please see [ Guest Customization Engine](https://developer.vmware.com/docs/11721/vmware-vsphere-web-services-sdk-programming-guide/GUID-27783049-22E4-4F6E-9F0C-ED6A2135A398.html) \n\n If there is a pending customization for the virtual machine and spec has valid content, then the existing customization setting will be overwritten with the new settings.\n\nThis operation was added in __vSphere API 9.0.0.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Provisioning.Customize`. \n", + "operationId": "Vcenter.Vm.Guest.CustomizationLive_run$Task", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "The unique identifier of the virtual machine that needs to be customized.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The customization settings to be applied to the guest operating system and the guest authentication data. The specification only supports to be configured as *Vcenter.Guest.ConfigurationSpec.linux_config*, also the *Vcenter.Guest.LinuxConfiguration.script_text* is not supported yet.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.CustomizationLive.RunSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the customization settings in spec are not valid or spec and name do not exist at the same time.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the operation cannot be performed because of the virtual machine's current state. For example, if the virtual machine vm is not in a powered-on state.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the virtual machine vm is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "202": { + "description": "Success!", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/environment/{name}?action=get": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Environment" + ], + "description": "Reads a single environment variable from the guest operating system. \n\n If the authentication uses *Vcenter.Vm.Guest.Credentials.interactive_session*, then the environment being read will be that of the user logged into the desktop. Otherwise it's the environment of the system user. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Query`. \n", + "operationId": "Vcenter.Vm.Guest.Environment_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "name", + "in": "path", + "description": "The name of the environment variable to be read.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: get", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware tools in the guest OS.\n- if the operation is disabled by the VMware tools in the guest OS.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine vm is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine vm is not found.\n\nif the environment variable name is not not set in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware tools are not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The value of the name environment variable.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/environment?action=list": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Environment" + ], + "description": "Reads a list of environment variables from the guest operating system. \n\n If the authentication uses *Vcenter.Vm.Guest.Credentials.interactive_session*, then the environment being read will be that of the user logged into the desktop. Otherwise it's the environment of the system user. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Query`. \n", + "operationId": "Vcenter.Vm.Guest.Environment_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: list", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "names" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "The names of the variables to be read. If the set is empty, then all the environment variables are returned.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware tools in the guest OS.\n- if the operation is disabled by the VMware tools in the guest OS.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine vm is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials are not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine vm is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware tools are not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Mapping from environment variable names to environment variable values, or all environment variables if nothing is specified. If any specified environment variable contained in names is not set, then nothing is returned for that variable.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/identity": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Identity" + ], + "description": "Return information about the guest.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Identity_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.\n\nif VMware Tools has not provided any data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "guest identification information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Identity.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/local-filesystem": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.LocalFilesystem" + ], + "description": "Returns details of the local file systems in the guest operating system.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.LocalFilesystem_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.\n\nif VMware Tools has not provided any data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the local file systems configured in the guest operating system.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.LocalFilesystem.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/networking": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Networking" + ], + "description": "Returns information about the network configuration in the guest operating system.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Guest.Networking_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine ID\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the networking configuration in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Networking.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/operations": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Operations" + ], + "description": "Get information about the guest operation status.\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.Vm.Guest.Operations_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the state of VMware Tools is unknown.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "guest operations readiness.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Operations.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/power": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Power" + ], + "description": "Returns information about the guest operating system power state.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Power_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Guest OS powerstate information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Power.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/power?action=shutdown": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Power" + ], + "description": "Issues a request to the guest operating system asking it to perform a clean shutdown of all services. This request returns immediately and does not wait for the guest operating system to complete the operation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Power_shutdown", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is not powered on.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/power?action=reboot": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Power" + ], + "description": "Issues a request to the guest operating system asking it to perform a reboot. This request returns immediately and does not wait for the guest operating system to complete the operation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Power_reboot", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/power?action=standby": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Power" + ], + "description": "Issues a request to the guest operating system asking it to perform a suspend operation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Power_standby", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is suspended.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/processes?action=create": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Processes" + ], + "description": "Starts a program in the guest operating system. \n\n A process started this way can have its status queried with *POST /vcenter/vm/{vm}/guest/processes?action=list* or *POST /vcenter/vm/{vm}/guest/processes/{pid}?action=get*. When the process completes, its exit code and end time will be available for 5 minutes after completion. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Execute`. \n", + "operationId": "Vcenter.Vm.Guest.Processes_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: create", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "spec" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "spec": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Processes.CreateSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if the *Vcenter.Vm.Guest.Processes.CreateSpec.start_minimized* property is set and the guest is not a Windows operating system.\n- if the program path is not a valid path. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if the working directory is not a valid directory. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine vm is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware tools in the guest OS.\n- if the operation is disabled by the VMware tools in the guest OS.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the path property of spec cannot be accessed.\n\nif the path property of spec cannot be run because credentials will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the program fails to start.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the virtual machine vm is not found.\n\nif the program path does not exist. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware tools are not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The process id of the program started.", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int64" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/processes/{pid}?action=get": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Processes" + ], + "description": "Returns the status of a process running in the guest operating system, including those started by *POST /vcenter/vm/{vm}/guest/processes?action=create* that may have recently completed. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Query`. \n", + "operationId": "Vcenter.Vm.Guest.Processes_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pid", + "in": "path", + "description": "Specifies the process to query.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: get", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine vm is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware tools in the guest OS.\n- if the operation is disabled by the VMware tools in the guest OS.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine vm is not found.\n\nif the process pid is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Processes.ProcessErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware tools are not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The *Vcenter.Vm.Guest.Processes.Info* for the process with id pid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Processes.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/processes?action=list": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Processes" + ], + "description": "List the processes running in the guest operating system, plus those started by *POST /vcenter/vm/{vm}/guest/processes?action=create* that have recently completed. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Query`. \n", + "operationId": "Vcenter.Vm.Guest.Processes_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: list", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine vm is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware tools in the guest OS.\n- if the operation is disabled by the VMware tools in the guest OS.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine vm is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware tools are not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The list of running processes is returned in an array of *Vcenter.Vm.Guest.Processes.Summary* schemas.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Processes.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/processes/{pid}?action=delete": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Processes" + ], + "description": "Terminates a process in the guest OS. \n\n On Posix guests, the process is sent a SIGTERM signal. If that doesn't terminate the process, a SIGKILL signal is sent. A process may still be running if it's stuck. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Execute`. \n", + "operationId": "Vcenter.Vm.Guest.Processes_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pid", + "in": "path", + "description": "Process ID of the process to be terminated", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: delete", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine vm is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware tools in the guest OS.\n- if the operation is disabled by the VMware tools in the guest OS.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if credentials is not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if credentials does not have permission to terminate the process.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine vm is not found.\n\nif the pid is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Processes.ProcessErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware tools are not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/directories?action=create": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Directories" + ], + "description": "Creates a directory in the guest operating system. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Directories_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: create", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "path" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "path": { + "type": "string", + "description": "The complete path to the directory to be created." + }, + "create_parents": { + "type": "boolean", + "description": "Whether any parent directories should be created. If any failure occurs, some parent directories could be left behind.\n\nIf missing or `null` parent directories are not created." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if path already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if path is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if path cannot be created because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif path does not exist and createParents is not set. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/directories?action=delete": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Directories" + ], + "description": "Deletes a directory in the guest operating system. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Directories_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: delete", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "path" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "path": { + "type": "string", + "description": "The complete path to the directory to be deleted." + }, + "recursive": { + "type": "boolean", + "description": "If true, all files and subdirectories are also deleted. If false, the directory must be empty for the operation to succeed.\n\nIf missing or `null`, any directory content is not deleted." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if path is not a directory. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if path is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.ResourceInUse*** if path has content and recursive is missing or `null`.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if path cannot be accessed.\n\nif path cannot be deleted because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif path is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/directories?action=move": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Directories" + ], + "description": "Renames a directory in the guest. \n\n Renames the directory, or copies and deletes the old contents as required by the underlying filesystem. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Directories_move", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: move", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "new_path", + "path" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "path": { + "type": "string", + "description": "The complete path to the directory to be moved." + }, + "new_path": { + "type": "string", + "description": "The complete path to where the directory is moved or its new name. It cannot be a path to an existing directory or an existing file." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if newPath already exists.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if path is not a directory. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if path is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if newPath is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if a path cannot be accessed.\n\nif a path cannot be renamed or moved because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif path is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\nif the parent directory of newPath does not exist. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/directories?action=createTemporary": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Directories" + ], + "description": "Creates a temporary directory. \n\n Creates a new unique temporary directory for the user to use as needed. The guest operating system may clean up the directory after a guest specific amount of time if parentPath is not set, or the user can remove the directory when no longer needed. \n\n The new directory name will be created in a guest-specific format using prefix, a guest generated string and suffix in parentPath. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Directories_createTemporary", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: createTemporary", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "prefix", + "suffix" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "prefix": { + "type": "string", + "description": "The prefix to be given to the new temporary directory." + }, + "suffix": { + "type": "string", + "description": "The suffix to be given to the new temporary directory." + }, + "parent_path": { + "type": "string", + "description": "The complete path to the directory in which to create the new directory.\n\nDirectory If missing or `null` a guest-specific default will be used." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if parentPath is not a directory. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if parentPath is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if parentPath cannot be accessed.\n\nif a file cannot be created because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif parentPath is set and does not exist. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The absolute path of the temporary directory that is created.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/files?action=move": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Files" + ], + "description": "Renames a file in the guest. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Files_move", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: move", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "new_path", + "path" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "path": { + "type": "string", + "description": "The complete path to the original file or symbolic link to be moved." + }, + "new_path": { + "type": "string", + "description": "The complete path to the new file. It cannot be a path to an existing directory." + }, + "overwrite": { + "type": "boolean", + "description": "If true, the destination file is overwritten.\n\nIf missing or `null`, the destination file is not overwritten." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if the newPath already exists and overwrite is false.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if path is not a file. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if path is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if newPath is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if a path cannot be accessed.\n\nif a path cannot be renamed because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif path does not exist. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\nif the parent directory of newPath does not exist. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/files?action=update": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Files" + ], + "description": "Changes the file attributes of a specified file or directory inside the guest. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Files_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: update", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "file_attributes", + "path" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "path": { + "type": "string", + "description": "The complete path to the file or directory to be changed in the guest. If the file points to an symbolic link, then the attributes of the target file are changed." + }, + "file_attributes": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.FileAttributesUpdateSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if fileAttributes does not apply to the guest operating system.\n- if path is not a file. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if path is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if path cannot be accessed.\n\nif path cannot be updated because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif path is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/files/{path}?action=delete": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Files" + ], + "description": "Deletes a file in the guest operating system \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Files_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "path", + "in": "path", + "description": "The complete path to the file or symbolic link to be deleted.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: delete", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if path is not a file. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if path is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if path cannot be accessed.\n\nif path cannot be deleted because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif path is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/files/{path}?action=get": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Files" + ], + "description": "Returns information about a file or directory in the guest. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Query`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Files_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "path", + "in": "path", + "description": "The complete path to the file.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: get", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if path is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if path cannot be accessed.\n\nif path cannot be listed because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif path is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "*Vcenter.Vm.Guest.Filesystem.Files.Info* object containing information for the file.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/files?action=createTemporary": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Files" + ], + "description": "Creates a temporary file. \n\n Creates a new unique temporary file for the user to use as needed. The user is responsible for removing it when it is no longer needed. \n\n The new file name will be created in a guest-specific format using prefix, a guest generated string and suffix in parentPath. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Files_createTemporary", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: createTemporary", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "prefix", + "suffix" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "prefix": { + "type": "string", + "description": "The prefix to be given to the new temporary file." + }, + "suffix": { + "type": "string", + "description": "The suffix to be given to the new temporary file." + }, + "parent_path": { + "type": "string", + "description": "The complete path to the directory in which to create the file.\n\nDirectory to use if specified, otherwise a guest-specific default will be used." + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if parentPath is set and is not a directory. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if parentPath is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if parentPath cannot be accessed.\n\nif a file cannot be created because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if parentPath is set and does not exist. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\nif the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "The absolute path of the temporary file that is created.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem/files?action=list": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Files" + ], + "description": "Returns information about files and directories in the guest. \n\n Files are returned in operating system-specific (inode) order. If the directory is modified between queries, missing or duplicate results can occur. \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Query`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Files_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: list", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "path" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "path": { + "type": "string", + "description": "The complete path to the directory or file to query." + }, + "iteration": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.IterationSpec" + }, + "filter": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.FilterSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if path is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest operating system.\n- if the operation is disabled by the VMware Tools in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if path cannot be accessed.\n\nif path cannot be listed because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceBusy" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif path is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "A *Vcenter.Vm.Guest.Filesystem.Files.ListResult* object containing information for all the matching files in filter and the total number of files that can be returned.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/filesystem?action=create": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Filesystem.Transfers" + ], + "description": "Initiates an operation to transfer a file to or from the guest. \n\n If the power state of the Virtual Machine is changed when the file transfer is in progress, or the Virtual Machine is migrated, then the transfer operation is aborted. \n\n When transferring a file into the guest and overwriting an existing file, the old file attributes are not preserved. \n\n In order to ensure a secure connection to the host when transferring a file using HTTPS, the X.509 certificate for the host must be used to authenticate the remote end of the connection. The certificate of the host that the virtual machine is running on can be retrieved using the following fields: XXX insert link to certificate in Host config XXX \n\n\n\nThis operation was added in __vSphere API 7.0.2.0__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.GuestOperations.Modify`. \n", + "operationId": "Vcenter.Vm.Guest.Filesystem.Transfers_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual Machine to perform the operation on.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: create", + "content": { + "application/json": { + "schema": { + "required": [ + "credentials", + "spec" + ], + "type": "object", + "properties": { + "credentials": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Credentials" + }, + "spec": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec" + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if *Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec.path* in spec exists and *Vcenter.Vm.Guest.Filesystem.Transfers.FileCreationAttributes.overwrite* is false when transferring a file to the guest.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if *Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec.path* in spec is not a file. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n- if *Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec.path* in spec is too long. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not running.\n\n***Vapi.Std.Errors.Unsupported***:\n- if the operation is not supported by the VMware Tools in the guest OS.\n- if the operation is disabled by the VMware Tools in the guest OS.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the credentials object was not valid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if *Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec.path* in spec cannot be accessed.\n\nif *Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec.path* in spec cannot be copied because the guest authentication will not allow the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if is insufficient space for the new file when transferring a file to the guest.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.\n\nif *Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec.path* in spec is not found. The value of *Vapi.Std.Errors.Error.data* will contain all the properties defined in the *Vcenter.Vm.Guest.Filesystem.FileErrorDetails* providing additional information about the failure.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "The URL to which the user has to send an HTTP request. The URL will become invalid once a successful request is sent. If the file is being transferred from the guest, an HTTP GET should be used. If the file is being transferred to the guest, HTTP PUT should be used. \n The URL is valid only for 10 minutes from the time it is generated. The URL becomes invalid whenever the virtual machine is powered off, suspended, unregistered or migrated to a new host. The host part of the URL is returned as __*__ if the hostname to be used is the name of the server to which the call was made. For example, if the call is made to __esx-svr-1.domain1.com__, and the file is available for download from https://esx-svr-1.domain1.com/guestFile?id=1&token=1234, the URL returned may be https://*/guestFile?id=1&token=1234. The client replaces the asterisk with the server name on which it invoked the call. \n", + "content": { + "application/json": { + "schema": { + "type": "string", + "format": "uri" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/networking/interfaces": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Networking.Interfaces" + ], + "description": "Returns information about the networking interfaces in the guest operating system.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Guest.Networking.Interfaces_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine ID\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the interfaces configured in the guest operating system. Interfaces are ordered in a guest operating system specific determined order.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Networking.Interfaces.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/networking/routes": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Networking.Routes" + ], + "description": "Returns information about network routing in the guest operating system.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Guest.Networking.Routes_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine ID\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the network routes configured in the guest operating system.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Networking.Routes.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/boot": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Boot" + ], + "description": "Returns the boot-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Boot_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Boot-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Boot" + ], + "description": "Updates the boot-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Boot_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the boot-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one of the provided settings is not permitted; for example, specifying a negative value for delay.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cdrom": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Returns commonly used information about the virtual CD-ROM devices belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual CD-ROM devices.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Adds a virtual CD-ROM device to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual CD-ROM device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended or if the virtual machine is powered on and virtual CD-ROM type is IDE.\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified storage address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified storage address is out of bounds.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the CD-ROM device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified storage address is unavailable; for example, if the SCSI adapter requested does not exist.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual CD-ROM device identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cdrom/{cdrom}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Returns information about a virtual CD-ROM device.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual CD-ROM device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Removes a virtual CD-ROM device from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended or if the virtual machine is powered on and virtual CD-ROM type is IDE.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Updates the configuration of a virtual CD-ROM device.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual CD-ROM device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual CD-ROM device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cdrom/{cdrom}?action=connect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Connects a virtual CD-ROM device of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/cdrom/{cdrom}* operation may be used to configure the virtual CD-ROM device to start in the connected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_connect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual CD-ROM device is already connected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cdrom/{cdrom}?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Disconnects a virtual CD-ROM device of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the CD-ROM device is not connected to its backing resource. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/cdrom/{cdrom}* operation may be used to configure the virtual CD-ROM device to start in the disconnected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_disconnect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual CD-ROM device is already disconnected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cpu": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Cpu" + ], + "description": "Returns the CPU-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cpu_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "CPU-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Cpu" + ], + "description": "Updates the CPU-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cpu_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the CPU-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if one of the provided settings is not permitted; for example, specifying a negative value for count.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if hot_add_enabled or hot_remove_enabled is specified and the virtual machine is not powered off.\n- if count is specified and is greater than count, hot_add_enabled is false, and the virtual machine is not powered off.\n- if count is specified and is less than count, hot_remove_enabled is false, and the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/disk": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Returns commonly used information about the virtual disks belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Disk_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about the virtual disks.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Adds a virtual disk to the virtual machine. While adding the virtual disk, a new VMDK file may be created or an existing VMDK file may be used to back the virtual disk.", + "operationId": "Vcenter.Vm.Hardware.Disk_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended or if the virtual machine is powered on and virtual disk type is IDE.\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified storage address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified storage address is out of bounds or if the specified storage policy is invalid.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if system reported that the disk device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified storage address is unavailable; for example, if the SCSI adapter requested does not exist.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual disk identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/disk/{disk}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Returns information about a virtual disk.", + "operationId": "Vcenter.Vm.Hardware.Disk_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "disk", + "in": "path", + "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual disk is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Removes a virtual disk from the virtual machine. This operation does not destroy the VMDK file that backs the virtual disk. It only detaches the VMDK file from the virtual machine. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted.", + "operationId": "Vcenter.Vm.Hardware.Disk_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "disk", + "in": "path", + "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended or if the virtual machine is powered on and virtual disk type is IDE.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual disk is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Updates the configuration of a virtual disk. An update operation can be used to detach the existing VMDK file and attach another VMDK file to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Disk_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "disk", + "in": "path", + "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual disk is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Returns commonly used information about the virtual Ethernet adapters belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual Ethernet adapters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Adds a virtual Ethernet adapter to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual Ethernet adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the specified PCI address is out of bounds, HOST_DEVICE is specified as the type, or a backing cannot be found in the case that backing is left missing or `null`.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or network backing is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the Ethernet adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the virtual machine already has the maximum number of supported Ethernet adapters.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual Ethernet adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet/{nic}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Returns information about a virtual Ethernet adapter.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual Ethernet adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Removes a virtual Ethernet adapter from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Updates the configuration of a virtual Ethernet adapter.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual Ethernet adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if HOST_DEVICE is specified as the type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine, virtual Ethernet adapter, or backing network is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet/{nic}?action=connect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Connects a virtual Ethernet adapter of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/ethernet/{nic}* operation may be used to configure the virtual Ethernet adapter to start in the connected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_connect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual Ethernet adapter is already connected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet/{nic}?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Disconnects a virtual Ethernet adapter of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the Ethernet adapter is not connected to its backing resource. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/ethernet/{nic}* operation may be used to configure the virtual Ethernet adapter to start in the disconnected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_disconnect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual Ethernet adapter is already disconnected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/floppy": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Floppy" + ], + "description": "Returns commonly used information about the virtual floppy drives belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Floppy_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual floppy drives.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Floppy" + ], + "description": "Adds a virtual floppy drive to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Floppy_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual floppy drive.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the floppy device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the virtual machine already has the maximum number of supported floppy drives.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual floppy drive identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/floppy/{floppy}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Floppy" + ], + "description": "Returns information about a virtual floppy drive.", + "operationId": "Vcenter.Vm.Hardware.Floppy_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "floppy", + "in": "path", + "description": "Virtual floppy drive identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual floppy drive is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual floppy drive.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Floppy" + ], + "description": "Removes a virtual floppy drive from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Floppy_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "floppy", + "in": "path", + "description": "Virtual floppy drive identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual floppy drive is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Floppy" + ], + "description": "Updates the configuration of a virtual floppy drive.", + "operationId": "Vcenter.Vm.Hardware.Floppy_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "floppy", + "in": "path", + "description": "Virtual floppy drive identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual floppy drive.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual floppy drive.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual floppy drive is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/floppy/{floppy}?action=connect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Floppy" + ], + "description": "Connects a virtual floppy drive of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/floppy/{floppy}* operation may be used to configure the virtual floppy drive to start in the connected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Floppy_connect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "floppy", + "in": "path", + "description": "Virtual floppy drive identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual floppy drive is already connected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual floppy drive is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/floppy/{floppy}?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Floppy" + ], + "description": "Disconnects a virtual floppy drive of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the floppy drive is not connected to its backing resource. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/floppy/{floppy}* operation may be used to configure the virtual floppy floppy to start in the disconnected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Floppy_disconnect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "floppy", + "in": "path", + "description": "Virtual floppy drive identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual floppy drive is already disconnected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual floppy drive is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/memory": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Memory" + ], + "description": "Returns the memory-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Memory_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Memory-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Memory" + ], + "description": "Updates the memory-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Memory_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the memory-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if one of the provided settings is not permitted; for example, specifying a negative value for size_MiB.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if hot_add_enabled is specified and the virtual machine is not powered off.\n- if size_MiB is specified, hot_add_enabled is false, and the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/parallel": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Parallel" + ], + "description": "Returns commonly used information about the virtual parallel ports belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Parallel_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual parallel ports.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Parallel" + ], + "description": "Adds a virtual parallel port to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Parallel_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual parallel port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the parallel port device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the virtual machine already has the maximum number of supported parallel ports.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual parallel port identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/parallel/{port}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Parallel" + ], + "description": "Returns information about a virtual parallel port.", + "operationId": "Vcenter.Vm.Hardware.Parallel_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual parallel port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual parallel port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual parallel port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Parallel" + ], + "description": "Removes a virtual parallel port from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Parallel_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual parallel port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual parallel port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Parallel" + ], + "description": "Updates the configuration of a virtual parallel port.", + "operationId": "Vcenter.Vm.Hardware.Parallel_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual parallel port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual parallel port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual parallel port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual parallel port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/parallel/{port}?action=connect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Parallel" + ], + "description": "Connects a virtual parallel port of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/parallel/{port}* operation may be used to configure the virtual parallel port to start in the connected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Parallel_connect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual parallel port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual parallel port is already connected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual parallel port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/parallel/{port}?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Parallel" + ], + "description": "Disconnects a virtual parallel port of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the parallel port is not connected to its backing. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/parallel/{port}* operation may be used to configure the virtual parallel port to start in the disconnected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Parallel_disconnect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual parallel port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual parallel port is already disconnected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual parallel port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/serial": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Serial" + ], + "description": "Returns commonly used information about the virtual serial ports belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Serial_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual serial ports.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Serial" + ], + "description": "Adds a virtual serial port to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Serial_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual serial port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the serial port device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the virtual machine already has the maximum number of supported serial ports.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual serial port identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/serial/{port}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Serial" + ], + "description": "Returns information about a virtual serial port.", + "operationId": "Vcenter.Vm.Hardware.Serial_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual serial port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual serial port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual serial port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Serial" + ], + "description": "Removes a virtual serial port from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Serial_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual serial port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual serial port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Serial" + ], + "description": "Updates the configuration of a virtual serial port.", + "operationId": "Vcenter.Vm.Hardware.Serial_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual serial port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual serial port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual serial port.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual serial port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/serial/{port}?action=connect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Serial" + ], + "description": "Connects a virtual serial port of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/serial/{port}* operation may be used to configure the virtual serial port to start in the connected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Serial_connect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual serial port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual serial port is already connected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual serial port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/serial/{port}?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Serial" + ], + "description": "Disconnects a virtual serial port of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the serial port is not connected to its backing. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/serial/{port}* operation may be used to configure the virtual serial port to start in the disconnected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Serial_disconnect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "port", + "in": "path", + "description": "Virtual serial port identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual serial port is already disconnected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual serial port is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/nvme": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Nvme" + ], + "description": "Returns commonly used information about the virtual NVMe adapters belonging to the virtual machine.\n\nThis operation was added in __vSphere API 7.0.0.1__.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Nvme_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual NVMe adapters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Nvme" + ], + "description": "Adds a virtual NVMe adapter to the virtual machine.\n\nThis operation was added in __vSphere API 7.0.0.1__.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Nvme_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual NVMe adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified NVMe bus or PCI address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified NVMe bus or PCI address is out of bounds.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reports an error while responding to the request.\n- if the system reported that the NVMe adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there are no more available NVMe buses on the virtual machine.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual NVMe adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/nvme/{adapter}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Nvme" + ], + "description": "Returns information about a virtual NVMe adapter.\n\nThis operation was added in __vSphere API 7.0.0.1__.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Nvme_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual NVMe adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual NVMe adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual NVMe adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Nvme" + ], + "description": "Removes a virtual NVMe adapter from the virtual machine.\n\nThis operation was added in __vSphere API 7.0.0.1__.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Nvme_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual NVMe adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual NVMe adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/sata": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Sata" + ], + "description": "Returns commonly used information about the virtual SATA adapters belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Sata_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual SATA adapters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Sata" + ], + "description": "Adds a virtual SATA adapter to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Sata_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual SATA adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified SATA bus or PCI address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified SATA bus or PCI address is out of bounds.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reports an error while responding to the request.\n- if the system reported that the SATA adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there are no more available SATA buses on the virtual machine.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual SATA adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/sata/{adapter}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Sata" + ], + "description": "Returns information about a virtual SATA adapter.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Sata_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SATA adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SATA adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual SATA adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Sata" + ], + "description": "Removes a virtual SATA adapter from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Sata_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SATA adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SATA adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/scsi": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Returns commonly used information about the virtual SCSI adapters belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual SCSI adapters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Adds a virtual SCSI adapter to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual SCSI adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified SCSI bus is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified SATA bus or PCI address is out of bounds.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the SCSI adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there are no more available SCSI buses on the virtual machine.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual SCSI adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/scsi/{adapter}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Returns information about a virtual SCSI adapter.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SCSI adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SCSI adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual SCSI adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Removes a virtual SCSI adapter from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SCSI adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SCSI adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Updates the configuration of a virtual SCSI adapter.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SCSI adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual SCSI adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual SCSI adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SCSI adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/boot/device": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Boot.Device" + ], + "description": "Returns an ordered list of boot devices for the virtual machine. If the list is empty, the virtual machine uses a default boot sequence.", + "operationId": "Vcenter.Vm.Hardware.Boot.Device_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Ordered list of configured boot devices.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.Entry" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Vm.Hardware.Boot.Device" + ], + "description": "Sets the virtual devices that will be used to boot the virtual machine. The virtual machine will check the devices in order, attempting to boot from each, until the virtual machine boots successfully. If the list is empty, the virtual machine will use a default boot sequence. There should be no more than one instance of *Vcenter.Vm.Hardware.Boot.Device.Entry* for a given device type except *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET* in the list.", + "operationId": "Vcenter.Vm.Hardware.Boot.Device_set", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "devices" + ], + "type": "object", + "properties": { + "devices": { + "type": "array", + "description": "Ordered list of boot devices.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.Entry" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if a any of the Device.Type values appears in more than one Vcenter.Vm.Hardware.Boot.Device.Entry with the exception of *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET*, which may appear multiple times if the virtual machine has been configured with multiple Ethernet adapters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found, or if any of the specified virtual devices is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/storage/policy": { + "get": { + "tags": [ + "Vcenter.Vm.Storage.Policy" + ], + "description": "Returns Information about Storage Policy associated with a virtual machine's home directory and/or its virtual hard disks.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Storage.Policy_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Overview of Storage Policy associated with a virtual machine's home directory and/or its associated virtual hard disks.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Storage.Policy" + ], + "description": "Updates the storage policy configuration of a virtual machine and/or its associated virtual hard disks.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Storage.Policy_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Storage Policy Specification for updating the virtual machine and virtual disks.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the storage policy specified is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine or disk is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine or disk's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/storage/policy/compliance": { + "get": { + "tags": [ + "Vcenter.Vm.Storage.Policy.Compliance" + ], + "description": "Returns the cached storage policy compliance information of a virtual machine.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Storage.Policy.Compliance_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Virtual machine storage policy compliance Info *Vcenter.Vm.Storage.Policy.Compliance.Info*.\n\nIf missing or `null`, neither the virtual machine home directory nor any of it's virtual disks are associated with a storage policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/storage/policy/compliance?action=check": { + "post": { + "tags": [ + "Vcenter.Vm.Storage.Policy.Compliance" + ], + "description": "Returns the storage policy Compliance *Vcenter.Vm.Storage.Policy.Compliance.Info* of a virtual machine after explicitly re-computing compliance check.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Storage.Policy.Compliance_check", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter specifies the entities on which storage policy compliance check is to be invoked. The storage compliance Info *Vcenter.Vm.Storage.Policy.Compliance.Info* is returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Vm.Storage.Policy.Compliance.CheckSpec* with CheckSpec#vmHome set to true and CheckSpec#disks populated with all disks attached to the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.CheckSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service necessary to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Virtual machine storage policy compliance Vcenter.Vm.Storage.Policy.Compliance.Info schema .\n\nIf missing or `null`, neither the virtual machine home directory nor any of it's virtual disks are associated with a storage policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/tools/installer": { + "get": { + "tags": [ + "Vcenter.Vm.Tools.Installer" + ], + "description": "Get information about the VMware Tools installer.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Tools.Installer_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "information about the VMware Tools installer.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Tools.Installer.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/tools/installer?action=connect": { + "post": { + "tags": [ + "Vcenter.Vm.Tools.Installer" + ], + "description": "Connects the VMware Tools CD installer as a CD-ROM for the guest operating system. On Windows guest operating systems with autorun, this should cause the installer to initiate the Tools installation which will need user input to complete. On other (non-Windows) guest operating systems this will make the Tools installation available, and a a user will need to do guest-specific actions. On Linux, this includes opening an archive and running the installer. To monitor the status of the Tools install, clients should check the version_status and run_state from *GET /vcenter/vm/{vm}/tools*\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Tools.Installer_connect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine ID\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.\n\n***Vapi.Std.Errors.AlreadyInDesiredState*** if the VMware Tools CD is already connected.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "500": { + "description": "if the Tools installation fails in the guest operating system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/tools/installer?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Vm.Tools.Installer" + ], + "description": "Disconnect the VMware Tools installer CD image.\n\nThis operation was added in __vSphere API 7.0.0.0__.", + "operationId": "Vcenter.Vm.Tools.Installer_disconnect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine ID\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items": { + "post": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems" + ], + "description": "Creates a library item in content library from a virtual machine. \n\n This operation creates a library item in content library whose content is a virtual machine template created from the source virtual machine, using the supplied create specification. The virtual machine template is stored in a newly created library item.\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.Library` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpec.library* requires `ContentLibrary.AddLibraryItem`. \n - The resource `VirtualMachine` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpec.source_vm* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy.policy* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy.policy* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.CreateSpec.disk_storage_overrides* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.folder* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.resource_pool* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.host* requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.cluster* requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems_create", + "requestBody": { + "description": " information used to create the library item from the source virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if an entity with the name specified by *Vcenter.VmTemplate.LibraryItems.CreateSpec.name* already exists in the folder specified by *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.folder*.\n\n***Vapi.Std.Errors.InvalidArgument*** if *Vcenter.VmTemplate.LibraryItems.CreateSpec* contains invalid arguments.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the operation cannot be performed because of the source virtual machine's current state.\n\n***Vapi.Std.Errors.ResourceInUse*** if the source virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the source virtual machine specified by *Vcenter.VmTemplate.LibraryItems.CreateSpec.source_vm* does not exist.\n\n if the library specified by *Vcenter.VmTemplate.LibraryItems.CreateSpec.library* does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if there was an error accessing a file from the source virtual machine.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to create the virtual machine template could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " if any of the services involved in the operation are unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Identifier of the newly created library item.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.Item`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}?action=deploy": { + "post": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems" + ], + "description": "Deploys a virtual machine as a copy of the source virtual machine template contained in the library item specified by templateLibraryItem. It uses the deployment specification in spec. \n\n If *Vcenter.VmTemplate.LibraryItems.DeploySpec.powered_on* and/or *Vcenter.VmTemplate.LibraryItems.DeploySpec.guest_customization* are specified, the server triggers the power on and/or guest customization operations, which are executed asynchronously.\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `VirtualMachine.Provisioning.DeployTemplate`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.policy* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.policy* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.DeploySpec.disk_storage_overrides* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.folder* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.resource_pool* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.host* requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.cluster* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Ethernet` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.nics* requires `System.Read`. \n - The resource `Network` referenced by the property *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.network* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.subnet* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.disks_to_remove* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.disks_to_update* requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems_deploy", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": " identifier of the content library item containing the source virtual machine template to be deployed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " specification of how the virtual machine should be deployed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the name specified by *Vcenter.VmTemplate.LibraryItems.DeploySpec.name* already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains invalid arguments.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if either a specified host or a specified datastore is in an invalid state for the deployment, such as maintenance mode.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the library item specified by templateLibraryItem cannot be found.\n\n if any resource specified by a property of the *Vcenter.VmTemplate.LibraryItems.DeploySpec* schema, specified by spec cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible***:\n- if there was an error accessing the source virtual machine template contained in the library item specified by templateLibraryItem.\n- if there an error accessing any of the resources specified in the spec.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there was an error in allocating any of the resources required by the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " if any of the services involved in the operation are unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the deployed virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}": { + "get": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems" + ], + "description": "Returns information about a virtual machine template contained in the library item specified by templateLibraryItem\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems_get", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": " identifier of the library item containing the virtual machine template.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the library item could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine template's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " if any of the services involved in the operation are unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the virtual machine template item contained in the library item.\n\nIf missing or `null`, the library item specified by templateLibraryItem does not contain a virtual machine template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}/check-outs?action=check-out": { + "post": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.CheckOuts" + ], + "description": "Checks out a library item containing a virtual machine template. This operation makes a copy of the source virtual machine template contained in the library item as a virtual machine. The virtual machine is copied with the same storage specification as the source virtual machine template. Changes to the checked out virtual machine do not affect the virtual machine template contained in the library item. To save these changes back into the library item, *POST /vcenter/vm-template/library-items/{templateLibraryItem}/check-outs/{vm}?action=check-in* the virtual machine. To discard the changes, *DELETE /vcenter/vm-template/library-items/{templateLibraryItem}/check-outs/{vm}* the virtual machine.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `ContentLibrary.CheckOutTemplate`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.CheckOuts.PlacementSpec.folder* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VmTemplate.LibraryItems.CheckOuts.PlacementSpec.resource_pool* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.VmTemplate.LibraryItems.CheckOuts.PlacementSpec.host* requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.VmTemplate.LibraryItems.CheckOuts.PlacementSpec.cluster* requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.CheckOuts_checkOut", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": " Identifier of the content library item containing the source virtual machine template to be checked out.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification used to check out the source virtual machine template as a virtual machine.\n\nThis parameter is currently required. In the future, if this parameter is missing or `null`, the system will apply suitable defaults.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CheckOuts.CheckOutSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the name specified by *Vcenter.VmTemplate.LibraryItems.CheckOuts.CheckOutSpec.name* already exists in the folder specified by *Vcenter.VmTemplate.LibraryItems.CheckOuts.PlacementSpec.folder*.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if spec contains invalid arguments.\n- if the library item is a member of a subscribed library.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if there is an error accessing the files of the source virtual machine template contained in the library item specified by templateLibraryItem.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the limit for the number of virtual machines checked out of a library item (currently 1) has been exceeded.\n\n***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item specified by templateLibraryItem cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Identifier of the virtual machine that was checked out of the library item.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}/check-outs/{vm}?action=check-in": { + "post": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.CheckOuts" + ], + "description": "Checks in a virtual machine into the library item. This operation updates the library item to contain the virtual machine being checked in as a template. This template becomes the latest version of the library item. The previous virtual machine template contained in the library item is available as a backup and its information can be queried using the Vcenter.VmTemplate.LibraryItems.Versions resource. At most one previous version of a virtual machine template is retained in the library item.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `ContentLibrary.CheckInTemplate`. \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.CheckOuts_checkIn", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": " Identifier of the content library item in which the virtual machine is checked in.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "vm", + "in": "path", + "description": " Identifier of the virtual machine to check into the library item.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " Specification used to check in the virtual machine into the library item.\n\nThis parameter is currently required. In the future, if this parameter is missing or `null`, the system will apply suitable defaults.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CheckOuts.CheckInSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if any of the specified parameters are invalid.\n- if the virtual machine identified by vm was not checked out of the item specified by templateLibraryItem.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the operation cannot be performed because of the virtual machine's current state. For example, if the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if there is an error accessing a file from the virtual machine.\n\n***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the item specified by templateLibraryItem does not exist.\n\n if the virtual machine specified by vm does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The new version of the library item.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.item.Version`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}/check-outs": { + "get": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.CheckOuts" + ], + "description": "Returns commonly used information about the virtual machines that are checked out of the library item.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.CheckOuts_list", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": "Identifier of the VM template library item.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the library item does not contain a virtual machine template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of commonly used information about the check outs.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CheckOuts.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}/check-outs/{vm}": { + "get": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.CheckOuts" + ], + "description": "Returns the information about a checked out virtual machine.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `System.Read`. \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.CheckOuts_get", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": "Identifier of the VM template library item.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "vm", + "in": "path", + "description": "Identifier of the checked out virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the virtual machine is not checked out of the library item.\n\n if the library item does not contain a virtual machine template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item or virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about a check out.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CheckOuts.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.CheckOuts" + ], + "description": "Deletes the checked out virtual machine.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Inventory.Delete`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.CheckOuts_delete", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": "Identifier of the VM template library item.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "vm", + "in": "path", + "description": "Identifier of the checked out virtual machine to delete.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the virtual machine is not checked out of the library item.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is running (powered on).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.\n\n***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item or virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}/versions": { + "get": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.Versions" + ], + "description": "Returns commonly used information about the live versions of a virtual machine template library item.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.Versions_list", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": "Identifier of the VM template library item.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the library item does not contain a virtual machine template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "List of commonly used information about the library item versions.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.Versions.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}/versions/{version}": { + "get": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.Versions" + ], + "description": "Returns information about the live version of a library item containing a virtual machine template.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `System.Read`. \n - The resource `com.vmware.content.library.item.Version` referenced by the parameter version requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.Versions_get", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": "Identifier of the VM template library item.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Version of the library item.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the library item does not contain a virtual machine template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item or version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "Information about the specified library item version.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.Versions.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.Versions" + ], + "description": "Deletes the virtual machine template contained in the library item at the specified version.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `ContentLibrary.DeleteLibraryItem`. \n - The resource `com.vmware.content.library.item.Version` referenced by the parameter version requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.Versions_delete", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": "Identifier of the VM template library item.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Version of the library item to delete.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": " if the specified version is the latest version of the library item.\n\n if the library item does not contain a virtual machine template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine template's configuration state cannot be accessed.\n\n***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item or version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}/versions/{version}?action=rollback": { + "post": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems.Versions" + ], + "description": "Rollbacks a library item containing a virtual machine template to a previous version. The virtual machine template at the specified version becomes the latest virtual machine template with a new version identifier.\n\nThis operation was added in __vSphere API 6.9.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `ContentLibrary.CheckInTemplate`. \n - The resource `com.vmware.content.library.item.Version` referenced by the parameter version requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems.Versions_rollback", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": "Identifier of the VM template library item.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "path", + "description": "Version of the library item to rollback.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.item.Version`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification to rollback the library item.\n\nThis parameter is currently required. In the future, if this parameter is missing or `null`, the system will apply suitable defaults.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.Versions.RollbackSpec" + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if the specified version is the latest version of the library item.\n- if the library item does not contain a virtual machine template.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if a virtual machine is checked out of the library item.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": " if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": " if the library item or version is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "200": { + "description": "The new version of the library item.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.item.Version`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/acq-specs": { + "get": { + "tags": [ + "Vstats.AcqSpecs" + ], + "description": "Returns information about all acquisition specifications.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.AcqSpecs_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Criteria for selecting records to return.\n\nWhen set filtering will be applied to the result.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vstats.AcqSpecs.FilterSpec" + } + } + ], + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of acquisition specification records.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.AcqSpecs.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vstats.AcqSpecs" + ], + "description": "Create a new acquisition specification record.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `vStats.CollectAny`. \n", + "operationId": "Vstats.AcqSpecs_create", + "requestBody": { + "description": "Specification for the acquisition of stats data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.AcqSpecs.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if acqSpec contain any errors.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "201": { + "description": "Identifier of the newly created acquisition specification.\n\nThe response will be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/acq-specs/{id}": { + "get": { + "tags": [ + "Vstats.AcqSpecs" + ], + "description": "Returns information about a specific acquisition specification.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.AcqSpecs_get", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Acquisition specification ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if id is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "acquisition specification could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the desired acquisition specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.AcqSpecs.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vstats.AcqSpecs" + ], + "description": "Delete an acquisition specification.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `vStats.CollectAny`. \n", + "operationId": "Vstats.AcqSpecs_delete", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Acquisition specification ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if id is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if acquisition specification could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vstats.AcqSpecs" + ], + "description": "Update an existing acquisition specification.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `vStats.CollectAny`. \n", + "operationId": "Vstats.AcqSpecs_update", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Acquisition specification ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Updated acquisition specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.AcqSpecs.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "acquisition specification could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/counters/{cid}/metadata": { + "get": { + "tags": [ + "Vstats.CounterMetadata" + ], + "description": "Returns information about all counter metadata records for a specific Counter.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.CounterMetadata_list", + "parameters": [ + { + "name": "cid", + "in": "path", + "description": "Counter ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.Counter`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Filter specification.\n\nWhen missing or `null` no filtering will be performed.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vstats.CounterMetadata.FilterSpec" + } + } + ], + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Counter could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of counter metadata for the specified counter.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vstats.CounterMetadata.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/counters/{cid}/metadata/default": { + "get": { + "tags": [ + "Vstats.CounterMetadata" + ], + "description": "This operation returns the \"default\" CounterMetadata. A Counter has at least one related metadata object. Usually, stats providers (for example hosts) are in agreement about the default metadata. In this case the returned list has a single metadata object. \n\n Sometimes, when providers are in \"disagreement\" about the default, then the returned list would include all the possible \"defaults\". This potential ambiguity isn't a real issue because consumers of the vStats API rarely need to specify the \"mid\" of metadata. Therefore, this API is used primarily for informational purposes.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.CounterMetadata_getDefault", + "parameters": [ + { + "name": "cid", + "in": "path", + "description": "Counter ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.Counter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if cid is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Counter could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of counter metadata records.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vstats.CounterMetadata.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/counters/{cid}/metadata/{mid}": { + "get": { + "tags": [ + "Vstats.CounterMetadata" + ], + "description": "Returns information about a specific CounterMetadata.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.CounterMetadata_get", + "parameters": [ + { + "name": "cid", + "in": "path", + "description": "Counter ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.Counter`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "mid", + "in": "path", + "description": "CounterMetadata ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Counter or CounterMetadata could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the desired CounterMetadata.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.CounterMetadata.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/counter-sets": { + "get": { + "tags": [ + "Vstats.CounterSets" + ], + "description": "Returns information about all the counter sets.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.CounterSets_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of counter sets.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vstats.CounterSets.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/counter-sets/{counterSet}": { + "get": { + "tags": [ + "Vstats.CounterSets" + ], + "description": "Returns information about a specific counter set.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.CounterSets_get", + "parameters": [ + { + "name": "counterSet", + "in": "path", + "description": "identifier of the counter set to retrieve.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.CounterSet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if counterSet is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the requested counter set could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the desired CounterSet.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.CounterSets.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/counters": { + "get": { + "tags": [ + "Vstats.Counters" + ], + "description": "Returns information about all counters matching the filter parameters.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.Counters_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Filters the returned records.\n\nWhen missing or `null` no filtering will be applied.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vstats.Counters.FilterSpec" + } + }, + { + "name": "types", + "in": "query", + "description": "Resource type filter.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null` resource type filter will not be applied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of Counters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vstats.Counters.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/counters/{cid}": { + "get": { + "tags": [ + "Vstats.Counters" + ], + "description": "Returns information about a specific Counter.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.Counters_get", + "parameters": [ + { + "name": "cid", + "in": "path", + "description": "Counter ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.Counter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if cid is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Counter could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the requested counter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.Counters.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/data/dp": { + "get": { + "tags": [ + "Vstats.Data" + ], + "description": "Returns *Vstats.Data.DataPointsResult* matching the filter parameters. \n\n `\"/stats/data/dp?types=VM&types=VCPU\"` \n\n `\"/stats/data/dp?rsrcs=type.HOST=host-16&rsrcs=type.VM=vm-31\"`\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `vStats.QueryAny`. \n", + "operationId": "Vstats.Data_queryDataPoints", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification to match DataPoints.\n\nWhen set filtering will be applied to the result.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vstats.Data.FilterSpec" + } + }, + { + "name": "types", + "in": "query", + "description": "List of Resource types.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the result will not be filtered by resource types.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "rsrcs", + "in": "query", + "description": "Resources to include in the query. Each resource is specified through a composite string that follows the following format. \n\n `type.[.]=` \n\n __resource type__ specifies the type of resource for example `VM`, `VCPU` etc. \n\n __scheme__ is an optional element to disambiguate the resource as needed for example to differentiate managed object id from `uuid`. \n\n __resource id__ is the unique resource identifier value for example: `vm-41` \n\n Example values include: `type.VM=vm-41`, `type.VCPU=1`, `type.VM.moid=vm-41`\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen left missing or `null` the result will not be filtered for specific resources.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Data points matching the filter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.Data.DataPointsResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/metrics": { + "get": { + "tags": [ + "Vstats.Metrics" + ], + "description": "Returns list of available Metrics as supplied by the discovered providers.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.Metrics_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of Metrics.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vstats.Metrics.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/providers": { + "get": { + "tags": [ + "Vstats.Providers" + ], + "description": "Returns a list of stats providers.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.Providers_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of stats providers.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vstats.Providers.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/rsrc-addr-schemas/{id}": { + "get": { + "tags": [ + "Vstats.ResourceAddressSchemas" + ], + "description": "Returns information about a specific resource address schema.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.ResourceAddressSchemas_get", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Resource address schema identifier.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if id is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if RsrcAddrSchema could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the desired resource address schema.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.ResourceAddressSchemas.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/rsrc-addrs": { + "get": { + "tags": [ + "Vstats.ResourceAddresses" + ], + "description": "Returns the list of Resource Addresses matching the filter parameters.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `vStats.QueryAny`. \n", + "operationId": "Vstats.ResourceAddresses_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Criteria for selecting records to return.\n\nIf missing or `null` all records will be returned.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vstats.ResourceAddresses.FilterSpec" + } + }, + { + "name": "types", + "in": "query", + "description": "List of Resource types.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the result will not be filtered by resource types.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vstats.model.RsrcType`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "rsrcs", + "in": "query", + "description": "Resources to include in the query. Each resource is specified through a composite string that follows the following format. \n\n `type.[.]=` \n\n __resource type__ specifies the type of resource for example `VM`, `VCPU` etc. \n\n __scheme__ is an optional element to disambiguate the resource as needed for example to differentiate managed object id from `uuid`. \n\n __resource id__ is the unique resource identifier value for example: `vm-41` \n\n Example values include: `type.VM=vm-41`, `type.VCPU=1`, `type.VM.moid=vm-41`\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen left missing or `null` the result will not be filtered for specific resources.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if any of the specified parameters are invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Matching resource addresses.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.ResourceAddresses.ListResult" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/rsrc-addrs/{id}": { + "get": { + "tags": [ + "Vstats.ResourceAddresses" + ], + "description": "Returns information about a specific Resource Address.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `vStats.QueryAny`. \n", + "operationId": "Vstats.ResourceAddresses_get", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Resource Address ID.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddr`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if id is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if Resource Address could not be located.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Information about the desired Resource Address.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vstats.ResourceAddresses.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/stats/rsrc-types": { + "get": { + "tags": [ + "Vstats.ResourceTypes" + ], + "description": "Returns a list of available resource types.\n\n__Warning:__ this operation is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.View`. \n", + "operationId": "Vstats.ResourceTypes_list", + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have sufficient privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "List of resource types.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vstats.ResourceTypes.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + } + }, + "components": { + "schemas": { + "Appliance.AutoRollbackState": { + "type": "string", + "description": "The Appliance.AutoRollbackState enumerated type defines the sub status that can be reported for the auto rollback state during failed operation.\n\nPossible values:\n - `ROLLBACK_NOT_STARTED`: The auto rollback is not started yet.\n - `ROLLBACK_IN_PROGRESS`: The auto rollback is in progress.\n - `ROLLBACK_SUCCEEDED`: The auto rollback is successful.\n - `ROLLBACK_FAILED`: The auto rollback is failed.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "ROLLBACK_NOT_STARTED", + "ROLLBACK_IN_PROGRESS", + "ROLLBACK_SUCCEEDED", + "ROLLBACK_FAILED" + ] + }, + "Appliance.Notification": { + "required": [ + "id", + "message" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The notification id.\n\nThis property was added in __vSphere API 6.7__." + }, + "time": { + "type": "string", + "description": "The time the notification was raised/found.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly if the time information is available.", + "format": "date-time" + }, + "message": { + "description": "The notification message.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "The resolution message, if any.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set for warnings and errors.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Appliance.Notification schema describes a notification that can be reported by the appliance task\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Notifications": { + "type": "object", + "properties": { + "info": { + "type": "array", + "description": "Info notification messages reported.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if an info was reported by the appliance task.", + "items": { + "$ref": "#/components/schemas/Appliance.Notification" + } + }, + "warnings": { + "type": "array", + "description": "Warning notification messages reported.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if an warning was reported by the appliance task.", + "items": { + "$ref": "#/components/schemas/Appliance.Notification" + } + }, + "errors": { + "type": "array", + "description": "Error notification messages reported.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if an error was reported by the appliance task.", + "items": { + "$ref": "#/components/schemas/Appliance.Notification" + } + } + }, + "description": "The Appliance.Notifications schema contains info/warning/error messages that can be reported be the appliance task.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.SubtaskInfo": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "status" + ], + "type": "object", + "properties": { + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "result": { + "description": "Result of the operation. If an operation reports partial results before it completes, this property could be set before the *Cis.Task.CommonInfo.status* has the value *Cis.Task.Status.SUCCEEDED*. The value could change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if result is not available at the current step of the operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Notifications" + } + ] + }, + "auto_rollback_state": { + "type": "string", + "description": "State of the auto-rollback operation if task failed.\n\nPossible values:\n - `ROLLBACK_NOT_STARTED`: The auto rollback is not started yet.\n - `ROLLBACK_IN_PROGRESS`: The auto rollback is in progress.\n - `ROLLBACK_SUCCEEDED`: The auto rollback is successful.\n - `ROLLBACK_FAILED`: The auto rollback is failed.\n\n\nFor more information see: *Appliance.AutoRollbackState*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nOnly set if task has failed." + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Appliance.SubtaskInfo schema contains information about one of the subtasks that makes up an appliance task.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.TaskInfo": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "status", + "subtask_order", + "subtasks" + ], + "type": "object", + "properties": { + "progress": { + "description": "Progress of the task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "subtask_order": { + "type": "array", + "description": "List of tasks that make up this appliance task in the order they are being run.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "type": "string" + } + }, + "subtasks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Appliance.SubtaskInfo" + }, + "description": "Information about the subtasks that this appliance task consists of.\n\nThis property was added in __vSphere API 6.7__." + }, + "auto_rollback_state": { + "type": "string", + "description": "State of the auto-rollback operation if task failed.\n\nPossible values:\n - `ROLLBACK_NOT_STARTED`: The auto rollback is not started yet.\n - `ROLLBACK_IN_PROGRESS`: The auto rollback is in progress.\n - `ROLLBACK_SUCCEEDED`: The auto rollback is successful.\n - `ROLLBACK_FAILED`: The auto rollback is failed.\n\n\nFor more information see: *Appliance.AutoRollbackState*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nOnly set if task has failed." + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Appliance.TaskInfo schema contains information about an appliance task and the subtasks of which it consists.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.HealthCheckSettings.SettingSpec": { + "required": [ + "db_health_check_state_manual_backup", + "db_health_check_state_scheduled_backup" + ], + "type": "object", + "properties": { + "db_health_check_state_manual_backup": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nHealth check state of database during manual backup with this option set, the health status of the particular health check will be reported\n\nThis property was added in __vSphere API 7.0.0.1__." + }, + "db_health_check_state_scheduled_backup": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nHealth check state of database during schedule backup with this option set, the health status of the particular health check will be reported\n\nThis property was added in __vSphere API 7.0.0.1__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nAppliance.HealthCheckSettings.SettingSpec schema contains specification of vCenter Server health and its corresponding state\n\nThis schema was added in __vSphere API 7.0.0.1__.", + "deprecated": true + }, + "Appliance.HealthCheckSettings.UpdateSpec": { + "type": "object", + "properties": { + "db_health_check_state_manual_backup": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nHealth check state of database during manual backup with this option set, the health status of the particular health check will be enabled\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null` the current state will remain unchanged." + }, + "db_health_check_state_scheduled_backup": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nHealth check state of database during schedule backup with this option set, the health status of the particular health check will be enabled\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null` the current state will remain unchanged." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThis schema was added in __vSphere API 7.0.0.1__.", + "deprecated": true + }, + "Appliance.LocalAccounts.Info": { + "required": [ + "enabled", + "has_password", + "roles" + ], + "type": "object", + "properties": { + "fullname": { + "type": "string", + "description": "Full name of the user\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, the value was never set." + }, + "email": { + "type": "string", + "description": "Email address of the local account\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, the value was never set." + }, + "roles": { + "type": "array", + "description": "User roles\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.appliance.roles`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.appliance.roles`.", + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean", + "description": "Flag indicating if the account is enabled\n\nThis property was added in __vSphere API 6.7__." + }, + "has_password": { + "type": "boolean", + "description": "Is the user password set.\n\nThis property was added in __vSphere API 6.7__." + }, + "last_password_change": { + "type": "string", + "description": "Date and time password was changed.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, the password was never set.", + "format": "date-time" + }, + "password_expires_at": { + "type": "string", + "description": "Date when the account's password will expire\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, the password never expires.", + "format": "date-time" + }, + "inactive_at": { + "type": "string", + "description": "Date and time account will be locked after password expiration.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, account will not be locked.", + "format": "date-time" + }, + "min_days_between_password_change": { + "type": "integer", + "description": "Minimum number of days between password change\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, pasword can be changed any time.", + "format": "int64" + }, + "max_days_between_password_change": { + "type": "integer", + "description": "Maximum number of days between password change\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, password never expires.", + "format": "int64" + }, + "warn_days_before_password_expiration": { + "type": "integer", + "description": "Number of days of warning before password expires\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, a user is never warned.", + "format": "int64" + } + }, + "description": "The Appliance.LocalAccounts.Info schema defines the local account properties.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.LocalAccounts.Config": { + "required": [ + "password", + "roles" + ], + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password\n\nThis property was added in __vSphere API 6.7__.", + "format": "password" + }, + "old_password": { + "type": "string", + "description": "Old password of the user (required in case of the password change, not required if superAdmin user changes the password of the other user)\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, user may not have password set.", + "format": "password" + }, + "full_name": { + "type": "string", + "description": "Full name of the user\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, user will have no fullname." + }, + "email": { + "type": "string", + "description": "Email address of the local account\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, user will have no email." + }, + "roles": { + "type": "array", + "description": "User roles\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.appliance.roles`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.appliance.roles`.", + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean", + "description": "Flag indicating if the account is enabled\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, defaults to True" + }, + "password_expires": { + "type": "boolean", + "description": "Flag indicating if the account password expires\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, defaults to True." + }, + "password_expires_at": { + "type": "string", + "description": "Date when the account's password will expire\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will be taken from system defaults (see local-accounts/policy).", + "format": "date-time" + }, + "inactive_after_password_expiration": { + "type": "boolean", + "description": "Flag indicating if the account will be locked after password expiration\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, defaults to True." + }, + "days_after_password_expiration": { + "type": "integer", + "description": "Number of days after password expiration before the account will be locked\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will be taken from system defaults (see local-accounts/policy).", + "format": "int64" + }, + "min_days_between_password_change": { + "type": "integer", + "description": "Minimum number of days between password change\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will be taken from system defaults (see local-accounts/policy).", + "format": "int64" + }, + "max_days_between_password_change": { + "type": "integer", + "description": "Maximum number of days between password change\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will be taken from system defaults (see local-accounts/policy).", + "format": "int64" + }, + "warn_days_before_password_expiration": { + "type": "integer", + "description": "Number of days of warning before password expires\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will be taken from system defaults (see local-accounts/policy).", + "format": "int64" + } + }, + "description": "The Appliance.LocalAccounts.Config schema defines the information required for the account.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.LocalAccounts.UpdateConfig": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed", + "format": "password" + }, + "old_password": { + "type": "string", + "description": "Old password of the user (required in case of the password change, not required if superAdmin user changes the password of the other user)\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, user may not have password set.", + "format": "password" + }, + "full_name": { + "type": "string", + "description": "Full name of the user\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed" + }, + "email": { + "type": "string", + "description": "Email address of the local account\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed" + }, + "roles": { + "type": "array", + "description": "User roles\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.appliance.roles`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.appliance.roles`.", + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean", + "description": "Flag indicating if the account is enabled\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed" + }, + "password_expires": { + "type": "boolean", + "description": "Flag indicating if the account password expires\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed" + }, + "password_expires_at": { + "type": "string", + "description": "Date when the account's password will expire\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed", + "format": "date-time" + }, + "inactive_after_password_expiration": { + "type": "boolean", + "description": "Flag indicating if the account will be locked after password expiration\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed" + }, + "days_after_password_expiration": { + "type": "integer", + "description": "Number of days after password expiration before the account will be locked\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed", + "format": "int64" + }, + "min_days_between_password_change": { + "type": "integer", + "description": "Minimum number of days between password change\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed", + "format": "int64" + }, + "max_days_between_password_change": { + "type": "integer", + "description": "Maximum number of days between password change\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed", + "format": "int64" + }, + "warn_days_before_password_expiration": { + "type": "integer", + "description": "Number of days of warning before password expires\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, value will not be changed", + "format": "int64" + } + }, + "description": "The Appliance.LocalAccounts.UpdateConfig schema defines the fields that might be updated.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Monitoring.FunctionType": { + "type": "string", + "description": "Appliance.Monitoring.FunctionType enumerated type Defines aggregation function\n\nPossible values:\n - `COUNT`: Aggregation takes count per period (sum)\n - `MAX`: Aggregation takes maximums per period\n - `AVG`: Aggregation takes average per period\n - `MIN`: Aggregation takes minimums per period\n", + "enum": [ + "COUNT", + "MAX", + "AVG", + "MIN" + ] + }, + "Appliance.Monitoring.IntervalType": { + "type": "string", + "description": "Appliance.Monitoring.IntervalType enumerated type Defines interval between the values in hours and mins, for which aggregation will apply\n\nPossible values:\n - `MINUTES30`: Thirty minutes interval between values. One week is 336 values.\n - `HOURS2`: Two hours interval between values. One month has 360 values.\n - `MINUTES5`: Five minutes interval between values (finest). One day would have 288 values, one week is 2016.\n - `DAY1`: 24 hours interval between values. One year has 365 values.\n - `HOURS6`: Six hour interval between values. One quarter is 360 values.\n", + "enum": [ + "MINUTES30", + "HOURS2", + "MINUTES5", + "DAY1", + "HOURS6" + ] + }, + "Appliance.Monitoring.MonitoredItemData": { + "required": [ + "data", + "end_time", + "function", + "interval", + "name", + "start_time" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Monitored item IDs Ex: CPU, MEMORY, STORAGE_TOTAL\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.monitoring`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.monitoring`." + }, + "interval": { + "type": "string", + "description": "interval between values in hours, minutes\n\nPossible values:\n - `MINUTES30`: Thirty minutes interval between values. One week is 336 values.\n - `HOURS2`: Two hours interval between values. One month has 360 values.\n - `MINUTES5`: Five minutes interval between values (finest). One day would have 288 values, one week is 2016.\n - `DAY1`: 24 hours interval between values. One year has 365 values.\n - `HOURS6`: Six hour interval between values. One quarter is 360 values.\n\n\nFor more information see: *Appliance.Monitoring.IntervalType*." + }, + "function": { + "type": "string", + "description": "aggregation function\n\nPossible values:\n - `COUNT`: Aggregation takes count per period (sum)\n - `MAX`: Aggregation takes maximums per period\n - `AVG`: Aggregation takes average per period\n - `MIN`: Aggregation takes minimums per period\n\n\nFor more information see: *Appliance.Monitoring.FunctionType*." + }, + "start_time": { + "type": "string", + "description": "Start time in UTC", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "End time in UTC", + "format": "date-time" + }, + "data": { + "type": "array", + "description": "list of values", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.Monitoring.MonitoredItemData schema Structure representing monitored item data." + }, + "Appliance.Monitoring.MonitoredItemDataRequest": { + "required": [ + "end_time", + "function", + "interval", + "start_time" + ], + "type": "object", + "properties": { + "interval": { + "type": "string", + "description": "interval between values in hours, minutes\n\nPossible values:\n - `MINUTES30`: Thirty minutes interval between values. One week is 336 values.\n - `HOURS2`: Two hours interval between values. One month has 360 values.\n - `MINUTES5`: Five minutes interval between values (finest). One day would have 288 values, one week is 2016.\n - `DAY1`: 24 hours interval between values. One year has 365 values.\n - `HOURS6`: Six hour interval between values. One quarter is 360 values.\n\n\nFor more information see: *Appliance.Monitoring.IntervalType*." + }, + "function": { + "type": "string", + "description": "aggregation function\n\nPossible values:\n - `COUNT`: Aggregation takes count per period (sum)\n - `MAX`: Aggregation takes maximums per period\n - `AVG`: Aggregation takes average per period\n - `MIN`: Aggregation takes minimums per period\n\n\nFor more information see: *Appliance.Monitoring.FunctionType*." + }, + "start_time": { + "type": "string", + "description": "Start time in UTC", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "End time in UTC", + "format": "date-time" + } + }, + "description": "Appliance.Monitoring.MonitoredItemDataRequest schema Structure representing requested monitored item data." + }, + "Appliance.Monitoring.MonitoredItem": { + "required": [ + "category", + "description", + "id", + "instance", + "name", + "units" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "monitored item ID Ex: CPU, MEMORY\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.monitoring`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.monitoring`." + }, + "name": { + "type": "string", + "description": "monitored item name Ex: \"Network write speed\"" + }, + "units": { + "type": "string", + "description": "Y-axis label EX: \"Mbps\", \"%\"" + }, + "category": { + "type": "string", + "description": "category Ex: network, storage etc" + }, + "instance": { + "type": "string", + "description": "instance name Ex: eth0" + }, + "description": { + "type": "string", + "description": "monitored item description Ex: com.vmware.applmgmt.mon.descr.net.rx.packetRate.eth0" + } + }, + "description": "Appliance.Monitoring.MonitoredItem schema Structure representing requested monitored item data." + }, + "Appliance.Networking.DnsInfo": { + "required": [ + "hostname", + "mode", + "servers" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "DNS mode.\n\nPossible values:\n - `DHCP`: The DNS servers addresses are obtained from a DHCP server.\n - `STATIC`: The DNS servers addresses are specified explicitly.\n\n\nFor more information see: *Appliance.Networking.DnsInfo.DnsMode*.\n\nThis property was added in __vSphere API 6.7__." + }, + "hostname": { + "type": "string", + "description": "Hostname.\n\nThis property was added in __vSphere API 6.7__." + }, + "servers": { + "type": "array", + "description": "Servers.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Networking.DnsInfo schema contains information about the DNS configuration of a virtual appliance.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.DnsInfo.DnsMode": { + "type": "string", + "description": "The Appliance.Networking.DnsInfo.DnsMode enumerated type describes the source of DNS servers.\n\nPossible values:\n - `DHCP`: The DNS servers addresses are obtained from a DHCP server.\n - `STATIC`: The DNS servers addresses are specified explicitly.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "DHCP", + "STATIC" + ] + }, + "Appliance.Networking.Info": { + "required": [ + "dns", + "interfaces" + ], + "type": "object", + "properties": { + "dns": { + "description": "DNS configuration.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Networking.DnsInfo" + } + ] + }, + "interfaces": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.InterfaceInfo" + }, + "description": "Interface configuration as a key-value map where key is a network interface name, for example, \"nic0\".\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.appliance.networking.interfaces`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.appliance.networking.interfaces`." + } + }, + "description": "The Appliance.Networking.Info schema contains information about the network configuration of a virtual appliance.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.UpdateSpec": { + "type": "object", + "properties": { + "ipv6_enabled": { + "type": "boolean", + "description": "IPv6 Enabled or not\n\nThis property was added in __vSphere API 6.7__.\n\nIf unspecified, leaves the current state of Ipv6." + } + }, + "description": "The Appliance.Networking.UpdateSpec schema describes whether to enable or disable ipv6 on interfaces\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.ChangeSpec": { + "required": [ + "hostname", + "sso_password", + "sso_user" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "New hostname to assign to the management network of vCenter appliance\n\nThis property was added in __vSphere API 6.7.3__." + }, + "sso_user": { + "type": "string", + "description": "vCenter Server SSO administrator username\n\nThis property was added in __vSphere API 6.7.3__." + }, + "sso_password": { + "type": "string", + "description": "vCenter Server SSO administrator Password\n\nThis property was added in __vSphere API 6.7.3__.", + "format": "password" + }, + "dns": { + "description": "DNS Configuration to set for the machine\n\nThis property was added in __vSphere API 6.7.3__.\n\nIf missing or `null` DNS settings will not be changed", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Networking.Dns.Servers.DNSServerConfig" + } + ] + }, + "ipv4": { + "description": "IPv4 Configuration to set for the machine\n\nThis property was added in __vSphere API 6.7.3__.\n\nIf missing or `null` IPv4 settings will not be changed", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv4.Config" + } + ] + }, + "ipv6": { + "description": "IPv6 Configuration to set for the machine\n\nThis property was added in __vSphere API 6.7.3__.\n\nIf missing or `null` IPv6 settings will not be changed", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv6.Config" + } + ] + } + }, + "description": "This schema was added in __vSphere API 6.7.3__." + }, + "Appliance.Ntp.ServerStatus": { + "type": "string", + "description": "Appliance.Ntp.ServerStatus enumerated type Status of server during test\n\nPossible values:\n - `SERVER_REACHABLE`: Server is reachable.\n - `SERVER_UNREACHABLE`: Server is unreachable.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "SERVER_REACHABLE", + "SERVER_UNREACHABLE" + ] + }, + "Appliance.Ntp.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "id in message bundle\n\nThis property was added in __vSphere API 6.7__." + }, + "default_message": { + "type": "string", + "description": "text in english\n\nThis property was added in __vSphere API 6.7__." + }, + "args": { + "type": "array", + "description": "nested data\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.Ntp.LocalizableMessage schema Structure representing message\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Ntp.TestRunStatus": { + "required": [ + "message", + "server", + "status" + ], + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "Server name associated with the test run.\n\nThis property was added in __vSphere API 6.7__." + }, + "status": { + "type": "string", + "description": "Server status\n\nPossible values:\n - `SERVER_REACHABLE`: Server is reachable.\n - `SERVER_UNREACHABLE`: Server is unreachable.\n\n\nFor more information see: *Appliance.Ntp.ServerStatus*.\n\nThis property was added in __vSphere API 6.7__." + }, + "message": { + "description": "Message associated with status\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Ntp.LocalizableMessage" + } + ] + } + }, + "description": "Appliance.Ntp.TestRunStatus schema Status of the test\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Info": { + "required": [ + "supported" + ], + "type": "object", + "properties": { + "supported": { + "type": "boolean", + "description": "Is recovery supported in this appliance.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Recovery.Info schema contains the information about the appliance recovery environment.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Services.State": { + "type": "string", + "description": "The Appliance.Services.State enumerated type defines valid Run State for services.\n\nPossible values:\n - `STARTING`: Service Run State is Starting, it is still not functional\n - `STOPPING`: Service Run State is Stopping, it is not functional\n - `STARTED`: Service Run State is Started, it is fully functional\n - `STOPPED`: Service Run State is Stopped\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "STARTING", + "STOPPING", + "STARTED", + "STOPPED" + ] + }, + "Appliance.Services.Info": { + "required": [ + "description", + "state" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Service description\n\nThis property was added in __vSphere API 6.7__." + }, + "state": { + "type": "string", + "description": "Running State\n\nPossible values:\n - `STARTING`: Service Run State is Starting, it is still not functional\n - `STOPPING`: Service Run State is Stopping, it is not functional\n - `STARTED`: Service Run State is Started, it is fully functional\n - `STOPPED`: Service Run State is Stopped\n\n\nFor more information see: *Appliance.Services.State*.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Services.Info schema contains information about a service.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Shutdown.ShutdownConfig": { + "required": [ + "action", + "reason" + ], + "type": "object", + "properties": { + "shutdown_time": { + "type": "string", + "description": "Shutdown time.\n\nThis property was added in __vSphere API 6.7__.\n\nshutdownTime Optional value of pending shutdown time", + "format": "date-time" + }, + "action": { + "type": "string", + "description": "The pending shutdown operation. The string values for pending operations can be 'poweroff', 'reboot' or ''.\n\nThis property was added in __vSphere API 6.7__." + }, + "reason": { + "type": "string", + "description": "The reason behind the shutdown action\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "Appliance.Shutdown.ShutdownConfig schema Structure that defines shutdown configuration returned by the Shutdown.get operation\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Cores.Info": { + "required": [ + "creation_time", + "name", + "size" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Identifier of the core file.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.supportbundle.cores`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.supportbundle.cores`." + }, + "size": { + "type": "integer", + "description": "Size of core file.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "format": "int64" + }, + "creation_time": { + "type": "string", + "description": "Creation time of core file.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "format": "date-time" + } + }, + "description": "This schema was added in __vSphere API 8.0.2.0__." + }, + "Appliance.SupportBundle.CreationStatus": { + "type": "string", + "description": "Possible values:\n - `SUCCEEDED`: Support bundle creation task succeeded.\n - `FAILED`: Support bundle creation task Failed.\n - `CANCELLED`: Support bundle creation task Cancelled.\n\n\nThis enumeration was added in __vSphere API 7.0.1.0__.", + "enum": [ + "SUCCEEDED", + "FAILED", + "CANCELLED" + ] + }, + "Appliance.SupportBundle.ContentType": { + "type": "string", + "description": "The Appliance.SupportBundle.ContentType enumerated type defines the content in the support bundle generated.\n\nPossible values:\n - `LOGS`: Support bundle will contain only logs.\n - `CORES`: Support bundle will contain only core files.\n - `ALL`: Support bundle will contain logs and core files. By default logs and cores are collected.\n\n\nThis enumeration was added in __vSphere API 8.0.2.0__.", + "enum": [ + "LOGS", + "CORES", + "ALL" + ] + }, + "Appliance.SupportBundle.IterationSpec": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "Size specifies the maximum number of results to return.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null` defaults to 50.", + "format": "int64" + } + }, + "description": "This schema was added in __vSphere API 7.0.1.0__." + }, + "Appliance.SupportBundle.FilterSpec": { + "type": "object", + "properties": { + "available": { + "type": "boolean", + "description": "Filter only downloadable details.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "creation_status": { + "type": "string", + "description": "Filter by task status.\n\nPossible values:\n - `SUCCEEDED`: Support bundle creation task succeeded.\n - `FAILED`: Support bundle creation task Failed.\n - `CANCELLED`: Support bundle creation task Cancelled.\n\n\nFor more information see: *Appliance.SupportBundle.CreationStatus*.\n\nThis property was added in __vSphere API 7.0.1.0__." + } + }, + "description": "This schema was added in __vSphere API 7.0.1.0__." + }, + "Appliance.SupportBundle.Info": { + "required": [ + "description", + "status" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Support bundle creation description.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "status": { + "type": "string", + "description": "Status of the task\n\nPossible values:\n - `SUCCEEDED`: Support bundle creation task succeeded.\n - `FAILED`: Support bundle creation task Failed.\n - `CANCELLED`: Support bundle creation task Cancelled.\n\n\nFor more information see: *Appliance.SupportBundle.CreationStatus*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "generation_time": { + "type": "string", + "description": "Support bundle generation time.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Appliance.SupportBundle.CreationStatus.SUCCEEDED*.", + "format": "date-time" + }, + "url": { + "type": "string", + "description": "Support bundle downlooad URL.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Appliance.SupportBundle.CreationStatus.SUCCEEDED*.", + "format": "uri" + }, + "expiration_time": { + "type": "string", + "description": "Download expiration time.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Appliance.SupportBundle.CreationStatus.SUCCEEDED*.", + "format": "date-time" + }, + "downloadable": { + "type": "boolean", + "description": "Support bundle availability for download.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Appliance.SupportBundle.CreationStatus.SUCCEEDED*." + }, + "size": { + "type": "integer", + "description": "Support bundle file size in KBs.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Appliance.SupportBundle.CreationStatus.SUCCEEDED*.", + "format": "int64" + }, + "failure_reason": { + "description": "Reason for failure\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Appliance.SupportBundle.CreationStatus.FAILED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "checksum_value": { + "type": "string", + "description": "Support bundle SHA256 checksum value.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of status is *Appliance.SupportBundle.CreationStatus.SUCCEEDED*." + }, + "id": { + "type": "string", + "description": "Identifier of the support bundle.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.supportbundle`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.supportbundle`." + }, + "content_type": { + "type": "string", + "description": "Describes the content type (ContentType) collected in support bundle.\n\nPossible values:\n - `LOGS`: Support bundle will contain only logs.\n - `CORES`: Support bundle will contain only core files.\n - `ALL`: Support bundle will contain logs and core files. By default logs and cores are collected.\n\n\nFor more information see: *Appliance.SupportBundle.ContentType*.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of status is *Appliance.SupportBundle.CreationStatus.SUCCEEDED*." + } + }, + "description": "This schema was added in __vSphere API 7.0.1.0__." + }, + "Appliance.SupportBundle.ListResult": { + "required": [ + "supportbundle_operations" + ], + "type": "object", + "properties": { + "supportbundle_operations": { + "type": "array", + "description": "Information about all support bundle requests.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.SupportBundle.Info" + } + } + }, + "description": "This schema was added in __vSphere API 7.0.1.0__." + }, + "Appliance.SupportBundle.CreateSpec": { + "required": [ + "description" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Support bundle creation description.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "components": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Support bundle components to be included. Map with groupName as key and list of components in that group as the value.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "content_type": { + "type": "string", + "description": "Describes the content type to be collected in support bundle.\n\nPossible values:\n - `LOGS`: Support bundle will contain only logs.\n - `CORES`: Support bundle will contain only core files.\n - `ALL`: Support bundle will contain logs and core files. By default logs and cores are collected.\n\n\nFor more information see: *Appliance.SupportBundle.ContentType*.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, both logs and core files will be collected." + }, + "partition": { + "type": "string", + "description": "Partition to be used for saving the support bundle. Available partitions can be retrieved using storage.list API.\n\nThis property was added in __vSphere API 7.0.1.0__." + } + }, + "description": "This schema was added in __vSphere API 7.0.1.0__." + }, + "Appliance.Timesync.TimeSyncMode": { + "type": "string", + "description": "The Appliance.Timesync.TimeSyncMode enumerated type defines time synchronization modes\n\nPossible values:\n - `DISABLED`: Time synchronization is disabled.\n - `NTP`: NTP-based time synchronization.\n - `HOST`: VMware Tool-based time synchronization.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "DISABLED", + "NTP", + "HOST" + ] + }, + "Appliance.Update.State": { + "type": "string", + "description": "The Appliance.Update.State enumerated type defines the various states the appliance update can be in.\n\nPossible values:\n - `UP_TO_DATE`: The appliance is up to date.\n - `UPDATES_PENDING`: A new update is available.\n - `STAGE_IN_PROGRESS`: The appliance update is in progress of downloading an update.\n - `INSTALL_IN_PROGRESS`: The appliance update is in progress of installing an update.\n - `INSTALL_FAILED`: The appliance update failed and cannot recover.\n - `ROLLBACK_IN_PROGRESS`: The appliance update failed and recovery is in progress.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "UP_TO_DATE", + "UPDATES_PENDING", + "STAGE_IN_PROGRESS", + "INSTALL_IN_PROGRESS", + "INSTALL_FAILED", + "ROLLBACK_IN_PROGRESS" + ] + }, + "Appliance.Update.Info": { + "required": [ + "state", + "version" + ], + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "State of the appliance update.\n\nPossible values:\n - `UP_TO_DATE`: The appliance is up to date.\n - `UPDATES_PENDING`: A new update is available.\n - `STAGE_IN_PROGRESS`: The appliance update is in progress of downloading an update.\n - `INSTALL_IN_PROGRESS`: The appliance update is in progress of installing an update.\n - `INSTALL_FAILED`: The appliance update failed and cannot recover.\n - `ROLLBACK_IN_PROGRESS`: The appliance update failed and recovery is in progress.\n\n\nFor more information see: *Appliance.Update.State*.\n\nThis property was added in __vSphere API 6.7__." + }, + "task": { + "description": "The running or completed update task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.TaskInfo" + } + ] + }, + "version": { + "type": "string", + "description": "Version of base appliance if state is UP_TO_DATE Version of update being staged or installed if state is INSTALL_IN_PROGRESS or STAGE_IN_PROGRESS Version of update staged if state is UPDATES_PENDING Version of update failed if state is INSTALL_FAILED or ROLLBACK_IN_PROGRESS\n\nThis property was added in __vSphere API 6.7__." + }, + "latest_query_time": { + "type": "string", + "description": "Timestamp of latest query to update repository.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the update was never queried", + "format": "date-time" + } + }, + "description": "The Appliance.Update.Info schema describes the state of the appliance update.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Access.Shell.ShellConfig": { + "required": [ + "enabled", + "timeout" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enabled can be set to true or false" + }, + "timeout": { + "type": "integer", + "description": "The timeout (in seconds) specifies how long you enable the Shell access. The maximum timeout is 86400 seconds(1 day).", + "format": "int64" + } + }, + "description": "Appliance.Access.Shell.ShellConfig schema Structure that defines shell configuration." + }, + "Appliance.Health.Database.Info": { + "required": [ + "messages", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDatabase health status\n\nPossible values:\n - `UNHEALTHY`: The database is corrupted and vCenter server functionality will be impacted.\n - `DEGRADED`: The database has issues but the impact on vCenter Server is low.\n - `HEALTHY`: The database is healthy.\n\n\nFor more information see: *Appliance.Health.Database.Info.Status*.\n\nThis property was added in __vSphere API 7.0.0.1__." + }, + "messages": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nMessages describing any issues with the database, along with their severity.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Appliance.Health.Database.Message" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Appliance.Health.Database.Info schema contains information about the health of the the database.\n\nThis schema was added in __vSphere API 7.0.0.1__.", + "deprecated": true + }, + "Appliance.Health.Database.Info.Status": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Appliance.Health.Database.Info.Status enumerated type describes the health of the database.\n\nPossible values:\n - `UNHEALTHY`: The database is corrupted and vCenter server functionality will be impacted.\n - `DEGRADED`: The database has issues but the impact on vCenter Server is low.\n - `HEALTHY`: The database is healthy.\n\n\nThis enumeration was added in __vSphere API 7.0.0.1__.", + "enum": [ + "UNHEALTHY", + "DEGRADED", + "HEALTHY" + ] + }, + "Appliance.Health.Database.Message": { + "required": [ + "message", + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nSeverity of the message.\n\nPossible values:\n - `ERROR`: Error message.\n - `WARNING`: Warning message.\n\n\nFor more information see: *Appliance.Health.Database.Message.Severity*.\n\nThis property was added in __vSphere API 7.0.0.1__." + }, + "message": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nMessage describing the issue with the database.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Appliance.Health.Database.Message schema contains a database health message along with its severity.\n\nThis schema was added in __vSphere API 7.0.0.1__.", + "deprecated": true + }, + "Appliance.Health.Database.Message.Severity": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__.\n\nThe MessageSeverity enumerated type defines the levels of severity for a message.\n\nPossible values:\n - `ERROR`: Error message.\n - `WARNING`: Warning message.\n\n\nThis enumeration was added in __vSphere API 7.0.0.1__.", + "enum": [ + "ERROR", + "WARNING" + ] + }, + "Appliance.Health.Databasestorage.HealthLevel": { + "type": "string", + "description": "Appliance.Health.Databasestorage.HealthLevel enumerated type Defines service health levels.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: The service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy but experiencing some problems.\n", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "Appliance.Health.Load.HealthLevel": { + "type": "string", + "description": "Appliance.Health.Load.HealthLevel enumerated type Defines health levels.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "Appliance.Health.Mem.HealthLevel": { + "type": "string", + "description": "Appliance.Health.Mem.HealthLevel enumerated type Defines health levels.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "Appliance.Health.Softwarepackages.HealthLevel": { + "type": "string", + "description": "Appliance.Health.Softwarepackages.HealthLevel enumerated type Defines health levels.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "Appliance.Health.Storage.HealthLevel": { + "type": "string", + "description": "Appliance.Health.Storage.HealthLevel enumerated type Defines health levels.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "Appliance.Health.Swap.HealthLevel": { + "type": "string", + "description": "Appliance.Health.Swap.HealthLevel enumerated type Defines health levels.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "Appliance.Health.System.HealthLevel": { + "type": "string", + "description": "Appliance.Health.System.HealthLevel enumerated type Defines health levels.\n\nPossible values:\n - `orange`: The service health is degraded. The service might have serious problems.\n - `gray`: No health data is available for this service.\n - `green`: Service is healthy.\n - `red`: The service is unavaiable, not functioning properly, or will stop functioning soon.\n - `yellow`: The service is healthy state, but experiencing some levels of problems.\n", + "enum": [ + "orange", + "gray", + "green", + "red", + "yellow" + ] + }, + "Appliance.Infraprofile.Notification": { + "required": [ + "message", + "notification" + ], + "type": "object", + "properties": { + "notification": { + "type": "string", + "description": "The notification id.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.infraprofile.notification`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.infraprofile.notification`." + }, + "time": { + "type": "string", + "description": "The time the notification was raised/found.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if the time information is available.", + "format": "date-time" + }, + "message": { + "description": "The notification message.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "The resolution message, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set for warnings and errors.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Appliance.Infraprofile.Notification schema contains properties to describe any info/warning/error messages that Tasks can raise.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Appliance.Infraprofile.Notifications": { + "type": "object", + "properties": { + "info": { + "type": "array", + "description": "Info notification messages reported.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if an info was reported by the task.", + "items": { + "$ref": "#/components/schemas/Appliance.Infraprofile.Notification" + } + }, + "warnings": { + "type": "array", + "description": "Warning notification messages reported.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if an warning was reported by the task.", + "items": { + "$ref": "#/components/schemas/Appliance.Infraprofile.Notification" + } + }, + "errors": { + "type": "array", + "description": "Error notification messages reported.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if an error was reported by the task.", + "items": { + "$ref": "#/components/schemas/Appliance.Infraprofile.Notification" + } + } + }, + "description": "The Appliance.Infraprofile.Notifications schema contains info/warning/error messages that can be reported be the task.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Appliance.Infraprofile.TaskInfo": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "status" + ], + "type": "object", + "properties": { + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "notifications": { + "description": "Notifications to the user\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if the notifications were reported by this particular task.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Infraprofile.Notifications" + } + ] + }, + "result": { + "description": "Task result.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if the task has no result." + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Appliance.Infraprofile.TaskInfo schema contains information about a task.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Appliance.Infraprofile.Configs.ValidationStatus": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Appliance.Infraprofile.Configs.ValidationStatus schema defines possible values of status of profile spec.\n\nPossible values:\n - `VALID`: Profile spec is valid.\n - `INVALID`: Profile spec is invalid.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "VALID", + "INVALID" + ] + }, + "Appliance.Infraprofile.Configs.ProfileInfo": { + "required": [ + "info", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nName of the profile which is also a profile identifier.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.infraprofile.profile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.infraprofile.profile`." + }, + "info": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nDescription of the profile.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Appliance.Infraprofile.Configs.ProfileInfo schema defines the information about profile.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Appliance.Infraprofile.Configs.ProfilesSpec": { + "type": "object", + "properties": { + "encryption_key": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nEncryption Key to encrypt/decrypt profiles.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` encryption will not be used for the profile.", + "format": "password" + }, + "description": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCustom description provided by the user.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` description will be empty." + }, + "profiles": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nProfiles to be exported/imported.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, all profiles will be returned.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.infraprofile.profile`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.infraprofile.profile`.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Appliance.Infraprofile.Configs.ProfilesSpec schema represents a spec information for export operation.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Appliance.Infraprofile.Configs.ImportProfileSpec": { + "required": [ + "config_spec" + ], + "type": "object", + "properties": { + "config_spec": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe JSON string representing the desired config specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "profile_spec": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe profile specification, if any\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nonly set if there is a profilespec avaliable for this import profilespec.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Infraprofile.Configs.ProfilesSpec" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Appliance.Infraprofile.Configs.ImportProfileSpec schema represents a spec information for import and validate.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Appliance.Infraprofile.Configs.ValidationResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nStatus of the Profile spec.\n\nPossible values:\n - `VALID`: Profile spec is valid.\n - `INVALID`: Profile spec is invalid.\n\n\nFor more information see: *Appliance.Infraprofile.Configs.ValidationStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "notifications": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nNotifications to the user\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if the notifications were reported by this particular validation.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Infraprofile.Notifications" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Appliance.Infraprofile.Configs.ValidationResult schema contains properties to describe result of validation of profile specification.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Appliance.LocalAccounts.Policy.Info": { + "type": "object", + "properties": { + "max_days": { + "type": "integer", + "description": "Maximum number of days a password may be used. If the password is older than this, a password change will be forced.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` then the restriction will be ignored. This updates the global settings for the new users as well as the existing users. To update the settings for a particular user, PATCH /api/appliance/local-accounts/{username} API can be used", + "format": "int64" + }, + "min_days": { + "type": "integer", + "description": "Minimum number of days allowed between password changes. Any password changes attempted sooner than this will be rejected.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` then the restriction will be ignored. This updates the global settings for the new users as well as the existing users. To update the settings for a particular user, PATCH /api/appliance/local-accounts/{username} API can be used", + "format": "int64" + }, + "warn_days": { + "type": "integer", + "description": "Number of days warning given before a password expires. A zero means warning is given only upon the day of expiration.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` then no warning will be provided. This updates the global settings for the new users as well as the existing users. To update the settings for a particular user, PATCH /api/appliance/local-accounts/{username} API can be used", + "format": "int64" + }, + "prior_password_remember_count": { + "type": "integer", + "description": "The number of prior passwords for the user to be remembered by the vCenter appliance in order for the appliance to assess non-repetition.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then no warning will be provided.", + "format": "int64" + }, + "failed_attempt_count_before_account_lockout": { + "type": "integer", + "description": "Threshold Number of consecutive authentication failures for the user during the recent interval before the account is locked out.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then no warning will be provided", + "format": "int64" + }, + "length_of_lockout_period_in_seconds": { + "type": "integer", + "description": "The access will be reenabled after n seconds after the lock out.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then no warning will be provided", + "format": "int64" + }, + "fail_interval_between_attempts": { + "type": "integer", + "description": "The length of the interval during which the consecutive authentication failures must happen for the user account lock out\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then the restriction will be ignored.", + "format": "int64" + }, + "minimum_length": { + "type": "integer", + "description": "Minimum number of the characters needed in the password.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then the restriction will be ignored.", + "format": "int64" + }, + "minimum_uppercase_char_count": { + "type": "integer", + "description": "Minimum number of upper case characters needed in the password.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then the restriction will be ignored.", + "format": "int64" + }, + "minimum_lowercase_char_count": { + "type": "integer", + "description": "Minimum number of lower case characters needed in the password.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then the restriction will be ignored.", + "format": "int64" + }, + "minimum_numerics_char_count": { + "type": "integer", + "description": "Minimum number of numeric characters needed in the password.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then the restriction will be ignored.", + "format": "int64" + }, + "minimum_special_char_count": { + "type": "integer", + "description": "Minimum number of special characters needed in the password.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then the restriction will be ignored.", + "format": "int64" + }, + "managed_at_fleet": { + "type": "boolean", + "description": "Whether the password policy is managed at fleet or not.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then the password policy is not fleet managed" + } + }, + "description": "The Appliance.LocalAccounts.Policy.Info schema defines the global password policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Logging.Forwarding.Protocol": { + "type": "string", + "description": "The Appliance.Logging.Forwarding.Protocol enumerated type defines transport protocols for outbound log messages.\n\nPossible values:\n - `TLS`: Log messages will be forwarded to the remote host by using the TLS protocol.\n - `UDP`: Log messages will be forwarded to the remote host using the UDP protocol.\n - `TCP`: Log messages will be forwarded to the remote host using the TCP protocol.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "TLS", + "UDP", + "TCP" + ] + }, + "Appliance.Logging.Forwarding.Config": { + "required": [ + "hostname", + "port", + "protocol" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "FQDN or IP address of the logging server to which messages are forwarded.\n\nThis property was added in __vSphere API 6.7__." + }, + "port": { + "type": "integer", + "description": "The port on which the remote logging server is listening for forwarded log messages.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "protocol": { + "type": "string", + "description": "Transport protocol used to forward log messages.\n\nPossible values:\n - `TLS`: Log messages will be forwarded to the remote host by using the TLS protocol.\n - `UDP`: Log messages will be forwarded to the remote host using the UDP protocol.\n - `TCP`: Log messages will be forwarded to the remote host using the TCP protocol.\n\n\nFor more information see: *Appliance.Logging.Forwarding.Protocol*.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Logging.Forwarding.Config schema defines the configuration for log message forwarding to remote logging servers.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Logging.Forwarding.ConnectionStatus": { + "required": [ + "hostname", + "state" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "FQDN or IP address of the configured remote logging servers.\n\nThis property was added in __vSphere API 6.7__." + }, + "state": { + "type": "string", + "description": "State of the configured remote logging server.\n\nPossible values:\n - `UP`: The remote logging server is reachable.\n - `DOWN`: The remote logging server is not reachable.\n - `UNKNOWN`: The status of remote logging server is unknown.\n\n\nFor more information see: *Appliance.Logging.Forwarding.ConnectionStatus.State*.\n\nThis property was added in __vSphere API 6.7__." + }, + "message": { + "description": "Message associated with the state of the configured remote logging server.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, there is no message to be shown.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This schema was added in __vSphere API 6.7__." + }, + "Appliance.Logging.Forwarding.ConnectionStatus.State": { + "type": "string", + "description": "The Appliance.Logging.Forwarding.ConnectionStatus.State enumerated type defines the state values that a remote logging server can be in.\n\nPossible values:\n - `UP`: The remote logging server is reachable.\n - `DOWN`: The remote logging server is not reachable.\n - `UNKNOWN`: The status of remote logging server is unknown.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "UP", + "DOWN", + "UNKNOWN" + ] + }, + "Appliance.Logging.Liagent.LogCollection.UnitType": { + "type": "string", + "description": "The Appliance.Logging.Liagent.LogCollection.UnitType enumerated type defines the possible unit types for vCenter server.\n\nPossible values:\n - `VCENTER`: The vCenter server control unit.\n - `ESX`: ESXi server unit.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "VCENTER", + "ESX" + ] + }, + "Appliance.Logging.Liagent.LogCollection.Config": { + "required": [ + "content", + "enabled", + "unitid", + "unittype" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Specifies whether log collection is enabled for this unit. If set to 'false', the 'content' field will contain the appropriate configuration required to disable log collection for the underlying loginsight agent.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "unitid": { + "type": "string", + "description": "A unique identifier for the log collection unit, typically aligned with the component's logical or infrastructure identity.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "unittype": { + "type": "string", + "description": "Value indicating the nature of the component (vCenterServer or ESXi)\n\nPossible values:\n - `VCENTER`: The vCenter server control unit.\n - `ESX`: ESXi server unit.\n\n\nFor more information see: *Appliance.Logging.Liagent.LogCollection.UnitType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "content": { + "type": "string", + "description": "The raw text/string content for the loginsight agent's configuration.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "host": { + "type": "string", + "description": "The hostname of the loginsight server.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, host is not required when the liagent is being disabled." + }, + "port": { + "type": "integer", + "description": "The port number for sending log traffic to the specified loginsight server. Used in conjunction with the 'host' field to fully identify the log destination endpoint.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, port is not required when the liagent is being disabled.", + "format": "int64" + }, + "protocol": { + "type": "string", + "description": "The protocol used for forwarding logs. Currently supported values are \"cfapi\" and \"syslog\".\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, protocol is not required when the liagent is being disabled." + }, + "loglevel": { + "type": "string", + "description": "Desired overall log verbosity for the component.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, loglevel is not required for vcenter, as it will be controlled in the config content." + }, + "certificates": { + "type": "array", + "description": "List of PEM-encoded Certificates which will be configured to establish trust with Log insight server.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, there is no certificate to be used.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Logging.Liagent.LogCollection.Config schema defines the configurations for loginsight agent to stream vCenter service logs to loginsight server.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Appliance.Logging.Liagent.LogCollection.ResponseSpec": { + "required": [ + "enabled", + "message", + "status", + "unitid", + "unittype" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Specifies whether log collection is enabled for this unit.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "unitid": { + "type": "string", + "description": "A unique identifier for the log collection unit, typically aligned with the component's logical or infrastructure identity.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "unittype": { + "type": "string", + "description": "Value indicating the nature of the component (vCenterServer or ESXi)\n\nPossible values:\n - `VCENTER`: The vCenter server control unit.\n - `ESX`: ESXi server unit.\n\n\nFor more information see: *Appliance.Logging.Liagent.LogCollection.UnitType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "status": { + "type": "string", + "description": "Status indicates the configuration status of loginsight in vCenter. This can have the values : \"NOT_CONFIGURED\", \"CONFIGURED\" or \"FAILED\"\n\nPossible values:\n - `NOT_CONFIGURED`: Log insight agent is not configured.\n - `CONFIGURED`: Configuration was received and applied.\n - `FAILED`: Failed to apply the configuration.\n\n\nFor more information see: *Appliance.Logging.Liagent.LogCollection.ResponseSpec.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "message": { + "type": "string", + "description": "Error or success message, post configuration of loginsight. Example : \"An unexpected error occurred while applying the configuration.\" or \"Configuration was received and applied.\"\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "content": { + "type": "string", + "description": "The raw text/string content of the loginsight agent configuration configured within vCenter.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, there is no content to be shown." + } + }, + "description": "The Appliance.Logging.Liagent.LogCollection.ResponseSpec schema describes the loginsight agent configuration in vCenter.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Appliance.Logging.Liagent.LogCollection.ResponseSpec.Status": { + "type": "string", + "description": "The Appliance.Logging.Liagent.LogCollection.ResponseSpec.Status enumerated type defines the possible status for log insight agent configuration.\n\nPossible values:\n - `NOT_CONFIGURED`: Log insight agent is not configured.\n - `CONFIGURED`: Configuration was received and applied.\n - `FAILED`: Failed to apply the configuration.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NOT_CONFIGURED", + "CONFIGURED", + "FAILED" + ] + }, + "Appliance.Logging.Liagent.LogCollection.SetSpec": { + "required": [ + "configurations" + ], + "type": "object", + "properties": { + "configurations": { + "type": "array", + "description": "Defines the list of loginsight agent configurations.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.Config" + } + } + }, + "description": "The Appliance.Logging.Liagent.LogCollection.SetSpec schema contains the information about the list of loginsight agent configurations.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Appliance.Logging.Liagent.LogCollection.SetResult": { + "required": [ + "configurations" + ], + "type": "object", + "properties": { + "configurations": { + "type": "array", + "description": "Defines the list of loginsight agent configurations.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.ResponseSpec" + } + } + }, + "description": "The Appliance.Logging.Liagent.LogCollection.SetResult schema contains the information about the status of list of loginsight agent configurations.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Appliance.Logging.Liagent.LogCollection.Info": { + "required": [ + "configurations" + ], + "type": "object", + "properties": { + "configurations": { + "type": "array", + "description": "Defines the list of loginsight agent configurations.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.ResponseSpec" + } + } + }, + "description": "The Appliance.Logging.Liagent.LogCollection.Info schema contains the information about the list of loginsight agent configurations.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Appliance.Logging.Liagent.LogCollection.ClientError": { + "required": [ + "configurations" + ], + "type": "object", + "properties": { + "configurations": { + "type": "array", + "description": "Contains more information about the error happend during loginsight agent configurations.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.ResponseSpec" + } + } + }, + "description": "Error thrown when malformed syntax or invalid data in the request.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Appliance.Logging.Liagent.LogCollection.ServerError": { + "required": [ + "configurations" + ], + "type": "object", + "properties": { + "configurations": { + "type": "array", + "description": "Contains more information about the error happend during loginsight agent configurations.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Logging.Liagent.LogCollection.ResponseSpec" + } + } + }, + "description": "Error thrown when there is an internal error while processing the API request.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Appliance.Networking.Proxy.Protocol": { + "type": "string", + "description": "Appliance.Networking.Proxy.Protocol enumerated type defines the protocols for which proxying is supported.\n\nPossible values:\n - `HTTP`: Proxy configuration for http.\n - `HTTPS`: Proxy configuration for https.\n - `FTP`: Proxy configuration for ftp.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "HTTP", + "HTTPS", + "FTP" + ] + }, + "Appliance.Networking.Proxy.ServerStatus": { + "type": "string", + "description": "Appliance.Networking.Proxy.ServerStatus enumerated type defines the status of the server associated with the test run.\n\nPossible values:\n - `SERVER_REACHABLE`: Server is reachable.\n - `SERVER_UNREACHABLE`: Server is unreachable.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "SERVER_REACHABLE", + "SERVER_UNREACHABLE" + ] + }, + "Appliance.Networking.Proxy.Config": { + "required": [ + "enabled", + "port", + "server" + ], + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "URL of the proxy server\n\nThis property was added in __vSphere API 6.7__." + }, + "port": { + "type": "integer", + "description": "Port to connect to the proxy server. In a 'get' call, indicates the port connected to the proxy server. In a 'set' call, specifies the port to connect to the proxy server. A value of -1 indicates the default port.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "username": { + "type": "string", + "description": "Username for proxy server.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if proxy requires username." + }, + "password": { + "type": "string", + "description": "Password for proxy server.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if proxy requires password.", + "format": "password" + }, + "enabled": { + "type": "boolean", + "description": "In the result of the #get and #list operations this property indicates whether proxying is enabled for a particular protocol. In the input to the test and set operations this property specifies whether proxying should be enabled for a particular protocol.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Networking.Proxy.Config schema defines proxy configuration.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.Proxy.TestResult": { + "required": [ + "message", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the proxy server indicating whether the proxy server is reachable.\n\nPossible values:\n - `SERVER_REACHABLE`: Server is reachable.\n - `SERVER_UNREACHABLE`: Server is unreachable.\n\n\nFor more information see: *Appliance.Networking.Proxy.ServerStatus*.\n\nThis property was added in __vSphere API 6.7__." + }, + "message": { + "description": "Message associated with status.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Appliance.Networking.Proxy.TestResult schema contains information about the test operation done on a proxy server.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.Interfaces.InterfaceStatus": { + "type": "string", + "description": "Appliance.Networking.Interfaces.InterfaceStatus enumerated type Defines interface status\n\nPossible values:\n - `down`: The interface is down.\n - `up`: The interface is up.\n", + "enum": [ + "down", + "up" + ] + }, + "Appliance.Networking.Interfaces.InterfaceInfo": { + "required": [ + "mac", + "name", + "status" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Interface name, for example, \"nic0\", \"nic1\"." + }, + "status": { + "type": "string", + "description": "Interface status.\n\nPossible values:\n - `down`: The interface is down.\n - `up`: The interface is up.\n\n\nFor more information see: *Appliance.Networking.Interfaces.InterfaceStatus*." + }, + "mac": { + "type": "string", + "description": "MAC address. For example 00:0C:29:94:BB:5A." + }, + "ipv4": { + "description": "IPv4 Address information.\n\nThis property was added in __vSphere API 6.7__.\n\nipv4 This property will be missing or `null` if IPv4 is not enabled.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv4.Info" + } + ] + }, + "ipv6": { + "description": "IPv6 Address information.\n\nThis property was added in __vSphere API 6.7__.\n\nipv6 This property will be missing or `null` if IPv6 is not enabled.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv6.Info" + } + ] + } + }, + "description": "Appliance.Networking.Interfaces.InterfaceInfo schema Structure that defines properties and status of a network interface." + }, + "Appliance.Networking.Dns.Hostname.TestStatus": { + "type": "string", + "description": "Appliance.Networking.Dns.Hostname.TestStatus enumerated type Health indicator\n\nPossible values:\n - `orange`: In case data has more than one test, this indicates not all tests were successful\n - `green`: All tests were successful for given data\n - `red`: All tests failed for given data\n", + "enum": [ + "orange", + "green", + "red" + ] + }, + "Appliance.Networking.Dns.Hostname.MessageStatus": { + "type": "string", + "description": "Appliance.Networking.Dns.Hostname.MessageStatus enumerated type Individual test result\n\nPossible values:\n - `failure`: message indicates the test failed.\n - `success`: message indicates that the test was successful.\n", + "enum": [ + "failure", + "success" + ] + }, + "Appliance.Networking.Dns.Hostname.Message": { + "required": [ + "message", + "result" + ], + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "message" + }, + "result": { + "type": "string", + "description": "result of the test\n\nPossible values:\n - `failure`: message indicates the test failed.\n - `success`: message indicates that the test was successful.\n\n\nFor more information see: *Appliance.Networking.Dns.Hostname.MessageStatus*." + } + }, + "description": "Appliance.Networking.Dns.Hostname.Message schema Test result and message" + }, + "Appliance.Networking.Dns.Hostname.TestStatusInfo": { + "required": [ + "messages", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Overall status of tests run.\n\nPossible values:\n - `orange`: In case data has more than one test, this indicates not all tests were successful\n - `green`: All tests were successful for given data\n - `red`: All tests failed for given data\n\n\nFor more information see: *Appliance.Networking.Dns.Hostname.TestStatus*." + }, + "messages": { + "type": "array", + "description": "messages", + "items": { + "$ref": "#/components/schemas/Appliance.Networking.Dns.Hostname.Message" + } + } + }, + "description": "Appliance.Networking.Dns.Hostname.TestStatusInfo schema Overall test result" + }, + "Appliance.Networking.Dns.Servers.DNSServerMode": { + "type": "string", + "description": "Appliance.Networking.Dns.Servers.DNSServerMode enumerated type Describes DNS Server source (DHCP,static)\n\nPossible values:\n - `dhcp`: DNS address is automatically assigned by a DHCP server.\n - `is_static`: DNS address is static.\n", + "enum": [ + "dhcp", + "is_static" + ] + }, + "Appliance.Networking.Dns.Servers.TestStatus": { + "type": "string", + "description": "Appliance.Networking.Dns.Servers.TestStatus enumerated type Health indicator\n\nPossible values:\n - `orange`: In case data has more than one test, this indicates not all tests were successful\n - `green`: All tests were successful for given data\n - `red`: All tests failed for given data\n", + "enum": [ + "orange", + "green", + "red" + ] + }, + "Appliance.Networking.Dns.Servers.MessageStatus": { + "type": "string", + "description": "Appliance.Networking.Dns.Servers.MessageStatus enumerated type Individual test result\n\nPossible values:\n - `failure`: message indicates the test failed.\n - `success`: message indicates that the test was successful.\n", + "enum": [ + "failure", + "success" + ] + }, + "Appliance.Networking.Dns.Servers.DNSServerConfig": { + "required": [ + "mode", + "servers" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Define how to determine the DNS servers. Leave the servers argument empty if the mode argument is \"DHCP\". Set the servers argument to a comma-separated list of DNS servers if the mode argument is \"static\". The DNS server are assigned from the specified list.\n\nPossible values:\n - `dhcp`: DNS address is automatically assigned by a DHCP server.\n - `is_static`: DNS address is static.\n\n\nFor more information see: *Appliance.Networking.Dns.Servers.DNSServerMode*." + }, + "servers": { + "type": "array", + "description": "List of the currently used DNS servers.", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.Networking.Dns.Servers.DNSServerConfig schema This structure represents the configuration state used to determine DNS servers." + }, + "Appliance.Networking.Dns.Servers.Message": { + "required": [ + "message", + "result" + ], + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "message" + }, + "result": { + "type": "string", + "description": "result of the test\n\nPossible values:\n - `failure`: message indicates the test failed.\n - `success`: message indicates that the test was successful.\n\n\nFor more information see: *Appliance.Networking.Dns.Servers.MessageStatus*." + } + }, + "description": "Appliance.Networking.Dns.Servers.Message schema Test result and message" + }, + "Appliance.Networking.Dns.Servers.TestStatusInfo": { + "required": [ + "messages", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Overall status of tests run.\n\nPossible values:\n - `orange`: In case data has more than one test, this indicates not all tests were successful\n - `green`: All tests were successful for given data\n - `red`: All tests failed for given data\n\n\nFor more information see: *Appliance.Networking.Dns.Servers.TestStatus*." + }, + "messages": { + "type": "array", + "description": "messages", + "items": { + "$ref": "#/components/schemas/Appliance.Networking.Dns.Servers.Message" + } + } + }, + "description": "Appliance.Networking.Dns.Servers.TestStatusInfo schema Overall test result" + }, + "Appliance.Networking.Firewall.Inbound.Policy": { + "type": "string", + "description": "Appliance.Networking.Firewall.Inbound.Policy enumerated type Defines firewall rule policies.\n\nPossible values:\n - `IGNORE`: Drop packet with correpsonding address.\n - `ACCEPT`: Allow packet with corresponding address.\n - `REJECT`: Drop packet with corresponding address sending destination is not reachable.\n - `RETURN`: Apply default or port-specific rules to packet with corresponding address.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "IGNORE", + "ACCEPT", + "REJECT", + "RETURN" + ] + }, + "Appliance.Networking.Firewall.Inbound.Rule": { + "required": [ + "address", + "policy", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "IPv4 or IPv6 address.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "prefix": { + "type": "integer", + "description": "CIDR prefix used to mask address. For example, an IPv4 prefix of 24 ignores the low-order 8 bits of address.\n\nThis property was added in __vSphere API 6.7.1__.", + "format": "int64" + }, + "policy": { + "type": "string", + "description": "The allow or deny policy of this rule.\n\nPossible values:\n - `IGNORE`: Drop packet with correpsonding address.\n - `ACCEPT`: Allow packet with corresponding address.\n - `REJECT`: Drop packet with corresponding address sending destination is not reachable.\n - `RETURN`: Apply default or port-specific rules to packet with corresponding address.\n\n\nFor more information see: *Appliance.Networking.Firewall.Inbound.Policy*.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "interface_name": { + "type": "string", + "description": "The interface to which this rule applies. An empty string indicates that the rule applies to all interfaces.\n\nThis property was added in __vSphere API 6.7.1__." + } + }, + "description": "Appliance.Networking.Firewall.Inbound.Rule schema Structure that defines a single address-based firewall rule.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Appliance.Networking.Interfaces.Ipv4.Mode": { + "type": "string", + "description": "The Appliance.Networking.Interfaces.Ipv4.Mode enumerated type defines different IPv4 address assignment modes.\n\nPossible values:\n - `DHCP`: The IPv4 address is automatically assigned by a DHCP server.\n - `STATIC`: The IPv4 address is static.\n - `UNCONFIGURED`: The IPv4 protocol is not configured.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "DHCP", + "STATIC", + "UNCONFIGURED" + ] + }, + "Appliance.Networking.Interfaces.Ipv4.Config": { + "required": [ + "mode" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "The Address assignment mode.\n\nPossible values:\n - `DHCP`: The IPv4 address is automatically assigned by a DHCP server.\n - `STATIC`: The IPv4 address is static.\n - `UNCONFIGURED`: The IPv4 protocol is not configured.\n\n\nFor more information see: *Appliance.Networking.Interfaces.Ipv4.Mode*.\n\nThis property was added in __vSphere API 6.7__." + }, + "address": { + "type": "string", + "description": "The IPv4 address, for example, \"10.20.80.191\".\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of mode is *Appliance.Networking.Interfaces.Ipv4.Mode.STATIC*." + }, + "prefix": { + "type": "integer", + "description": "The IPv4 CIDR prefix, for example, 24. See http://www.oav.net/mirrors/cidr.html for netmask-to-prefix conversion.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of mode is *Appliance.Networking.Interfaces.Ipv4.Mode.STATIC*.", + "format": "int64" + }, + "default_gateway": { + "type": "string", + "description": "The IPv4 address of the default gateway. This configures the global default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, the defaultGateway was never set." + } + }, + "description": "The Appliance.Networking.Interfaces.Ipv4.Config schema provides defines the IPv4 configuration of a network interface.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.Interfaces.Ipv4.Info": { + "required": [ + "configurable", + "mode" + ], + "type": "object", + "properties": { + "configurable": { + "type": "boolean", + "description": "The specified network interface is configurable or not.\n\nThis property was added in __vSphere API 6.7__." + }, + "mode": { + "type": "string", + "description": "The Address assignment mode.\n\nPossible values:\n - `DHCP`: The IPv4 address is automatically assigned by a DHCP server.\n - `STATIC`: The IPv4 address is static.\n - `UNCONFIGURED`: The IPv4 protocol is not configured.\n\n\nFor more information see: *Appliance.Networking.Interfaces.Ipv4.Mode*.\n\nThis property was added in __vSphere API 6.7__." + }, + "address": { + "type": "string", + "description": "The IPv4 address, for example, \"10.20.80.191\".\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of mode is one of *Appliance.Networking.Interfaces.Ipv4.Mode.STATIC* or *Appliance.Networking.Interfaces.Ipv4.Mode.DHCP*." + }, + "prefix": { + "type": "integer", + "description": "The IPv4 CIDR prefix, for example, 24. See http://www.oav.net/mirrors/cidr.html for netmask-to-prefix conversion.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of mode is one of *Appliance.Networking.Interfaces.Ipv4.Mode.STATIC* or *Appliance.Networking.Interfaces.Ipv4.Mode.DHCP*.", + "format": "int64" + }, + "default_gateway": { + "type": "string", + "description": "The IPv4 address of the default gateway. This configures the global default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of mode is one of *Appliance.Networking.Interfaces.Ipv4.Mode.STATIC* or *Appliance.Networking.Interfaces.Ipv4.Mode.DHCP*." + } + }, + "description": "The Appliance.Networking.Interfaces.Ipv4.Info schema defines current IPv4 configuration state of a network interface.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.Interfaces.Ipv6.Origin": { + "type": "string", + "description": "The Appliance.Networking.Interfaces.Ipv6.Origin enumerated type defines IPv6 address origin values.\n\nPossible values:\n - `DHCP`: The IPv6 address is assigned by a DHCP server. See RFC 4293.\n - `RANDOM`: The IPv6 address is assigned randomly by the system. See RFC 4293.\n - `MANUAL`: The IPv6 address was manually configured to a specified address, for example, by user configuration. See RFC 4293.\n - `LINKLAYER`: The IPv6 address is assigned by IPv6 Stateless Address Auto-configuration (SLAAC). See RFC 4293.\n - `OTHER`: The IPv6 address is assigned by a mechanism other than manual, DHCP, SLAAC, or random. See RFC 4293.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "DHCP", + "RANDOM", + "MANUAL", + "LINKLAYER", + "OTHER" + ] + }, + "Appliance.Networking.Interfaces.Ipv6.Status": { + "type": "string", + "description": "The Appliance.Networking.Interfaces.Ipv6.Status enumerated type defines IPv6 address status values. See RFC 4293.\n\nPossible values:\n - `TENTATIVE`: The IPv6 address is in the process of being verified as unique. An address in this state cannot be used for general communication. It can be used to determine the uniqueness of the address.\n - `UNKNOWN`: The status of this address cannot be determined.\n - `INACCESSIBLE`: The IPv6 address is inaccessible because the interface to which this address is assigned is not operational.\n - `INVALID`: The IPv6 address is not a valid address. It should not appear as the destination or source address of a packet.\n - `DUPLICATE`: The IPv6 address is not unique on the link and cannot be used.\n - `PREFERRED`: This is a valid IPv6 address that can appear as the destination or source address of a packet.\n - `DEPRECATED`: The is a valid but deprecated IPv6 address. This address cannot be used as a source address in new communications, although packets addressed to such an address are processed as expected.\n - `OPTIMISTIC`: The IPv6 address is available for use, subject to restrictions, while its uniqueness on a link is being verified.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "TENTATIVE", + "UNKNOWN", + "INACCESSIBLE", + "INVALID", + "DUPLICATE", + "PREFERRED", + "DEPRECATED", + "OPTIMISTIC" + ] + }, + "Appliance.Networking.Interfaces.Ipv6.Address": { + "required": [ + "address", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IPv6 address, for example, fc00:10:20:83:20c:29ff:fe94:bb5a.\n\nThis property was added in __vSphere API 6.7__." + }, + "prefix": { + "type": "integer", + "description": "The IPv6 CIDR prefix, for example, 64.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Networking.Interfaces.Ipv6.Address schema provides the structure used to name an IPv6 address.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.Interfaces.Ipv6.AddressInfo": { + "required": [ + "address", + "origin", + "prefix", + "status" + ], + "type": "object", + "properties": { + "origin": { + "type": "string", + "description": "The Origin of the IPv6 address. For more information, see RFC 4293.\n\nPossible values:\n - `DHCP`: The IPv6 address is assigned by a DHCP server. See RFC 4293.\n - `RANDOM`: The IPv6 address is assigned randomly by the system. See RFC 4293.\n - `MANUAL`: The IPv6 address was manually configured to a specified address, for example, by user configuration. See RFC 4293.\n - `LINKLAYER`: The IPv6 address is assigned by IPv6 Stateless Address Auto-configuration (SLAAC). See RFC 4293.\n - `OTHER`: The IPv6 address is assigned by a mechanism other than manual, DHCP, SLAAC, or random. See RFC 4293.\n\n\nFor more information see: *Appliance.Networking.Interfaces.Ipv6.Origin*.\n\nThis property was added in __vSphere API 6.7__." + }, + "status": { + "type": "string", + "description": "The Status of the IPv6 address. For more information, see RFC 4293.\n\nPossible values:\n - `TENTATIVE`: The IPv6 address is in the process of being verified as unique. An address in this state cannot be used for general communication. It can be used to determine the uniqueness of the address.\n - `UNKNOWN`: The status of this address cannot be determined.\n - `INACCESSIBLE`: The IPv6 address is inaccessible because the interface to which this address is assigned is not operational.\n - `INVALID`: The IPv6 address is not a valid address. It should not appear as the destination or source address of a packet.\n - `DUPLICATE`: The IPv6 address is not unique on the link and cannot be used.\n - `PREFERRED`: This is a valid IPv6 address that can appear as the destination or source address of a packet.\n - `DEPRECATED`: The is a valid but deprecated IPv6 address. This address cannot be used as a source address in new communications, although packets addressed to such an address are processed as expected.\n - `OPTIMISTIC`: The IPv6 address is available for use, subject to restrictions, while its uniqueness on a link is being verified.\n\n\nFor more information see: *Appliance.Networking.Interfaces.Ipv6.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "address": { + "type": "string", + "description": "The IPv6 address, for example, fc00:10:20:83:20c:29ff:fe94:bb5a.\n\nThis property was added in __vSphere API 6.7__." + }, + "prefix": { + "type": "integer", + "description": "The IPv6 CIDR prefix, for example, 64.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Networking.Interfaces.Ipv6.AddressInfo schema provides the structure that you can use to get information about an IPv6 address along with its origin and status.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.Interfaces.Ipv6.Config": { + "required": [ + "addresses", + "autoconf", + "default_gateway", + "dhcp" + ], + "type": "object", + "properties": { + "dhcp": { + "type": "boolean", + "description": "An address will be assigned by a DHCP server.\n\nThis property was added in __vSphere API 6.7__." + }, + "autoconf": { + "type": "boolean", + "description": "An address will be assigned by Stateless Address Autoconfiguration (SLAAC).\n\nThis property was added in __vSphere API 6.7__." + }, + "addresses": { + "type": "array", + "description": "The list of addresses to be statically assigned.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv6.Address" + } + }, + "default_gateway": { + "type": "string", + "description": "The default gateway for static IP address assignment. This configures the global IPv6 default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Networking.Interfaces.Ipv6.Config schema provides the structure that you can use to configure IPv6 on a particular interface. Addresses can be assigned by DHCP, SLAAC or STATIC, as IPv6 permits multiple addresses per interface.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Networking.Interfaces.Ipv6.Info": { + "required": [ + "addresses", + "autoconf", + "configurable", + "default_gateway", + "dhcp" + ], + "type": "object", + "properties": { + "dhcp": { + "type": "boolean", + "description": "DHCP is on.\n\nThis property was added in __vSphere API 6.7__." + }, + "autoconf": { + "type": "boolean", + "description": "Stateless Address Autoconfiguration (SLAAC) is on.\n\nThis property was added in __vSphere API 6.7__." + }, + "addresses": { + "type": "array", + "description": "List of addresses with their origins and statuses.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Appliance.Networking.Interfaces.Ipv6.AddressInfo" + } + }, + "default_gateway": { + "type": "string", + "description": "The default gateway for static IP address assignment. This configures the global IPv6 default gateway on the appliance with the specified gateway address and interface. This gateway replaces the existing default gateway configured on the appliance. However, if the gateway address is link-local, then it is added for that interface. This does not support configuration of multiple global default gateways through different interfaces.\n\nThis property was added in __vSphere API 6.7__." + }, + "configurable": { + "type": "boolean", + "description": "Is NIC configurable or not.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Networking.Interfaces.Ipv6.Info schema provides the structure that defines an existing IPv6 configuration on a particular interface. This structure is read only.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.ReturnStatus": { + "type": "string", + "description": "Appliance.Recovery.Backup.ReturnStatus enumerated type Defines the state of precheck\n\nPossible values:\n - `FAIL`: Check failed\n - `WARNING`: Passed with warnings\n - `OK`: Check passed\n", + "enum": [ + "FAIL", + "WARNING", + "OK" + ] + }, + "Appliance.Recovery.Backup.LocationType": { + "type": "string", + "description": "Appliance.Recovery.Backup.LocationType enumerated type Defines type of all locations for backup/restore\n\nPossible values:\n - `FTP`: Destination is FTP server\n - `HTTP`: Destination is HTTP server\n - `FTPS`: Destination is FTPS server\n - `HTTPS`: Destination is HTTPS server\n - `SCP`: Destination is SSH server\n - `SFTP`: Destination is SFTP server\n - `NFS`: Destination is NFS server\n\nThis constant was added in __vSphere API 6.7.2__.\n - `SMB`: Destination is SMB server\n\nThis constant was added in __vSphere API 6.7.2__.\n", + "enum": [ + "FTP", + "HTTP", + "FTPS", + "HTTPS", + "SCP", + "SFTP", + "NFS", + "SMB" + ] + }, + "Appliance.Recovery.Backup.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "id in message bundle" + }, + "default_message": { + "type": "string", + "description": "text in english" + }, + "args": { + "type": "array", + "description": "nested data", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.Recovery.Backup.LocalizableMessage schema Structure representing message" + }, + "Appliance.Recovery.Backup.ReturnResult": { + "required": [ + "messages", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Check status\n\nPossible values:\n - `FAIL`: Check failed\n - `WARNING`: Passed with warnings\n - `OK`: Check passed\n\n\nFor more information see: *Appliance.Recovery.Backup.ReturnStatus*." + }, + "messages": { + "type": "array", + "description": "List of messages", + "items": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.LocalizableMessage" + } + } + }, + "description": "Appliance.Recovery.Backup.ReturnResult schema Structure representing precheck result" + }, + "Appliance.Recovery.Backup.BackupRequest": { + "required": [ + "location", + "location_type", + "parts" + ], + "type": "object", + "properties": { + "parts": { + "type": "array", + "description": "a list of optional parts. Run backup parts APIs to get list of optional parts and description", + "items": { + "type": "string" + } + }, + "backup_password": { + "type": "string", + "description": "a password for a backup piece The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\n\nbackupPassword If no password then the piece will not be encrypted", + "format": "password" + }, + "location_type": { + "type": "string", + "description": "a type of location\n\nPossible values:\n - `FTP`: Destination is FTP server\n - `HTTP`: Destination is HTTP server\n - `FTPS`: Destination is FTPS server\n - `HTTPS`: Destination is HTTPS server\n - `SCP`: Destination is SSH server\n - `SFTP`: Destination is SFTP server\n - `NFS`: Destination is NFS server\n\nThis constant was added in __vSphere API 6.7.2__.\n - `SMB`: Destination is SMB server\n\nThis constant was added in __vSphere API 6.7.2__.\n\n\nFor more information see: *Appliance.Recovery.Backup.LocationType*." + }, + "location": { + "type": "string", + "description": "path or url" + }, + "location_user": { + "type": "string", + "description": "username for location\n\nlocationUser User name for this location if login is required." + }, + "location_password": { + "type": "string", + "description": "password for location\n\nlocationPassword Password for the specified user if login is required at this location.", + "format": "password" + }, + "comment": { + "type": "string", + "description": "Custom comment\n\ncomment an optional comment" + }, + "fast_backup": { + "type": "boolean", + "description": "Option to enable Postgres DB/ VCDB fast backup.\n\nIf missing or `null` backup will proceed at slow rate" + } + }, + "description": "Appliance.Recovery.Backup.BackupRequest schema Structure representing requested backup piece" + }, + "Appliance.Recovery.Restore.LocationType": { + "type": "string", + "description": "Appliance.Recovery.Restore.LocationType enumerated type Defines type of all locations for backup/restore\n\nPossible values:\n - `FTP`: Destination is FTP server\n - `HTTP`: Destination is HTTP server\n - `FTPS`: Destination is FTPS server\n - `HTTPS`: Destination is HTTPS server\n - `SCP`: Destination is SSH server\n - `SFTP`: Destination is SFTP server\n - `NFS`: Destination is NFS server\n\nThis constant was added in __vSphere API 6.7.2__.\n - `SMB`: Destination is SMB server\n\nThis constant was added in __vSphere API 6.7.2__.\n", + "enum": [ + "FTP", + "HTTP", + "FTPS", + "HTTPS", + "SCP", + "SFTP", + "NFS", + "SMB" + ] + }, + "Appliance.Recovery.Restore.RestoreRequest": { + "required": [ + "location", + "location_type" + ], + "type": "object", + "properties": { + "parts": { + "type": "array", + "description": "List of standalone parts to restore. Only parts with the *Appliance.Recovery.Backup.Parts.Part.standalone* flag set to `true` can be included.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` entire VCSA will be restored.", + "items": { + "type": "string" + } + }, + "backup_password": { + "type": "string", + "description": "a password for a backup piece\n\nbackupPassword If no password then the piece will not be decrypted", + "format": "password" + }, + "location_type": { + "type": "string", + "description": "a type of location\n\nPossible values:\n - `FTP`: Destination is FTP server\n - `HTTP`: Destination is HTTP server\n - `FTPS`: Destination is FTPS server\n - `HTTPS`: Destination is HTTPS server\n - `SCP`: Destination is SSH server\n - `SFTP`: Destination is SFTP server\n - `NFS`: Destination is NFS server\n\nThis constant was added in __vSphere API 6.7.2__.\n - `SMB`: Destination is SMB server\n\nThis constant was added in __vSphere API 6.7.2__.\n\n\nFor more information see: *Appliance.Recovery.Restore.LocationType*." + }, + "location": { + "type": "string", + "description": "path or url" + }, + "location_user": { + "type": "string", + "description": "username for location\n\nlocationUser User name for this location if login is required." + }, + "location_password": { + "type": "string", + "description": "password for location\n\nlocationPassword Password for the specified user if login is required at this location.", + "format": "password" + }, + "sso_admin_user_name": { + "type": "string", + "description": "Administrators username for SSO.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required." + }, + "sso_admin_user_password": { + "type": "string", + "description": "The password for SSO admin user.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "format": "password" + } + }, + "description": "Appliance.Recovery.Restore.RestoreRequest schema Structure representing requested restore piece" + }, + "Appliance.Recovery.Restore.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "id in message bundle" + }, + "default_message": { + "type": "string", + "description": "text in english" + }, + "args": { + "type": "array", + "description": "nested data", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.Recovery.Restore.LocalizableMessage schema Structure representing message" + }, + "Appliance.Recovery.Restore.Metadata": { + "required": [ + "applicable", + "boxname", + "comment", + "messages", + "parts", + "timestamp", + "version" + ], + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "description": "Time when this backup was completed.", + "format": "date-time" + }, + "parts": { + "type": "array", + "description": "List of parts included in the backup.", + "items": { + "type": "string" + } + }, + "version": { + "type": "string", + "description": "VCSA version" + }, + "boxname": { + "type": "string", + "description": "Box name is PNID/ FQDN etc" + }, + "sso_login_required": { + "type": "boolean", + "description": "Is SSO login required for the vCenter server.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "comment": { + "type": "string", + "description": "Custom comment" + }, + "applicable": { + "type": "boolean", + "description": "Does the VCSA match the deployment type, network properties and version of backed up VC" + }, + "messages": { + "type": "array", + "description": "Any messages if the backup is not aplicable", + "items": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.LocalizableMessage" + } + } + }, + "description": "Appliance.Recovery.Restore.Metadata schema Structure representing metadata" + }, + "Appliance.Recovery.Backup.LocationSpec": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Backup location URL.\n\nThis property was added in __vSphere API 6.7__.", + "format": "uri" + }, + "location_user": { + "type": "string", + "description": "Username for the given location.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` authentication will not be used." + }, + "location_password": { + "type": "string", + "description": "Password for the given location.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` authentication will not be used.", + "format": "password" + } + }, + "description": "The Appliance.Recovery.Backup.LocationSpec schema has fields to represent a location on the backup server.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.Job.ReturnStatus": { + "type": "string", + "description": "The Appliance.Recovery.Backup.Job.ReturnStatus enumerated type defines the return type for the cancel operation. You specify the return status when you return the result of cancel job. See *Appliance.Recovery.Backup.Job.ReturnResult*.\n\nPossible values:\n - `FAIL`: Cancel operation failed.\n - `WARNING`: Cancel operation passed with warnings.\n - `OK`: Cancel operation succeeded.\n", + "enum": [ + "FAIL", + "WARNING", + "OK" + ] + }, + "Appliance.Recovery.Backup.Job.LocationType": { + "type": "string", + "description": "The Appliance.Recovery.Backup.Job.LocationType enumerated type defines the type of destination location for backup/restore. You specify the location type when you create a backup job. See *Appliance.Recovery.Backup.Job.BackupRequest*.\n\nPossible values:\n - `FTP`: Destination is FTP server.\n - `HTTP`: Destination is HTTP server.\n - `FTPS`: Destination is FTPS server.\n - `HTTPS`: Destination is HTTPS server.\n - `SCP`: Destination is SSH server.\n - `SFTP`: Destination is SFTP server.\n - `NFS`: Destination is NFS server.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `SMB`: Destination is SMB server.\n\nThis constant was added in __vSphere API 6.7.2__.\n", + "enum": [ + "FTP", + "HTTP", + "FTPS", + "HTTPS", + "SCP", + "SFTP", + "NFS", + "SMB" + ] + }, + "Appliance.Recovery.Backup.Job.BackupRestoreProcessState": { + "type": "string", + "description": "The Appliance.Recovery.Backup.Job.BackupRestoreProcessState enumerated type defines the possible states of a backup/restore process.\n\nPossible values:\n - `FAILED`: Backup/Restore job failed.\n - `INPROGRESS`: Backup/Restore job is in progress.\n - `NONE`: Backup/Restore job is not started.\n - `SUCCEEDED`: Backup/Restore job completed successfully.\n", + "enum": [ + "FAILED", + "INPROGRESS", + "NONE", + "SUCCEEDED" + ] + }, + "Appliance.Recovery.Backup.Job.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id in message bundle." + }, + "default_message": { + "type": "string", + "description": "Text in english." + }, + "args": { + "type": "array", + "description": "Nested data.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Recovery.Backup.Job.LocalizableMessage schema represents a localizable message." + }, + "Appliance.Recovery.Backup.Job.ReturnResult": { + "required": [ + "messages", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the cancel operation.\n\nPossible values:\n - `FAIL`: Cancel operation failed.\n - `WARNING`: Cancel operation passed with warnings.\n - `OK`: Cancel operation succeeded.\n\n\nFor more information see: *Appliance.Recovery.Backup.Job.ReturnStatus*." + }, + "messages": { + "type": "array", + "description": "List of messages.", + "items": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.LocalizableMessage" + } + } + }, + "description": "The Appliance.Recovery.Backup.Job.ReturnResult schema contains the result information for the cancel operation." + }, + "Appliance.Recovery.Backup.Job.BackupRequest": { + "required": [ + "location", + "location_type", + "parts" + ], + "type": "object", + "properties": { + "parts": { + "type": "array", + "description": "List of optional parts that will be included in the backup. Use the *GET /appliance/recovery/backup/parts* operation to get information about the supported parts.", + "items": { + "type": "string" + } + }, + "backup_password": { + "type": "string", + "description": "Password for a backup piece. The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\n\nbackupPassword If no password then the piece will not be encrypted", + "format": "password" + }, + "location_type": { + "type": "string", + "description": "Type of backup location.\n\nPossible values:\n - `FTP`: Destination is FTP server.\n - `HTTP`: Destination is HTTP server.\n - `FTPS`: Destination is FTPS server.\n - `HTTPS`: Destination is HTTPS server.\n - `SCP`: Destination is SSH server.\n - `SFTP`: Destination is SFTP server.\n - `NFS`: Destination is NFS server.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `SMB`: Destination is SMB server.\n\nThis constant was added in __vSphere API 6.7.2__.\n\n\nFor more information see: *Appliance.Recovery.Backup.Job.LocationType*." + }, + "location": { + "type": "string", + "description": "Path or URL of the backup location." + }, + "location_user": { + "type": "string", + "description": "Username for the given location.\n\nIf missing or `null` authentication will not be used for the specified location." + }, + "location_password": { + "type": "string", + "description": "Password for the given location.\n\nIf missing or `null` authentication will not be used for the specified location.", + "format": "password" + }, + "comment": { + "type": "string", + "description": "Custom comment provided by the user.\n\nIf missing or `null` comment will be empty." + }, + "fast_backup": { + "type": "boolean", + "description": "Option to enable Postgres DB/ VCDB fast backup\n\nIf missing or `null` backup will proceed at slow rate" + } + }, + "description": "The Appliance.Recovery.Backup.Job.BackupRequest schema represents a requested backup piece." + }, + "Appliance.Recovery.Backup.Job.BackupJobStatus": { + "required": [ + "id", + "messages", + "progress", + "start_time", + "state" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "TimeStamp based ID." + }, + "state": { + "type": "string", + "description": "The state of the backup job.\n\nPossible values:\n - `FAILED`: Backup/Restore job failed.\n - `INPROGRESS`: Backup/Restore job is in progress.\n - `NONE`: Backup/Restore job is not started.\n - `SUCCEEDED`: Backup/Restore job completed successfully.\n\n\nFor more information see: *Appliance.Recovery.Backup.Job.BackupRestoreProcessState*." + }, + "messages": { + "type": "array", + "description": "List of messages.", + "items": { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.LocalizableMessage" + } + }, + "progress": { + "type": "integer", + "description": "Progress of the job in percentage.", + "format": "int64" + }, + "start_time": { + "type": "string", + "description": "Time when the backup was started.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the backup was finished.\n\nIf missing or `null` end time is None until backup is finished.", + "format": "date-time" + } + }, + "description": "The Appliance.Recovery.Backup.Job.BackupJobStatus schema represents the status of a backup/restore job." + }, + "Appliance.Recovery.Backup.Parts.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "id in message bundle" + }, + "default_message": { + "type": "string", + "description": "text in english" + }, + "args": { + "type": "array", + "description": "nested data", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.Recovery.Backup.Parts.LocalizableMessage schema Structure representing message" + }, + "Appliance.Recovery.Backup.Parts.Part": { + "required": [ + "description", + "id", + "name", + "optional", + "selected_by_default" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "part ID\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.parts`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.recovery.backup.parts`." + }, + "name": { + "description": "part name id in message bundle", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Parts.LocalizableMessage" + } + ] + }, + "description": { + "description": "part description id in message bundle", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Parts.LocalizableMessage" + } + ] + }, + "selected_by_default": { + "type": "boolean", + "description": "Is this part selected by default in the user interface." + }, + "optional": { + "type": "boolean", + "description": "Is this part optional." + }, + "standalone": { + "type": "boolean", + "description": "This flag will be `true` if this part can be restored independently of an entire VCSA restore\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "Appliance.Recovery.Backup.Parts.Part schema Structure representing backup restore part" + }, + "Appliance.Recovery.Backup.Schedules.DayOfWeek": { + "type": "string", + "description": "The Appliance.Recovery.Backup.Schedules.DayOfWeek enumerated type defines the set of days when backup can be scheduled. The days can be specified as a list of individual days. You specify the days when you set the recurrence for a schedule. See *Appliance.Recovery.Backup.Schedules.RecurrenceInfo.days*.\n\nPossible values:\n - `MONDAY`: Monday\n - `TUESDAY`: Tuesday\n - `WEDNESDAY`: Wednesday\n - `THURSDAY`: Thursday\n - `FRIDAY`: Friday\n - `SATURDAY`: Saturday\n - `SUNDAY`: Sunday\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "Appliance.Recovery.Backup.Schedules.RetentionInfo": { + "required": [ + "max_count" + ], + "type": "object", + "properties": { + "max_count": { + "type": "integer", + "description": "Number of backups which should be retained. If retention is not set, all the backups will be retained forever.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Recovery.Backup.Schedules.RetentionInfo schema contains retention information associated with a schedule.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.Schedules.RecurrenceInfo": { + "required": [ + "hour", + "minute" + ], + "type": "object", + "properties": { + "minute": { + "type": "integer", + "description": "Minute when backup should run.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "hour": { + "type": "integer", + "description": "Hour when backup should run. The hour should be specified in 24-hour clock format.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "days": { + "type": "array", + "description": "Day of week when the backup should be run. Days can be specified as list of days.\n\nPossible values:\n - `MONDAY`: Monday\n - `TUESDAY`: Tuesday\n - `WEDNESDAY`: Wednesday\n - `THURSDAY`: Thursday\n - `FRIDAY`: Friday\n - `SATURDAY`: Saturday\n - `SUNDAY`: Sunday\n\n\nFor more information see: *Appliance.Recovery.Backup.Schedules.DayOfWeek*.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the backup will be run everyday.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Recovery.Backup.Schedules.RecurrenceInfo schema contains the recurrence information associated with a schedule.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.Schedules.CreateSpec": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "parts": { + "type": "array", + "description": "List of optional parts to be backed up. Use the *GET /appliance/recovery/backup/parts* operation to get information about the supported parts.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` all the optional parts will not be backed up.", + "items": { + "type": "string" + } + }, + "backup_password": { + "type": "string", + "description": "Password for a backup piece. The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the backup piece will not be encrypted.", + "format": "password" + }, + "location": { + "type": "string", + "description": "URL of the backup location.\n\nThis property was added in __vSphere API 6.7__.", + "format": "uri" + }, + "location_user": { + "type": "string", + "description": "Username for the given location.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` authentication will not be used for the specified location." + }, + "location_password": { + "type": "string", + "description": "Password for the given location.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` authentication will not be used for the specified location.", + "format": "password" + }, + "enable": { + "type": "boolean", + "description": "Enable or disable a schedule.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the schedule will be enabled." + }, + "recurrence_info": { + "description": "Recurrence information for the schedule.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` backup job will not be scheduled. See *Appliance.Recovery.Backup.Schedules.RecurrenceInfo*", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.RecurrenceInfo" + } + ] + }, + "retention_info": { + "description": "Retention information for the schedule.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` all the completed backup jobs will be retained forever. See *Appliance.Recovery.Backup.Schedules.RetentionInfo*", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.RetentionInfo" + } + ] + }, + "fast_backup": { + "type": "boolean", + "description": "Option to enable Postgres DB/ VCDB fast backup\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` backup will proceed at slow rate" + } + }, + "description": "The Appliance.Recovery.Backup.Schedules.CreateSpec schema contains fields to be specified for creating a new schedule. The structure includes parts, location information, encryption password and enable flag.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.Schedules.Info": { + "required": [ + "enable", + "location", + "parts" + ], + "type": "object", + "properties": { + "parts": { + "type": "array", + "description": "List of optional parts that will be included in backups based on this schedule details. Use the *GET /appliance/recovery/backup/parts* operation to get information about the supported parts.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "URL of the backup location.\n\nThis property was added in __vSphere API 6.7__.", + "format": "uri" + }, + "location_user": { + "type": "string", + "description": "Username for the given location.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` location user will not be used." + }, + "enable": { + "type": "boolean", + "description": "Enable or disable a schedule, by default when created a schedule will be enabled.\n\nThis property was added in __vSphere API 6.7__." + }, + "recurrence_info": { + "description": "Recurrence information for the schedule.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` backup job is not scheduled. See *Appliance.Recovery.Backup.Schedules.RecurrenceInfo*", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.RecurrenceInfo" + } + ] + }, + "retention_info": { + "description": "Retention information for the schedule.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` all the completed backup jobs are retained forever. See *Appliance.Recovery.Backup.Schedules.RetentionInfo*", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.RetentionInfo" + } + ] + }, + "fast_backup": { + "type": "boolean", + "description": "Option to enable Postgres DB/ VCDB fast backup\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` backup will proceed at slow rate" + } + }, + "description": "The Appliance.Recovery.Backup.Schedules.Info schema contains information about an existing schedule. The structure includes Schedule ID, parts, location information, encryption password, enable flag, recurrence and retention information.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.Schedules.UpdateSpec": { + "type": "object", + "properties": { + "parts": { + "type": "array", + "description": "List of optional parts. Use the *GET /appliance/recovery/backup/parts* operation to get information about the supported parts.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the value will not be changed.", + "items": { + "type": "string" + } + }, + "backup_password": { + "type": "string", + "description": "Password for a backup piece. The backupPassword must adhere to the following password requirements: At least 8 characters, cannot be more than 20 characters in length. At least 1 uppercase letter. At least 1 lowercase letter. At least 1 numeric digit. At least 1 special character (i.e. any character not in [0-9,a-z,A-Z]). Only visible ASCII characters (for example, no space).\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the value will not be changed.", + "format": "password" + }, + "location": { + "type": "string", + "description": "URL of the backup location.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the value will not be changed.", + "format": "uri" + }, + "location_user": { + "type": "string", + "description": "Username for the given location.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the value will not be changed." + }, + "location_password": { + "type": "string", + "description": "Password for the given location.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the value will not be changed.", + "format": "password" + }, + "enable": { + "type": "boolean", + "description": "Enable or disable a schedule.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the value will not be changed." + }, + "recurrence_info": { + "description": "Recurrence information for the schedule.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the infomration will not be changed. See *Appliance.Recovery.Backup.Schedules.RecurrenceInfo*", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.RecurrenceInfo" + } + ] + }, + "retention_info": { + "description": "Retention information for the schedule.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the information will not be changed. See *Appliance.Recovery.Backup.Schedules.RetentionInfo*", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Schedules.RetentionInfo" + } + ] + }, + "fast_backup": { + "type": "boolean", + "description": "Option to enable Postgres DB/ VCDB fast backup\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` backup will proceed at slow rate" + } + }, + "description": "The Appliance.Recovery.Backup.Schedules.UpdateSpec schema contains the fields of the existing schedule which can be updated.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.Job.Details.Type": { + "type": "string", + "description": "The Appliance.Recovery.Backup.Job.Details.Type enumerated type defines the type of backup job.\n\nPossible values:\n - `SCHEDULED`: Job type is Scheduled.\n - `MANUAL`: Job type is Manual.\n - `LOCAL_BACKUP`: Job type is Local backup.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "SCHEDULED", + "MANUAL", + "LOCAL_BACKUP" + ] + }, + "Appliance.Recovery.Backup.Job.Details.Info": { + "required": [ + "cancelable", + "description", + "location", + "location_user", + "messages", + "operation", + "service", + "status", + "type" + ], + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "URL of the backup location.\n\nThis property was added in __vSphere API 6.7__.", + "format": "uri" + }, + "duration": { + "type": "integer", + "description": "Time in seconds since the backup job was started or the time it took to complete the backup job.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.SUCCEEDED*, *Cis.Task.Status.FAILED*, or *Cis.Task.Status.RUNNING*.", + "format": "int64" + }, + "size": { + "type": "integer", + "description": "Size of the backup data transferred to remote location.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.SUCCEEDED*, *Cis.Task.Status.FAILED*, or *Cis.Task.Status.RUNNING*.", + "format": "int64" + }, + "progress": { + "description": "Progress of the job.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.SUCCEEDED*, *Cis.Task.Status.FAILED*, or *Cis.Task.Status.RUNNING*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "location_user": { + "type": "string", + "description": "The username for the remote backup location.\n\nThis property was added in __vSphere API 6.7__." + }, + "type": { + "type": "string", + "description": "Type of the backup job. Indicates whether the backup was started manually or as a scheduled backup.\n\nPossible values:\n - `SCHEDULED`: Job type is Scheduled.\n - `MANUAL`: Job type is Manual.\n - `LOCAL_BACKUP`: Job type is Local backup.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Appliance.Recovery.Backup.Job.Details.Type*.\n\nThis property was added in __vSphere API 6.7__." + }, + "messages": { + "type": "array", + "description": "List of any info/warning/error messages returned by the backup job.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "build": { + "description": "Information about the build of the appliance.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Recovery.Backup.Job.Details.BuildInfo" + } + ] + }, + "fast_backup": { + "type": "boolean", + "description": "Option to enable Postgres DB/ VCDB fast backup\n\nThis property was added in __vSphere API 6.7__." + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Appliance.Recovery.Backup.Job.Details.Info schema contains information about a backup job.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.Job.Details.FilterSpec": { + "type": "object", + "properties": { + "jobs": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of backup jobs that can match the filter.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the filter will match all the backup jobs.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.appliance.recovery.backup.job`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.appliance.recovery.backup.job`.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Recovery.Backup.Job.Details.FilterSpec schema contains properties used to filter the results when listing backup jobs details (see *GET /appliance/recovery/backup/job/details*).\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.Job.Details.BuildInfo": { + "required": [ + "build_number", + "version", + "version_name" + ], + "type": "object", + "properties": { + "version_name": { + "type": "string", + "description": "Appliance product type, for example 6.8.2 GA\n\nThis property was added in __vSphere API 6.7.2__." + }, + "version": { + "type": "string", + "description": "Appliance version, for example 6.8.2.10000\n\nThis property was added in __vSphere API 6.7.2__." + }, + "build_number": { + "type": "string", + "description": "Build Number of the appliance\n\nThis property was added in __vSphere API 6.7.2__." + } + }, + "description": "The Appliance.Recovery.Backup.Job.Details.BuildInfo schema contains information about the build of the appliance.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Appliance.Recovery.Backup.SystemName.Archive.Info": { + "required": [ + "comment", + "location", + "parts", + "system_name", + "timestamp", + "version" + ], + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "description": "Time when this backup was completed.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "location": { + "type": "string", + "description": "Backup location URL.\n\nThis property was added in __vSphere API 6.7__.", + "format": "uri" + }, + "parts": { + "type": "array", + "description": "List of parts included in the backup.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "type": "string" + } + }, + "version": { + "type": "string", + "description": "The version of the appliance represented by the backup.\n\nThis property was added in __vSphere API 6.7__." + }, + "system_name": { + "type": "string", + "description": "The system name identifier of the appliance represented by the backup.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.system_name`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.recovery.backup.system_name`." + }, + "comment": { + "type": "string", + "description": "Custom comment added by the user for this backup.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Recovery.Backup.SystemName.Archive.Info schema represents backup archive information.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.SystemName.Archive.Summary": { + "required": [ + "archive", + "comment", + "timestamp", + "version" + ], + "type": "object", + "properties": { + "archive": { + "type": "string", + "description": "Backup archive identifier.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.recovery.backup.system_name.archive`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.recovery.backup.system_name.archive`." + }, + "timestamp": { + "type": "string", + "description": "Time when this backup was started.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "version": { + "type": "string", + "description": "The version of the appliance represented by the backup archive.\n\nThis property was added in __vSphere API 6.7__." + }, + "comment": { + "type": "string", + "description": "Custom comment added by the user for this backup.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Recovery.Backup.SystemName.Archive.Summary schema contains commonly used information about a backup archive.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Backup.SystemName.Archive.FilterSpec": { + "type": "object", + "properties": { + "start_timestamp": { + "type": "string", + "description": "Backup must have been taken on or after this time to match the filter.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the filter will match oldest backups.", + "format": "date-time" + }, + "end_timestamp": { + "type": "string", + "description": "Backup must have been taken on or before this time to match the filter.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the filter will match most recent backups.", + "format": "date-time" + }, + "comment_substring": { + "type": "string", + "description": "Backup comment must contain this string to match the filter.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the filter will match backups with any comment." + }, + "max_results": { + "type": "integer", + "description": "Limit result to a max count of most recent backups.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` it defaults to 128.", + "format": "int64" + } + }, + "description": "The Appliance.Recovery.Backup.SystemName.Archive.FilterSpec schema contains properties used to filter the results when listing backup archives (see *POST /appliance/recovery/backup/system-name/{systemName}/archives?action=list*). If multiple properties are specified, only backup archives matching all of the properties match the filter.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Reconciliation.Job.Status": { + "type": "string", + "description": "The Appliance.Recovery.Reconciliation.Job.Status enumerated type defines the status values that can be reported for an operation.\n\nPossible values:\n - `NONE`: The operation is not running.\n - `RUNNING`: The operation is in progress.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "NONE", + "RUNNING", + "SUCCEEDED", + "FAILED" + ] + }, + "Appliance.Recovery.Reconciliation.Job.CreateSpec": { + "type": "object", + "properties": { + "sso_admin_user_name": { + "type": "string", + "description": "Administrators username for SSO.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required." + }, + "sso_admin_user_password": { + "type": "string", + "description": "Password for SSO admin user.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "format": "password" + }, + "ignore_warnings": { + "type": "boolean", + "description": "Flag indicating whether warnings should be ignored during reconciliation.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, validation warnings will fail the reconciliation operation." + } + }, + "description": "The Appliance.Recovery.Reconciliation.Job.CreateSpec schema has the fields to request the start of reconciliation job.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Reconciliation.Job.Info": { + "required": [ + "description", + "messages", + "operation", + "progress", + "service", + "status" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Name of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.recovery.reconciliation.job`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.recovery.reconciliation.job`." + }, + "operation": { + "type": "string", + "description": "Name of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.recovery.reconciliation.job`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.recovery.reconciliation.job`." + }, + "target": { + "description": "Identifier of the target resource the operation modifies.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has multiple targets or no target.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `NONE`: The operation is not running.\n - `RUNNING`: The operation is in progress.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Appliance.Recovery.Reconciliation.Job.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, the operation cannot be canceled." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see Info#result)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Appliance.Recovery.Reconciliation.Job.Status.RUNNING*, *Appliance.Recovery.Reconciliation.Job.Status.SUCCEEDED*, or *Appliance.Recovery.Reconciliation.Job.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Appliance.Recovery.Reconciliation.Job.Status.SUCCEEDED* or *Appliance.Recovery.Reconciliation.Job.Status.FAILED*.", + "format": "date-time" + }, + "messages": { + "type": "array", + "description": "A list of localized messages.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "progress": { + "type": "integer", + "description": "The progress of the job as a percentage.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Recovery.Reconciliation.Job.Info schema represents the reconciliation job information. It contains information related to current Status, any associated messages and progress as percentage.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Recovery.Restore.Job.ReturnStatus": { + "type": "string", + "description": "Appliance.Recovery.Restore.Job.ReturnStatus enumerated type Defines the state of precheck\n\nPossible values:\n - `FAIL`: Check failed\n - `WARNING`: Passed with warnings\n - `OK`: Check passed\n", + "enum": [ + "FAIL", + "WARNING", + "OK" + ] + }, + "Appliance.Recovery.Restore.Job.LocationType": { + "type": "string", + "description": "Appliance.Recovery.Restore.Job.LocationType enumerated type Defines type of all locations for backup/restore\n\nPossible values:\n - `FTP`: Destination is FTP server\n - `HTTP`: Destination is HTTP server\n - `FTPS`: Destination is FTPS server\n - `HTTPS`: Destination is HTTPS server\n - `SCP`: Destination is SSH server\n - `SFTP`: Destination is SFTP server\n - `NFS`: Destination is NFS server\n\nThis constant was added in __vSphere API 6.7.2__.\n - `SMB`: Destination is SMB server\n\nThis constant was added in __vSphere API 6.7.2__.\n", + "enum": [ + "FTP", + "HTTP", + "FTPS", + "HTTPS", + "SCP", + "SFTP", + "NFS", + "SMB" + ] + }, + "Appliance.Recovery.Restore.Job.BackupRestoreProcessState": { + "type": "string", + "description": "Appliance.Recovery.Restore.Job.BackupRestoreProcessState enumerated type Defines state of backup/restore process\n\nPossible values:\n - `FAILED`: Failed\n - `INPROGRESS`: In progress\n - `NONE`: Not started\n - `SUCCEEDED`: Completed successfully\n", + "enum": [ + "FAILED", + "INPROGRESS", + "NONE", + "SUCCEEDED" + ] + }, + "Appliance.Recovery.Restore.Job.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "id in message bundle" + }, + "default_message": { + "type": "string", + "description": "text in english" + }, + "args": { + "type": "array", + "description": "nested data", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.Recovery.Restore.Job.LocalizableMessage schema Structure representing message" + }, + "Appliance.Recovery.Restore.Job.ReturnResult": { + "required": [ + "messages", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Check status\n\nPossible values:\n - `FAIL`: Check failed\n - `WARNING`: Passed with warnings\n - `OK`: Check passed\n\n\nFor more information see: *Appliance.Recovery.Restore.Job.ReturnStatus*." + }, + "messages": { + "type": "array", + "description": "List of messages", + "items": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.Job.LocalizableMessage" + } + } + }, + "description": "Appliance.Recovery.Restore.Job.ReturnResult schema Structure representing precheck result" + }, + "Appliance.Recovery.Restore.Job.RestoreRequest": { + "required": [ + "location", + "location_type" + ], + "type": "object", + "properties": { + "parts": { + "type": "array", + "description": "List of standalone parts to restore. Only parts with the *Appliance.Recovery.Backup.Parts.Part.standalone* flag set to `true` can be included.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` entire VCSA will be restored.", + "items": { + "type": "string" + } + }, + "backup_password": { + "type": "string", + "description": "a password for a backup piece\n\nbackupPassword If no password then the piece will not be decrypted", + "format": "password" + }, + "location_type": { + "type": "string", + "description": "a type of location\n\nPossible values:\n - `FTP`: Destination is FTP server\n - `HTTP`: Destination is HTTP server\n - `FTPS`: Destination is FTPS server\n - `HTTPS`: Destination is HTTPS server\n - `SCP`: Destination is SSH server\n - `SFTP`: Destination is SFTP server\n - `NFS`: Destination is NFS server\n\nThis constant was added in __vSphere API 6.7.2__.\n - `SMB`: Destination is SMB server\n\nThis constant was added in __vSphere API 6.7.2__.\n\n\nFor more information see: *Appliance.Recovery.Restore.Job.LocationType*." + }, + "location": { + "type": "string", + "description": "path or url" + }, + "location_user": { + "type": "string", + "description": "username for location\n\nlocationUser User name for this location if login is required." + }, + "location_password": { + "type": "string", + "description": "password for location\n\nlocationPassword Password for the specified user if login is required at this location.", + "format": "password" + }, + "sso_admin_user_name": { + "type": "string", + "description": "Administrators Username for SSO.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required." + }, + "sso_admin_user_password": { + "type": "string", + "description": "The password for SSO admin user.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required.", + "format": "password" + }, + "ignore_warnings": { + "type": "boolean", + "description": "The flag to ignore warnings during restore\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, validation warnings will fail the restore operation" + } + }, + "description": "Appliance.Recovery.Restore.Job.RestoreRequest schema Structure representing requested restore piece" + }, + "Appliance.Recovery.Restore.Job.RestoreJobStatus": { + "required": [ + "messages", + "progress", + "state" + ], + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "process state\n\nPossible values:\n - `FAILED`: Failed\n - `INPROGRESS`: In progress\n - `NONE`: Not started\n - `SUCCEEDED`: Completed successfully\n\n\nFor more information see: *Appliance.Recovery.Restore.Job.BackupRestoreProcessState*." + }, + "messages": { + "type": "array", + "description": "list of messages", + "items": { + "$ref": "#/components/schemas/Appliance.Recovery.Restore.Job.LocalizableMessage" + } + }, + "progress": { + "type": "integer", + "description": "percentage complete", + "format": "int64" + }, + "parts": { + "type": "array", + "description": "List of standalone parts requested for restore. Only parts with the *Appliance.Recovery.Backup.Parts.Part.standalone* flag set to `true` can be included.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` entire VCSA restore was requested.", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.Recovery.Restore.Job.RestoreJobStatus schema Structure representing backup restore status" + }, + "Appliance.System.CryptoHash.HashModeStatus": { + "type": "string", + "description": "Appliance.System.CryptoHash.HashModeStatus enumerated type Defines status indicating any pending activities for using current hash mode\n\nPossible values:\n - `UP_TO_DATE`\n - `RESTART_PENDING`\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "UP_TO_DATE", + "RESTART_PENDING" + ] + }, + "Appliance.System.CryptoHash.AlgorithmStatus": { + "type": "string", + "description": "Appliance.System.CryptoHash.AlgorithmStatus enumerated type Defines status indicating whether all algorithms are strong.\n\nPossible values:\n - `STRONG`\n - `NOT_STRONG`\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "STRONG", + "NOT_STRONG" + ] + }, + "Appliance.System.CryptoHash.Info": { + "required": [ + "algorithm_status", + "common_hash", + "hash_algorithms", + "hash_mode", + "status" + ], + "type": "object", + "properties": { + "hash_mode": { + "type": "string", + "description": "Hash type representing state of global hash switch Possible values: STRONG, COMPATIBLE\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.system.crypto_hash`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.system.crypto_hash`." + }, + "algorithm_status": { + "type": "string", + "description": "Status indicating whether all algorithms are strong\n\nPossible values:\n - `STRONG`\n - `NOT_STRONG`\n\n\nFor more information see: *Appliance.System.CryptoHash.AlgorithmStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "hash_algorithms": { + "type": "array", + "description": "List of algorithms supported by hashMode\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "status": { + "type": "string", + "description": "Status of current hash mode\n\nPossible values:\n - `UP_TO_DATE`\n - `RESTART_PENDING`\n\n\nFor more information see: *Appliance.System.CryptoHash.HashModeStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "common_hash": { + "type": "string", + "description": "This property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "Appliance.System.CryptoHash.Info schema Structure representing the current crypto hash state\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.System.Storage.StorageMapping": { + "required": [ + "disk", + "partition" + ], + "type": "object", + "properties": { + "disk": { + "type": "string", + "description": "The disk number in the vSphere Web Client.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.system.storage`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.system.storage`." + }, + "partition": { + "type": "string", + "description": "Storage partition name." + }, + "description": { + "description": "Description of partition\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Appliance.System.Storage.StorageMapping schema describes the mapping between VCSA partitions and the Hard disk numbers visible in the vSphere Web Client." + }, + "Appliance.System.Storage.StorageChange": { + "required": [ + "new_size", + "old_size" + ], + "type": "object", + "properties": { + "old_size": { + "type": "integer", + "description": "Original size of the partition in MB.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "new_size": { + "type": "integer", + "description": "Nedw size of the partition in MB.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.System.Storage.StorageChange schema describes the changes in capasity of a storage partition.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.System.Time.SystemTimeStruct": { + "required": [ + "date", + "seconds_since_epoch", + "time", + "timezone" + ], + "type": "object", + "properties": { + "seconds_since_epoch": { + "type": "number", + "description": "seconds since the epoch", + "format": "double" + }, + "date": { + "type": "string", + "description": "date format: Thu 07-31-2014" + }, + "time": { + "type": "string", + "description": "time format: 18:18:32" + }, + "timezone": { + "type": "string", + "description": "timezone" + } + }, + "description": "Appliance.System.Time.SystemTimeStruct schema Structure representing the system time." + }, + "Appliance.System.Version.VersionStruct": { + "required": [ + "build", + "install_time", + "product", + "releasedate", + "summary", + "type", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Appliance version." + }, + "product": { + "type": "string", + "description": "Appliance name." + }, + "build": { + "type": "string", + "description": "Appliance build number." + }, + "type": { + "type": "string", + "description": "Type of product. Same product can have different deployment options, which is represented by type." + }, + "summary": { + "type": "string", + "description": "Summary of patch (empty string, if the appliance has not been patched)" + }, + "releasedate": { + "type": "string", + "description": "Release date of patch (empty string, if the appliance has not been patched)" + }, + "install_time": { + "type": "string", + "description": "Display the date and time when this system was first installed. Value will not change on subsequent updates." + }, + "name": { + "type": "string", + "description": "Appliance release name." + } + }, + "description": "Appliance.System.Version.VersionStruct schema Structure representing appliance version information." + }, + "Appliance.System.CryptoHash.Options.Info": { + "required": [ + "hash_algorithms", + "hash_mode" + ], + "type": "object", + "properties": { + "hash_mode": { + "type": "string", + "description": "Hash mode representing state of global hash switch\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.system.crypto_hash`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.system.crypto_hash`." + }, + "hash_algorithms": { + "type": "array", + "description": "List of hash algorithms supported for a hash mode\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "Appliance.System.CryptoHash.Options.Info schema Structure representing hash mode and supported hash algorithms\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.System.CryptoHash.Options.ListResult": { + "required": [ + "modes" + ], + "type": "object", + "properties": { + "modes": { + "type": "array", + "description": "List of hash mode Info\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.System.CryptoHash.Options.Info" + } + } + }, + "description": "List of available hash modes that can be set\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.System.Security.GlobalFips.UpdateSpec": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nFIPS setting state.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Appliance.System.Security.GlobalFips.Info": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nFIPS setting state.\n\nThis property was added in __vSphere API 7.0.1.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Appliance.Tls.Profiles.ProtocolVersionInfo": { + "required": [ + "ciphers", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Defines the TLS protocol version.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "ciphers": { + "type": "array", + "description": "Defines the TLS protocol ciphers in IANA form.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Tls.Profiles.ProtocolVersionInfo schema contains the information about the TLS protocol version and its ciphers.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Tls.Profiles.Info": { + "required": [ + "curves", + "fips_enforced", + "protocol_versions" + ], + "type": "object", + "properties": { + "protocol_versions": { + "type": "array", + "description": "Defines the list of TLS protocol version and their ciphers\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Tls.Profiles.ProtocolVersionInfo" + } + }, + "curves": { + "type": "array", + "description": "Defines the TLS Profile curves in IANA form.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "type": "string" + } + }, + "fips_enforced": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. in 9.0.0.0 and above all profiles are FIPS compliant, always @term true.\n\nIndicates if FIPS 140-3 compliance is enforced for the TLS Profile. If FIPS is not enforced, some TLS features that have not been yet FIPS validated can be enabled by some crypto modules. If FIPS is enforced, non FIPS validated TLS features wont be in effect.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "deprecated": true + } + }, + "description": "The Appliance.Tls.Profiles.Info schema contains the information about the TLS Profile.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Tls.Profiles.ListItem": { + "required": [ + "info", + "profile" + ], + "type": "object", + "properties": { + "profile": { + "type": "string", + "description": "Defines the standard profile name.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.tls.profiles`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.tls.profiles`." + }, + "info": { + "description": "Contains information about the TLS Profile configuration.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Tls.Profiles.Info" + } + ] + } + }, + "description": "The Appliance.Tls.Profiles.ListItem schema contains the information about the standard profile name and their TLS configuration.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Tls.Profiles.ListResult": { + "required": [ + "profiles" + ], + "type": "object", + "properties": { + "profiles": { + "type": "array", + "description": "Defines the list of available standard TLS Profiles.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Tls.Profiles.ListItem" + } + } + }, + "description": "The Appliance.Tls.Profiles.ListResult schema contains the information about the list of TLS Profiles.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Tls.ManualParameters.Global.ProtocolVersionInfo": { + "required": [ + "ciphers", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Defines the TLS protocol version.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "ciphers": { + "type": "array", + "description": "Defines the TLS protocol ciphers in IANA form.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Tls.ManualParameters.Global.ProtocolVersionInfo schema contains the information about the TLS protocol version and its ciphers.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Tls.ManualParameters.Global.SetSpec": { + "required": [ + "curves", + "fips_enforced", + "protocol_versions" + ], + "type": "object", + "properties": { + "protocol_versions": { + "type": "array", + "description": "Defines the list of TLS protocol version and their ciphers\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Global.ProtocolVersionInfo" + } + }, + "curves": { + "type": "array", + "description": "Defines the TLS Profile curves in IANA form.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "type": "string" + } + }, + "fips_enforced": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. in 9.0.0.0 and above all profiles are FIPS compliant, always @term true.\n\nIndicates if FIPS 140-3 compliance is enforced for the TLS Profile.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "deprecated": true + } + }, + "description": "The Appliance.Tls.ManualParameters.Global.SetSpec schema contains the information about the TLS Profile.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Tls.ManualParameters.Global.SetSpecEx": { + "required": [ + "curves", + "protocol_versions" + ], + "type": "object", + "properties": { + "protocol_versions": { + "type": "array", + "description": "Defines the list of TLS protocol version and their ciphers\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Global.ProtocolVersionInfo" + } + }, + "curves": { + "type": "array", + "description": "Defines the TLS Profile curves in IANA form.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Tls.ManualParameters.Global.SetSpecEx schema contains the parameters for the custom TLS Profile which shall be applied to the appliance.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.Tls.ManualParameters.Global.Info": { + "required": [ + "manual_active", + "spec" + ], + "type": "object", + "properties": { + "manual_active": { + "type": "boolean", + "description": "Indicates if the current manual TLS parameters are activated for the appliance or standard TLS Profile is used instead of them\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "spec": { + "description": "Contains information about the configuration.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Global.SetSpec" + } + ] + } + }, + "description": "The Appliance.Tls.ManualParameters.Global.Info schema contains the information about a profile and its TLS configuration.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Tls.ManualParameters.Services.ProtocolVersionInfo": { + "required": [ + "ciphers", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Defines the TLS protocol version.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "ciphers": { + "type": "array", + "description": "Defines the TLS protocol ciphers in IANA form.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Tls.ManualParameters.Services.ProtocolVersionInfo schema contains the information about the TLS protocol version and its ciphers.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.Tls.ManualParameters.Services.SetSpec": { + "required": [ + "curves", + "protocol_versions" + ], + "type": "object", + "properties": { + "protocol_versions": { + "type": "array", + "description": "Defines the list of TLS protocol version and their ciphers\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Services.ProtocolVersionInfo" + } + }, + "curves": { + "type": "array", + "description": "Defines the TLS Profile curves in IANA form.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Appliance.Tls.ManualParameters.Services.SetSpec schema contains the information about the TLS parameters.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.Tls.ManualParameters.Services.Info": { + "required": [ + "curves", + "fips_enforced", + "protocol_versions" + ], + "type": "object", + "properties": { + "protocol_versions": { + "type": "array", + "description": "Defines the list of TLS protocol version and their ciphers\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Services.ProtocolVersionInfo" + } + }, + "curves": { + "type": "array", + "description": "Defines the TLS Profile curves in IANA form.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "fips_enforced": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. in 9.0.0.0 and above all profiles are FIPS compliant, always @term true.\n\nIndicates if FIPS 140-3 compliance is enforced for the TLS Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "deprecated": true + } + }, + "description": "The Appliance.Tls.ManualParameters.Services.Info schema contains the information about TLS configuration of a specific service.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.Tls.ManualParameters.Services.ListItem": { + "required": [ + "service" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "Defines the TLS integrated service.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.tls.manual_parameters.services`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.tls.manual_parameters.services`." + }, + "info": { + "description": "Contains information about the TLS configurations of a specific service.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, there is no specific configuration for that service.", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Services.Info" + } + ] + } + }, + "description": "The Appliance.Tls.ManualParameters.Services.ListItem schema contains the information about the service.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.Tls.ManualParameters.Services.ListResult": { + "required": [ + "services" + ], + "type": "object", + "properties": { + "services": { + "type": "array", + "description": "Defines the list of services integrated with TLS and its configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Appliance.Tls.ManualParameters.Services.ListItem" + } + } + }, + "description": "The Appliance.Tls.ManualParameters.Services.ListResult schema contains the information about the list of services integrated with TLS.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Appliance.Tls.Profiles.Global.Info": { + "required": [ + "profile" + ], + "type": "object", + "properties": { + "profile": { + "type": "string", + "description": "Defines the standard profile name.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.tls.profiles`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.tls.profiles`." + } + }, + "description": "The Appliance.Tls.Profiles.Global.Info schema contains the information about the profile name.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Tls.Profiles.Global.SetSpec": { + "required": [ + "profile" + ], + "type": "object", + "properties": { + "profile": { + "type": "string", + "description": "Defines the standard profile name.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.tls.profiles`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.tls.profiles`." + } + }, + "description": "The Appliance.Tls.Profiles.Global.SetSpec schema contains the information about the profile name.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Appliance.Update.ServiceInfo": { + "required": [ + "description", + "service" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "Service ID\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.service`." + }, + "description": { + "description": "Service description\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Appliance.Update.ServiceInfo schema describes a service to be stopped and started during the update installation.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.CommonInfo": { + "required": [ + "description", + "priority", + "reboot_required", + "release_date", + "severity", + "size", + "update_type" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the update. The short information what this update is. E.g. \"Update2 for vCenter Server Appliance 6.5\"\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "priority": { + "type": "string", + "description": "Update priority\n\nPossible values:\n - `HIGH`: Install ASAP\n - `MEDIUM`: Install at the earliest convenience\n - `LOW`: Install at your discretion\n\n\nFor more information see: *Appliance.Update.CommonInfo.Priority*.\n\nThis property was added in __vSphere API 6.7__." + }, + "severity": { + "type": "string", + "description": "Update severity\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation. The exploitation results in the complete compromise of confidentiality, integrity, and availability of user data and/or processing resources without user interaction. Exploitation could be leveraged to propagate an Internet worm or execute arbitrary code between Virtual Machines and/or the Host Operating System.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers. This rating also applies to those vulnerabilities which could lead to the complete compromise of availability when exploitation is by a remote unauthenticated attacker from the Internet or through a breach of virtual machine isolation.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact\n\n\nFor more information see: *Appliance.Update.CommonInfo.Severity*.\n\nThis property was added in __vSphere API 6.7__." + }, + "update_type": { + "type": "string", + "description": "Update category\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Appliance.Update.CommonInfo.Category*.\n\nThis property was added in __vSphere API 6.7__." + }, + "release_date": { + "type": "string", + "description": "Update release date.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "quick_patch": { + "type": "boolean", + "description": "Flag indicating whether the incoming patch is a quick patch. If field is not set, the patch is not a quick patch\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "reboot_required": { + "type": "boolean", + "description": "Flag indicating whether reboot is required after update.\n\nThis property was added in __vSphere API 6.7__." + }, + "size": { + "type": "integer", + "description": "Download Size of update in Megabytes.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Update.CommonInfo schema defines common update information\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.CommonInfo.Priority": { + "type": "string", + "description": "The Appliance.Update.CommonInfo.Priority enumerated type defines the update installation priority recommendations.\n\nPossible values:\n - `HIGH`: Install ASAP\n - `MEDIUM`: Install at the earliest convenience\n - `LOW`: Install at your discretion\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "HIGH", + "MEDIUM", + "LOW" + ] + }, + "Appliance.Update.CommonInfo.Severity": { + "type": "string", + "description": "The Appliance.Update.CommonInfo.Severity enumerated type defines the severity of the issues fixed in the update.\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation. The exploitation results in the complete compromise of confidentiality, integrity, and availability of user data and/or processing resources without user interaction. Exploitation could be leveraged to propagate an Internet worm or execute arbitrary code between Virtual Machines and/or the Host Operating System.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers. This rating also applies to those vulnerabilities which could lead to the complete compromise of availability when exploitation is by a remote unauthenticated attacker from the Internet or through a breach of virtual machine isolation.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "CRITICAL", + "IMPORTANT", + "MODERATE", + "LOW" + ] + }, + "Appliance.Update.CommonInfo.Category": { + "type": "string", + "description": "The Appliance.Update.CommonInfo.Category enumerated type defines update type\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "SECURITY", + "FIX", + "UPDATE", + "UPGRADE" + ] + }, + "Appliance.Update.Summary": { + "required": [ + "description", + "name", + "priority", + "reboot_required", + "release_date", + "severity", + "size", + "update_type", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version in form of X.Y.Z.P. e.g. 6.5.1.5400\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.update.pending`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.update.pending`." + }, + "name": { + "type": "string", + "description": "Name of the update.\n\nThis property was added in __vSphere API 6.7__." + }, + "description": { + "description": "Description of the update. The short information what this update is. E.g. \"Update2 for vCenter Server Appliance 6.5\"\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "priority": { + "type": "string", + "description": "Update priority\n\nPossible values:\n - `HIGH`: Install ASAP\n - `MEDIUM`: Install at the earliest convenience\n - `LOW`: Install at your discretion\n\n\nFor more information see: *Appliance.Update.CommonInfo.Priority*.\n\nThis property was added in __vSphere API 6.7__." + }, + "severity": { + "type": "string", + "description": "Update severity\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation. The exploitation results in the complete compromise of confidentiality, integrity, and availability of user data and/or processing resources without user interaction. Exploitation could be leveraged to propagate an Internet worm or execute arbitrary code between Virtual Machines and/or the Host Operating System.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers. This rating also applies to those vulnerabilities which could lead to the complete compromise of availability when exploitation is by a remote unauthenticated attacker from the Internet or through a breach of virtual machine isolation.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact\n\n\nFor more information see: *Appliance.Update.CommonInfo.Severity*.\n\nThis property was added in __vSphere API 6.7__." + }, + "update_type": { + "type": "string", + "description": "Update category\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Appliance.Update.CommonInfo.Category*.\n\nThis property was added in __vSphere API 6.7__." + }, + "release_date": { + "type": "string", + "description": "Update release date.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "quick_patch": { + "type": "boolean", + "description": "Flag indicating whether the incoming patch is a quick patch. If field is not set, the patch is not a quick patch\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "reboot_required": { + "type": "boolean", + "description": "Flag indicating whether reboot is required after update.\n\nThis property was added in __vSphere API 6.7__." + }, + "size": { + "type": "integer", + "description": "Download Size of update in Megabytes.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Update.Summary schema contains the essential information about the update\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.Policy.DayOfWeek": { + "type": "string", + "description": "The Appliance.Update.Policy.DayOfWeek enumerated type defines the set of days\n\nPossible values:\n - `MONDAY`: Monday\n - `TUESDAY`: Tuesday\n - `WEDNESDAY`: Wednesday\n - `THURSDAY`: Thursday\n - `FRIDAY`: Friday\n - `SATURDAY`: Saturday\n - `SUNDAY`: Sunday\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "Appliance.Update.Policy.Time": { + "required": [ + "day", + "hour", + "minute" + ], + "type": "object", + "properties": { + "day": { + "type": "string", + "description": "weekday to check for updates.\n\nPossible values:\n - `MONDAY`: Monday\n - `TUESDAY`: Tuesday\n - `WEDNESDAY`: Wednesday\n - `THURSDAY`: Thursday\n - `FRIDAY`: Friday\n - `SATURDAY`: Saturday\n - `SUNDAY`: Sunday\n\n\nFor more information see: *Appliance.Update.Policy.DayOfWeek*.\n\nThis property was added in __vSphere API 6.7__." + }, + "hour": { + "type": "integer", + "description": "Hour: 0-24\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "minute": { + "type": "integer", + "description": "Minute: 0-59\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Update.Policy.Time schema defines weekday and time the automatic check for new updates will be run\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.Policy.Info": { + "required": [ + "auto_stage", + "auto_update", + "certificate_check", + "check_schedule", + "default_url", + "manual_control" + ], + "type": "object", + "properties": { + "custom_url": { + "type": "string", + "description": "Current appliance update custom repository URL.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` update is checked at defaut URL." + }, + "default_url": { + "type": "string", + "description": "Current appliance update default repository URL.\n\nThis property was added in __vSphere API 6.7__." + }, + "username": { + "type": "string", + "description": "Username for the update repository\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` username will not be used to login" + }, + "check_schedule": { + "type": "array", + "description": "Schedule when the automatic check will be run.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Appliance.Update.Policy.Time" + } + }, + "auto_stage": { + "type": "boolean", + "description": "Automatically stage the latest update if available.\n\nThis property was added in __vSphere API 6.7__." + }, + "auto_update": { + "type": "boolean", + "description": "Is the appliance updated automatically. If set the appliance may ignore the check schedule or auto-stage settings.\n\nThis property was added in __vSphere API 6.7__." + }, + "manual_control": { + "type": "boolean", + "description": "Whether API client should allow the user to start update manually\n\nThis property was added in __vSphere API 6.7__." + }, + "certificate_check": { + "type": "boolean", + "description": "Indicates whether certificates will be checked during patching. \n\n Warning: If this property is set to false, an insecure connection is made to the update repository which can potentially put the appliance security at risk.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Appliance.Update.Policy.Info schema defines automatic update checking and staging policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.Policy.Config": { + "required": [ + "auto_stage", + "check_schedule" + ], + "type": "object", + "properties": { + "custom_url": { + "type": "string", + "description": "Current appliance update repository URL.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` then default URL is assumed" + }, + "username": { + "type": "string", + "description": "Username for the update repository\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` username will not be used to login" + }, + "password": { + "type": "string", + "description": "Password for the update repository\n\nThis property was added in __vSphere API 6.7__.\n\npassword If missing or `null` password will not be used to login", + "format": "password" + }, + "check_schedule": { + "type": "array", + "description": "Schedule when the automatic check will be run.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Appliance.Update.Policy.Time" + } + }, + "auto_stage": { + "type": "boolean", + "description": "Automatically stage the latest update if available.\n\nThis property was added in __vSphere API 6.7__." + }, + "certificate_check": { + "type": "boolean", + "description": "Indicates whether certificates will be checked during patching. \n\n Warning: Setting this property to false will result in an insecure connection to update repository which can potentially put the appliance security at risk.\n\nThis property was added in __vSphere API 6.7__.\n\ncertificateCheck If missing or `null` the certificate checks are enabled." + } + }, + "description": "The Appliance.Update.Policy.Config schema defines automatic update checking and staging policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.Pending.SourceType": { + "type": "string", + "description": "The Appliance.Update.Pending.SourceType enumerated type defines the supported types of sources of updates.\n\nPossible values:\n - `LAST_CHECK`: Do not perform a new check, return the previous result\n - `LOCAL`: Check the local sources, ISO devices, staged area\n - `LOCAL_AND_ONLINE`: Check the local sources, ISO devices, staged area, then online repository as stated in update policy\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "LAST_CHECK", + "LOCAL", + "LOCAL_AND_ONLINE" + ] + }, + "Appliance.Update.Pending.Info": { + "required": [ + "contents", + "description", + "eulas", + "knowledge_base", + "name", + "priority", + "reboot_required", + "release_date", + "services_will_be_stopped", + "severity", + "size", + "staged", + "update_type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the update.\n\nThis property was added in __vSphere API 6.7__." + }, + "contents": { + "type": "array", + "description": "List of the 1. issues addressed since previous/current version 2. new features/improvements\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "services_will_be_stopped": { + "type": "array", + "description": "List of the services that will be stopped and restarted during the update installation.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Appliance.Update.ServiceInfo" + } + }, + "estimated_time_to_install": { + "type": "integer", + "description": "Rough estimate of time to install the update (minutes).\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nestimatedTimeToInstall If missing or `null` N/A", + "format": "int64" + }, + "workload_management_impact": { + "type": "boolean", + "description": "Flag indicating if there is an impact to workload management. False: The following Workload Management API-Driven Operations are fully operational and will not be disrupted by this update. VM workload provisioning, VM CRUD Operations Kubernetes workload provisioning, Kubernetes CRUD Operations Compute and Storage Scaling Continuous log collection and forwarding to Ops for monitoring True: Workload management will be disrupted for a given downtime.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nworkloadManagementImpact If missing or `null` the patch is not a quick patch" + }, + "eulas": { + "type": "array", + "description": "List of EULAs. This list has multiple entries and can be dynamic based on what we are actually installing.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "staged": { + "type": "boolean", + "description": "Is the update staged\n\nThis property was added in __vSphere API 6.7__." + }, + "knowledge_base": { + "type": "string", + "description": "URL for the knowledge base article describing this update.\n\nThis property was added in __vSphere API 6.7__.", + "format": "uri" + }, + "description": { + "description": "Description of the update. The short information what this update is. E.g. \"Update2 for vCenter Server Appliance 6.5\"\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "priority": { + "type": "string", + "description": "Update priority\n\nPossible values:\n - `HIGH`: Install ASAP\n - `MEDIUM`: Install at the earliest convenience\n - `LOW`: Install at your discretion\n\n\nFor more information see: *Appliance.Update.CommonInfo.Priority*.\n\nThis property was added in __vSphere API 6.7__." + }, + "severity": { + "type": "string", + "description": "Update severity\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation. The exploitation results in the complete compromise of confidentiality, integrity, and availability of user data and/or processing resources without user interaction. Exploitation could be leveraged to propagate an Internet worm or execute arbitrary code between Virtual Machines and/or the Host Operating System.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers. This rating also applies to those vulnerabilities which could lead to the complete compromise of availability when exploitation is by a remote unauthenticated attacker from the Internet or through a breach of virtual machine isolation.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact\n\n\nFor more information see: *Appliance.Update.CommonInfo.Severity*.\n\nThis property was added in __vSphere API 6.7__." + }, + "update_type": { + "type": "string", + "description": "Update category\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Appliance.Update.CommonInfo.Category*.\n\nThis property was added in __vSphere API 6.7__." + }, + "release_date": { + "type": "string", + "description": "Update release date.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "quick_patch": { + "type": "boolean", + "description": "Flag indicating whether the incoming patch is a quick patch. If field is not set, the patch is not a quick patch\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "reboot_required": { + "type": "boolean", + "description": "Flag indicating whether reboot is required after update.\n\nThis property was added in __vSphere API 6.7__." + }, + "size": { + "type": "integer", + "description": "Download Size of update in Megabytes.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Update.Pending.Info schema contains the extended information about the update\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.Pending.UpgradeableComponent": { + "required": [ + "affected_services", + "component", + "description", + "name", + "priority", + "reboot_required", + "release_date", + "severity", + "size", + "update_type", + "version" + ], + "type": "object", + "properties": { + "component": { + "type": "string", + "description": "Name of the upgradeable component. Component is a service or a group of services providing asynchronous lifecycle\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "affected_services": { + "type": "array", + "description": "List of services affected as part of the update.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "type": "string" + } + }, + "version": { + "type": "string", + "description": "Version in form of X.Y.Z.P. e.g. 6.5.1.5400\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.update.pending`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.update.pending`." + }, + "name": { + "type": "string", + "description": "Name of the update.\n\nThis property was added in __vSphere API 6.7__." + }, + "description": { + "description": "Description of the update. The short information what this update is. E.g. \"Update2 for vCenter Server Appliance 6.5\"\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "priority": { + "type": "string", + "description": "Update priority\n\nPossible values:\n - `HIGH`: Install ASAP\n - `MEDIUM`: Install at the earliest convenience\n - `LOW`: Install at your discretion\n\n\nFor more information see: *Appliance.Update.CommonInfo.Priority*.\n\nThis property was added in __vSphere API 6.7__." + }, + "severity": { + "type": "string", + "description": "Update severity\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation. The exploitation results in the complete compromise of confidentiality, integrity, and availability of user data and/or processing resources without user interaction. Exploitation could be leveraged to propagate an Internet worm or execute arbitrary code between Virtual Machines and/or the Host Operating System.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers. This rating also applies to those vulnerabilities which could lead to the complete compromise of availability when exploitation is by a remote unauthenticated attacker from the Internet or through a breach of virtual machine isolation.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact\n\n\nFor more information see: *Appliance.Update.CommonInfo.Severity*.\n\nThis property was added in __vSphere API 6.7__." + }, + "update_type": { + "type": "string", + "description": "Update category\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Appliance.Update.CommonInfo.Category*.\n\nThis property was added in __vSphere API 6.7__." + }, + "release_date": { + "type": "string", + "description": "Update release date.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "quick_patch": { + "type": "boolean", + "description": "Flag indicating whether the incoming patch is a quick patch. If field is not set, the patch is not a quick patch\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "reboot_required": { + "type": "boolean", + "description": "Flag indicating whether reboot is required after update.\n\nThis property was added in __vSphere API 6.7__." + }, + "size": { + "type": "integer", + "description": "Download Size of update in Megabytes.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Update.Pending.UpgradeableComponent schema describes component update information\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Appliance.Update.Pending.Question": { + "required": [ + "data_item", + "description", + "text", + "type" + ], + "type": "object", + "properties": { + "data_item": { + "type": "string", + "description": "ID of the data item\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.applicance.update.pending.dataitem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.applicance.update.pending.dataitem`." + }, + "text": { + "description": "Label for the item to be used in GUI/CLI\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "description": { + "description": "Description of the item\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "type": { + "type": "string", + "description": "How this field shoudl be represented in GUI or CLI\n\nPossible values:\n - `PLAIN_TEXT`: plain text answer\n - `BOOLEAN`: Yes/No,On/Off,Checkbox answer\n - `PASSWORD`: Password (masked) answer\n\n\nFor more information see: *Appliance.Update.Pending.Question.InputType*.\n\nThis property was added in __vSphere API 6.7__." + }, + "allowed_values": { + "type": "array", + "description": "List of allowed values\n\nThis property was added in __vSphere API 6.7__.\n\nallowedValues If missing or `null` any value is valid.", + "items": { + "type": "string" + } + }, + "regexp": { + "type": "string", + "description": "Regexp to validate the input\n\nThis property was added in __vSphere API 6.7__.\n\nregexp If missing or `null` no validation will be performed." + }, + "default_answer": { + "type": "string", + "description": "Default answer\n\nThis property was added in __vSphere API 6.7__.\n\ndefaultAnswer If missing or `null` then there is no default answer, so an explicit answer must be provided" + } + }, + "description": "The Appliance.Update.Pending.Question schema describes a item of information that must be provided by the user in order to install the update.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.Pending.Question.InputType": { + "type": "string", + "description": "The Appliance.Update.Pending.Question.InputType enumerated type defines representation of field fields in GUI or CLI\n\nPossible values:\n - `PLAIN_TEXT`: plain text answer\n - `BOOLEAN`: Yes/No,On/Off,Checkbox answer\n - `PASSWORD`: Password (masked) answer\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "PLAIN_TEXT", + "BOOLEAN", + "PASSWORD" + ] + }, + "Appliance.Update.Pending.PrecheckResult": { + "required": [ + "check_time", + "questions", + "reboot_required" + ], + "type": "object", + "properties": { + "check_time": { + "type": "string", + "description": "Time when this precheck was run\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "estimated_time_to_install": { + "type": "integer", + "description": "Rough estimate of time to install the update (minutes).\n\nThis property was added in __vSphere API 6.7__.\n\nestimatedTimeToInstall If missing or `null` N/A", + "format": "int64" + }, + "estimated_time_to_rollback": { + "type": "integer", + "description": "Rough estimate of time to rollback the update (minutes).\n\nThis property was added in __vSphere API 6.7__.\n\nestimatedTimeToRollback If missing or `null` N/A", + "format": "int64" + }, + "reboot_required": { + "type": "boolean", + "description": "Is reboot required to install the update.\n\nThis property was added in __vSphere API 6.7__." + }, + "issues": { + "description": "Lists of the issues and warnings\n\nThis property was added in __vSphere API 6.7__.\n\nissues If missing or `null` N/A", + "allOf": [ + { + "$ref": "#/components/schemas/Appliance.Notifications" + } + ] + }, + "questions": { + "type": "array", + "description": "List of questions that must be answered to install the update.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Appliance.Update.Pending.Question" + } + } + }, + "description": "The Appliance.Update.Pending.PrecheckResult schema contains estimates of how long it will take install and rollback an update as well as a list of possible warnings and problems with installing the update.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Appliance.Update.Staged.Info": { + "required": [ + "description", + "name", + "priority", + "reboot_required", + "release_date", + "severity", + "size", + "staging_complete", + "update_type", + "version" + ], + "type": "object", + "properties": { + "staging_complete": { + "type": "boolean", + "description": "Is staging complete\n\nThis property was added in __vSphere API 6.7__." + }, + "component": { + "type": "string", + "description": "Staged Component name.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` the staged update is for full patch if set staged update is an upgradeable component which can be updated individually without vc update" + }, + "version": { + "type": "string", + "description": "Version in form of X.Y.Z.P. e.g. 6.5.1.5400\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.appliance.update.pending`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.appliance.update.pending`." + }, + "name": { + "type": "string", + "description": "Name of the update.\n\nThis property was added in __vSphere API 6.7__." + }, + "description": { + "description": "Description of the update. The short information what this update is. E.g. \"Update2 for vCenter Server Appliance 6.5\"\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "priority": { + "type": "string", + "description": "Update priority\n\nPossible values:\n - `HIGH`: Install ASAP\n - `MEDIUM`: Install at the earliest convenience\n - `LOW`: Install at your discretion\n\n\nFor more information see: *Appliance.Update.CommonInfo.Priority*.\n\nThis property was added in __vSphere API 6.7__." + }, + "severity": { + "type": "string", + "description": "Update severity\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation. The exploitation results in the complete compromise of confidentiality, integrity, and availability of user data and/or processing resources without user interaction. Exploitation could be leveraged to propagate an Internet worm or execute arbitrary code between Virtual Machines and/or the Host Operating System.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers. This rating also applies to those vulnerabilities which could lead to the complete compromise of availability when exploitation is by a remote unauthenticated attacker from the Internet or through a breach of virtual machine isolation.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact\n\n\nFor more information see: *Appliance.Update.CommonInfo.Severity*.\n\nThis property was added in __vSphere API 6.7__." + }, + "update_type": { + "type": "string", + "description": "Update category\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Appliance.Update.CommonInfo.Category*.\n\nThis property was added in __vSphere API 6.7__." + }, + "release_date": { + "type": "string", + "description": "Update release date.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "quick_patch": { + "type": "boolean", + "description": "Flag indicating whether the incoming patch is a quick patch. If field is not set, the patch is not a quick patch\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "reboot_required": { + "type": "boolean", + "description": "Flag indicating whether reboot is required after update.\n\nThis property was added in __vSphere API 6.7__." + }, + "size": { + "type": "integer", + "description": "Download Size of update in Megabytes.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + } + }, + "description": "The Appliance.Update.Staged.Info schema contains information about the staged update\n\nThis schema was added in __vSphere API 6.7__." + }, + "Cis.Session.Info": { + "required": [ + "created_time", + "last_accessed_time", + "user" + ], + "type": "object", + "properties": { + "user": { + "type": "string", + "description": "Fully qualified name of the end user that created the session, for example Administrator@vsphere.local. A typical use case for this information is in Graphical User Interfaces (GUI) or logging systems to visualize the identity of the current user." + }, + "created_time": { + "type": "string", + "description": "Time when the session was created.", + "format": "date-time" + }, + "last_accessed_time": { + "type": "string", + "description": "Last time this session was used by passing the session token for invoking an API.", + "format": "date-time" + } + }, + "description": "Represents data associated with an API session." + }, + "Cis.Tasks.GetSpec": { + "type": "object", + "properties": { + "return_all": { + "type": "boolean", + "description": "If true, all data, including operation-specific data, will be returned, otherwise only the data described in *Cis.Task.Info* will be returned.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, only the data described in *Cis.Task.Info* will be returned." + }, + "exclude_result": { + "type": "boolean", + "description": "If true, the result will not be included in the task information, otherwise it will be included.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, the result of the operation will be included in the task information." + } + }, + "description": "The Cis.Tasks.GetSpec schema describes what data should be included when retrieving information about a task.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Cis.Tasks.FilterSpec": { + "type": "object", + "properties": { + "tasks": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of tasks that can match the filter.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property may be missing or `null` if services is specified. Currently all tasks must be from the same provider. If missing or `null` or empty, tasks with any identifier will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.cis.task`.", + "items": { + "type": "string" + } + }, + "services": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of services. Tasks created by operations in these services match the filter (see *Cis.Task.CommonInfo.service*).\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property may be missing or `null` if tasks is specified. Currently all services must be from the same provider. If this property is missing or `null` or empty, tasks for any service will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vapi.service`.", + "items": { + "type": "string" + } + }, + "operations": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of operations. Tasks created by these operations match the filter (see *Cis.Task.CommonInfo.operation*). \n\n Note that an operation identifier by itself is not globally unique. To filter on an operation, the identifier of the service interface containing the operation should also be specified in services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, tasks associated with any operation will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vapi.operation`.", + "items": { + "type": "string" + } + }, + "status": { + "uniqueItems": true, + "type": "array", + "description": "Status that a task must have to match the filter (see *Cis.Task.CommonInfo.status*).\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` or empty, tasks with any status match the filter.", + "items": { + "type": "string" + } + }, + "targets": { + "type": "array", + "description": "Identifiers of the targets the operation for the associated task created or was performed on (see *Cis.Task.CommonInfo.target*).\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` or empty, tasks associated with operations on any target match the filter.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + }, + "users": { + "uniqueItems": true, + "type": "array", + "description": "Users who must have initiated the operation for the associated task to match the filter (see *Cis.Task.CommonInfo.user*).\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` or empty, tasks associated with operations initiated by any user match the filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Cis.Tasks.FilterSpec schema contains properties used to filter the results when listing tasks (see *POST /cis/tasks?action=list*). If multiple properties are specified, only tasks matching all of the properties match the filter. \n\n Currently at least one of *Cis.Tasks.FilterSpec.tasks* or *Cis.Tasks.FilterSpec.services* must be specified and not empty.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Cis.Tagging.CategoryModel": { + "required": [ + "associable_types", + "cardinality", + "description", + "id", + "name", + "used_by" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the category.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Category`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Category`." + }, + "name": { + "type": "string", + "description": "The display name of the category." + }, + "description": { + "type": "string", + "description": "The description of the category." + }, + "cardinality": { + "type": "string", + "description": "The associated cardinality (Cardinality) of the category.\n\nPossible values:\n - `SINGLE`: An object can only be assigned one of the tags in this category. For example, if a category is \"Operating System\", then different tags of this category would be \"Windows\", \"Linux\", and so on. In this case a VM object can be assigned only one of these tags and hence the cardinality of the associated category here is single.\n - `MULTIPLE`: An object can be assigned several of the tags in this category. For example, if a category is \"Server\", then different tags of this category would be \"AppServer\", \"DatabaseServer\" and so on. In this case a VM object can be assigned more than one of the above tags and hence the cardinality of the associated category here is multiple.\n\n\nFor more information see: *Cis.Tagging.CategoryModel.Cardinality*." + }, + "associable_types": { + "uniqueItems": true, + "type": "array", + "description": "The types of objects that the tags in this category can be attached to. If the set is empty, then tags can be attached to all types of objects. This field works only for objects that reside in Inventory Service (IS). For non IS objects, this check is not performed today and hence a tag can be attached to any non IS object.", + "items": { + "type": "string" + } + }, + "used_by": { + "uniqueItems": true, + "type": "array", + "description": "The set of users that can use this category. To add users to this, you need to have the edit privilege on the category. Similarly, to unsubscribe from this category, you need the edit privilege on the category. You should not modify other users subscription from this set.", + "items": { + "type": "string" + } + } + }, + "description": "The Cis.Tagging.CategoryModel schema defines a category that is used to group one or more tags." + }, + "Cis.Tagging.CategoryModel.Cardinality": { + "type": "string", + "description": "The Cis.Tagging.CategoryModel.Cardinality enumerated type defines the number of tags in a category that can be assigned to an object.\n\nPossible values:\n - `SINGLE`: An object can only be assigned one of the tags in this category. For example, if a category is \"Operating System\", then different tags of this category would be \"Windows\", \"Linux\", and so on. In this case a VM object can be assigned only one of these tags and hence the cardinality of the associated category here is single.\n - `MULTIPLE`: An object can be assigned several of the tags in this category. For example, if a category is \"Server\", then different tags of this category would be \"AppServer\", \"DatabaseServer\" and so on. In this case a VM object can be assigned more than one of the above tags and hence the cardinality of the associated category here is multiple.\n", + "enum": [ + "SINGLE", + "MULTIPLE" + ] + }, + "Cis.Tagging.TagModel": { + "required": [ + "category_id", + "description", + "id", + "name", + "used_by" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the tag.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`." + }, + "category_id": { + "type": "string", + "description": "The identifier of the parent category in which this tag will be created.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Category`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Category`." + }, + "name": { + "type": "string", + "description": "The display name of the tag." + }, + "description": { + "type": "string", + "description": "The description of the tag." + }, + "used_by": { + "uniqueItems": true, + "type": "array", + "description": "The set of users that can use this tag. To add users to this, you need to have the edit privilege on the tag. Similarly, to unsubscribe from this tag, you need the edit privilege on the tag. You should not modify other users subscription from this set.", + "items": { + "type": "string" + } + } + }, + "description": "The Cis.Tagging.TagModel schema defines a tag that can be attached to vSphere objects." + }, + "Cis.Tagging.Category.CreateSpec": { + "required": [ + "associable_types", + "cardinality", + "description", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the category." + }, + "description": { + "type": "string", + "description": "The description of the category." + }, + "cardinality": { + "type": "string", + "description": "The associated cardinality (Cardinality) of the category.\n\nPossible values:\n - `SINGLE`: An object can only be assigned one of the tags in this category. For example, if a category is \"Operating System\", then different tags of this category would be \"Windows\", \"Linux\", and so on. In this case a VM object can be assigned only one of these tags and hence the cardinality of the associated category here is single.\n - `MULTIPLE`: An object can be assigned several of the tags in this category. For example, if a category is \"Server\", then different tags of this category would be \"AppServer\", \"DatabaseServer\" and so on. In this case a VM object can be assigned more than one of the above tags and hence the cardinality of the associated category here is multiple.\n\n\nFor more information see: *Cis.Tagging.CategoryModel.Cardinality*." + }, + "associable_types": { + "uniqueItems": true, + "type": "array", + "description": "Object types to which this category's tags can be attached.", + "items": { + "type": "string" + } + }, + "category_id": { + "type": "string", + "description": "This property was added in __vSphere API 6.7__.\n\nIf missing or `null` an identifier will be generated by the server\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Category`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Category`." + } + }, + "description": "The Cis.Tagging.Category.CreateSpec schema is used to create a category. \n\n Use the *POST /cis/tagging/category* operation to create a category defined by the create specification." + }, + "Cis.Tagging.Category.UpdateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the category.\n\nIf missing or `null` the name will not be modified." + }, + "description": { + "type": "string", + "description": "The description of the category.\n\nIf missing or `null` the description will not be modified." + }, + "cardinality": { + "type": "string", + "description": "The associated cardinality (Cardinality) of the category.\n\nPossible values:\n - `SINGLE`: An object can only be assigned one of the tags in this category. For example, if a category is \"Operating System\", then different tags of this category would be \"Windows\", \"Linux\", and so on. In this case a VM object can be assigned only one of these tags and hence the cardinality of the associated category here is single.\n - `MULTIPLE`: An object can be assigned several of the tags in this category. For example, if a category is \"Server\", then different tags of this category would be \"AppServer\", \"DatabaseServer\" and so on. In this case a VM object can be assigned more than one of the above tags and hence the cardinality of the associated category here is multiple.\n\n\nFor more information see: *Cis.Tagging.CategoryModel.Cardinality*.\n\nIf missing or `null` the cardinality will not be modified." + }, + "associable_types": { + "uniqueItems": true, + "type": "array", + "description": "Object types to which this category's tags can be attached. \n\n The set of associable types cannot be updated incrementally. For example, if *Cis.Tagging.Category.UpdateSpec.associable_types* originally contains {A,B,C} and you want to add D, then you need to pass {A,B,C,D} in your update specification. You also cannot remove any item from this set. For example, if you have {A,B,C}, then you cannot remove say {A} from it. Similarly, if you start with an empty set, then that implies that you can tag any object and hence you cannot later pass say {A}, because that would be restricting the type of objects you want to tag. Thus, associable types can only grow and not shrink.\n\nIf missing or `null` the associable types will not be modified.", + "items": { + "type": "string" + } + } + }, + "description": "The Cis.Tagging.Category.UpdateSpec schema describes the updates to be made to an existing category. \n\n Use the *PATCH /cis/tagging/category/{categoryId}* operation to modify a category. When you call the operation, specify the category identifier. You obtain the category identifier when you call the *POST /cis/tagging/category* operation. You can also retrieve an identifier by using the *GET /cis/tagging/category* operation." + }, + "Cis.Tagging.Tag.CreateSpec": { + "required": [ + "category_id", + "description", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the tag. The name must be unique within its category." + }, + "description": { + "type": "string", + "description": "The description of the tag." + }, + "category_id": { + "type": "string", + "description": "The unique identifier of the parent category in which this tag will be created.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Category`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Category`." + }, + "tag_id": { + "type": "string", + "description": "This property was added in __vSphere API 6.7__.\n\nIf missing or `null` an identifier will be generated by the server\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`." + } + }, + "description": "The Cis.Tagging.Tag.CreateSpec schema describes a tag. \n\n Use the *POST /cis/tagging/tag* operation to create a tag defined by the create specification." + }, + "Cis.Tagging.Tag.UpdateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The display name of the tag.\n\nIf missing or `null` the name will not be modified." + }, + "description": { + "type": "string", + "description": "The description of the tag.\n\nIf missing or `null` the description will not be modified." + } + }, + "description": "The Cis.Tagging.Tag.UpdateSpec schema describes the updates to be made to an existing tag. \n\n Use the *PATCH /cis/tagging/tag/{tagId}* operation to modify a tag. When you call the operation, you specify the tag identifier. You obtain the tag identifier when you call the *POST /cis/tagging/tag* operation. You can also retrieve an identifier by using the *GET /cis/tagging/tag* operation." + }, + "Cis.Tagging.TagAssociation.BatchResult": { + "required": [ + "error_messages", + "success" + ], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "This is true if the batch operation completed without any errors. Otherwise it is false and all or some operations have failed.\n\nThis property was added in __vSphere API 6.5__." + }, + "error_messages": { + "type": "array", + "description": "The list of error messages.\n\nThis property was added in __vSphere API 6.5__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Cis.Tagging.TagAssociation.BatchResult schema describes the result of performing the same operation on several tags or objects in a single invocation.\n\nThis schema was added in __vSphere API 6.5__." + }, + "Cis.Tagging.TagAssociation.TagToObjects": { + "required": [ + "object_ids", + "tag_id" + ], + "type": "object", + "properties": { + "tag_id": { + "type": "string", + "description": "The identifier of the tag.\n\nThis property was added in __vSphere API 6.5__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`." + }, + "object_ids": { + "type": "array", + "description": "The identifiers of the related objects.\n\nThis property was added in __vSphere API 6.5__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + } + }, + "description": "The Cis.Tagging.TagAssociation.TagToObjects schema describes a tag and its related objects. Use the *POST /cis/tagging/tag-association?action=list-attached-objects-on-tags* operation to retrieve a list with each element containing a tag and the objects to which it is attached.\n\nThis schema was added in __vSphere API 6.5__." + }, + "Cis.Tagging.TagAssociation.ObjectToTags": { + "required": [ + "object_id", + "tag_ids" + ], + "type": "object", + "properties": { + "object_id": { + "description": "The identifier of the object.\n\nThis property was added in __vSphere API 6.5__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "tag_ids": { + "type": "array", + "description": "The identifiers of the related tags.\n\nThis property was added in __vSphere API 6.5__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "items": { + "type": "string" + } + } + }, + "description": "The Cis.Tagging.TagAssociation.ObjectToTags schema describes an object and its related tags. Use the *POST /cis/tagging/tag-association?action=list-attached-tags-on-objects* operation to retrieve a list with each element containing an object and the tags attached to it.\n\nThis schema was added in __vSphere API 6.5__." + }, + "Cis.Task.Status": { + "type": "string", + "description": "The Cis.Task.Status enumerated type defines the status values that can be reported for an operation.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "PENDING", + "RUNNING", + "BLOCKED", + "SUCCEEDED", + "FAILED" + ] + }, + "Cis.Task.Progress": { + "required": [ + "completed", + "message", + "total" + ], + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total amount of the work for the operation.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "completed": { + "type": "integer", + "description": "The amount of work completed for the operation. The value can only be incremented.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "message": { + "description": "Message about the work progress.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Cis.Task.Progress schema contains information describe the progress of an operation.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Cis.Task.CommonInfo": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "status" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Cis.Task.CommonInfo schema contains information common to all tasks.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Cis.Task.Info": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "status" + ], + "type": "object", + "properties": { + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "result": { + "description": "Result of the operation. \n\n If an operation reports partial results before it completes, this property could be set before the *Cis.Task.CommonInfo.status* has the value *Cis.Task.Status.SUCCEEDED*. The value could change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation does not return a result or if the result is not available at the current step of the operation." + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Cis.Task.Info schema contains information about a task.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Content.SecurityRuleType": { + "type": "string", + "description": "The Content.SecurityRuleType enumerated type defines the security rules which can be applied to different item types.\n\nPossible values:\n - `OVF_STRICT_VERIFICATION`: This rule indicates that an OVF/OVA item can only be imported or synced to a content library if its certificate is valid and signed by a trusted CA.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "OVF_STRICT_VERIFICATION" + ] + }, + "Content.ConfigurationModel": { + "type": "object", + "properties": { + "automatic_sync_enabled": { + "type": "boolean", + "description": "Whether automatic synchronization is enabled. \n\n When automatic synchronization is enabled, the Content Library Service will automatically synchronize all subscribed libraries on a daily basis. Subscribed libraries with the *Content.ConfigurationModel.automatic_sync_enabled* flag turned on will be synchronized every hour between *Content.ConfigurationModel.automatic_sync_start_hour* and *Content.ConfigurationModel.automatic_sync_stop_hour*. \n\n The default value is true.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + }, + "automatic_sync_enabled_setting": { + "description": "The setting for the *Content.ConfigurationModel.automatic_sync_enabled*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "automatic_sync_start_hour": { + "type": "integer", + "description": "The hour at which the automatic synchronization will start. This value is between 0 (midnight) and 23 inclusive. \n\n The default value is 20.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "automatic_sync_start_hour_setting": { + "description": "The setting for the *Content.ConfigurationModel.automatic_sync_start_hour*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "automatic_sync_stop_hour": { + "type": "integer", + "description": "The hour at which the automatic synchronization will stop. Any active synchronization operation will continue to run, however no new synchronization operations will be triggered after the stop hour. This value is between 0 (midnight) and 23 inclusive. \n\n The default value is 7.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "automatic_sync_stop_hour_setting": { + "description": "The setting for the *Content.ConfigurationModel.automatic_sync_stop_hour*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "maximum_concurrent_item_syncs": { + "type": "integer", + "description": "The maximum allowed number of library items to synchronize concurrently from remote libraries. This must be a positive number. The service may not be able to guarantee the requested concurrency if there is no available capacity. \n\n This setting is global across all subscribed libraries. The default value is 5.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "maximum_concurrent_item_syncs_setting": { + "description": "The setting for the *Content.ConfigurationModel.maximum_concurrent_item_syncs*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "automatic_sync_refresh_interval": { + "type": "integer", + "description": "The interval in minutes between two consequent automatic synchronization of all subscribed content libraries within the automatic synchronization window defined by *Content.ConfigurationModel.automatic_sync_start_hour* and *Content.ConfigurationModel.automatic_sync_stop_hour*. \n\n The default value is 240 minutes.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "automatic_sync_refresh_interval_setting": { + "description": "The setting for the *Content.ConfigurationModel.automatic_sync_refresh_interval*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "automatic_sync_setting_refresh_interval": { + "type": "integer", + "description": "The interval in seconds after some automatic synchronization settings are changed and before the Content Library Service applies the settings. The automatic synchronization settings include *Content.ConfigurationModel.automatic_sync_refresh_interval*, *Content.ConfigurationModel.automatic_sync_start_hour* and *Content.ConfigurationModel.automatic_sync_start_hour*. Measured in seconds. \n\n The default value is 600 seconds. This setting requires restart of the content library service to take effect when changed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "automatic_sync_setting_refresh_interval_setting": { + "description": "The setting for the *Content.ConfigurationModel.automatic_sync_setting_refresh_interval*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "transfer_throttling_bandwidth_total": { + "type": "integer", + "description": "Maximum Bandwidth usage threshold in Mbps across all transfers handled by the Content Library Service. \n\n The default value is 0 Mbit/s which means unlimited bandwidth.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "transfer_throttling_bandwidth_total_setting": { + "description": "The setting for the *Content.ConfigurationModel.transfer_throttling_bandwidth_total*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "transfer_nfc_max_concurrent_transfers_per_host": { + "type": "integer", + "description": "Maximum concurrent NFC transfers limit per ESXi host. This setting controls how many concurrent NFC sessions can be opened to a single ESXi host during transfers. Each file being transferred uses a single NFC connection. \n\n This limit is shared across content library workflows requiring NFC transfers such as OVF template deployments, uploading or downloading an item, sync etc. The default value is 8.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "transfer_nfc_max_concurrent_transfers_per_host_setting": { + "description": "The setting for the *Content.ConfigurationModel.transfer_nfc_max_concurrent_transfers_per_host*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "priority_transfer_threads_pool_size": { + "type": "integer", + "description": "Maximum number of concurrent transfers that is allowed to transfer priority files by the Content Library Service. Currently priority files include OVF descriptor file. \n\n The default value is 5. This setting requires restart of the content library service to take effect when changed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "priority_transfer_threads_pool_size_setting": { + "description": "The setting for the *Content.ConfigurationModel.priority_transfer_threads_pool_size*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + }, + "transfer_threads_pool_size": { + "type": "integer", + "description": "Maximum number of concurrent transfers that is allowed to transfer non-priority files by the Content Library Service. \n\n The default value is 20. This setting requires restart of the content library service to take effect when changed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "transfer_threads_pool_size_setting": { + "description": "The setting for the *Content.ConfigurationModel.transfer_threads_pool_size*, which includes *Content.ConfigurationSetting.reboot_required*, *Content.ConfigurationSetting.constraints*, etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.ConfigurationSetting" + } + ] + } + }, + "description": "The Content.ConfigurationModel schema defines the global settings of the Content Library Service." + }, + "Content.ConfigurationSetting": { + "required": [ + "constraints", + "name", + "reboot_required" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the configuration.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "reboot_required": { + "type": "boolean", + "description": "Flag indicates if reboot of the Content Library Service is required to apply the change after the configuration's value is updated.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "constraints": { + "type": "array", + "description": "The constraints that can apply to the value of the configuration. Each entry has ConstraintType and value.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "description": "The Content.ConfigurationSetting schema defines the settings of a global configuration on the Content Library Service.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Content.ConfigurationSetting.ConstraintType": { + "type": "string", + "description": "The Content.ConfigurationSetting.ConstraintType enumerated type defines the type of a contraints.\n\nPossible values:\n - `ENUMERATION`: This type defines possible values for a constraint. For example, if constraint is of boolean type then its possible values are true or false.\n - `MIN_INCLUSIVE`: This type specifies an inclusive lower bound as a constraint for the corresponding configuration value.\n - `MAX_INCLUSIVE`: This type specifies an inclusive upper bound as a constraint for the corresponding configuration value.\n - `MIN_EXCLUSIVE`: This type specifies an exclusive lower bound as a constraint for the corresponding configuration value.\n - `MAX_EXCLUSIVE`: This type specifies an exclusive upper bound as a constraint for the corresponding configuration value.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "ENUMERATION", + "MIN_INCLUSIVE", + "MAX_INCLUSIVE", + "MIN_EXCLUSIVE", + "MAX_EXCLUSIVE" + ] + }, + "Content.LibraryModel": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "An identifier which uniquely identifies this Content.LibraryModel.\n\nThis property is not used for the `create` operation. It will not be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "creation_time": { + "type": "string", + "description": "The date and time when this library was created.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "A human-readable description for this library.\n\nThis property is optional for the `create` operation. Leaving it missing or `null` during creation will result in an empty string value. It will always be present in the result of a `get` or `list` operation. It is optional for the `update` operation. Leaving it missing or `null` during update indicates that the description should be left unchanged." + }, + "last_modified_time": { + "type": "string", + "description": "The date and time when this library was last updated. \n\n This property is updated automatically when the library properties are changed. This property is not affected by adding, removing, or modifying a library item or its content within the library. Tagging the library or syncing the subscribed library does not alter this property.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "date-time" + }, + "last_sync_time": { + "type": "string", + "description": "The date and time when this library was last synchronized. \n\n This property applies only to subscribed libraries. It is updated every time a synchronization is triggered on the library. The value is missing or `null` for a local library.\n\nThis property is not used for the `create` operation. It is optional in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "date-time" + }, + "name": { + "type": "string", + "description": "The name of the library. \n\n A Library is identified by a human-readable name. Library names cannot be undefined or an empty string. Names do not have to be unique.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + }, + "storage_backings": { + "type": "array", + "description": "The list of default storage backings which are available for this library. \n\n A *Content.Library.StorageBacking* defines a default storage location which can be used to store files for library items in this library. Some library items, for instance, virtual machine template items, support files that may be distributed across various storage backings. One or more item files may or may not be located on the default storage backing. \n\n Multiple default storage locations are not currently supported but may become supported in future releases. \n\n Since VCF 9.1, Storage location for a library shall be specified with a desired storage policy. A compatible storage backing will be selected based on *POST /vcenter/storage/policies/{policy}?action=check-compatibility* \n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "items": { + "$ref": "#/components/schemas/Content.Library.StorageBacking" + } + }, + "type": { + "type": "string", + "description": "The type (LibraryModel.LibraryType) of this library. \n\n This value can be used to determine what additional services and information can be available for this library. \n\n This property is not used for the `create` and `update` operations. It will always be present in the result of a `get` operation.\n\nPossible values:\n - `LOCAL`: The library contents are defined and stored by the local Content Library Service installation. \n\n A local library can be retrieved and managed via the *Content.LocalLibrary*.\n - `SUBSCRIBED`: The library synchronizes its items and content from another published library. \n\n A subscribed library can be retrieved and managed via the *Content.SubscribedLibrary*.\n\n\nFor more information see: *Content.LibraryModel.LibraryType*.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "optimization_info": { + "description": "Defines various optimizations and optimization parameters applied to this library.\n\nThis property is optional for the `create` operation. It is optional in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.OptimizationInfo" + } + ] + }, + "version": { + "type": "string", + "description": "A version number which is updated on metadata changes. This value allows clients to detect concurrent updates and prevent accidental clobbering of data. \n\n This value represents a number which is incremented every time library properties, such as name or description, are changed. It is not incremented by changes to a library item within the library, including adding or removing items. It is also not affected by tagging the library.\n\nThis property is not used for the `create` operation. It will always be present in the result of a `get` or `list` operation. It is optional for the `update` operation. Leaving it missing or `null` during update indicates that you do not need to detect concurrent updates." + }, + "publish_info": { + "description": "Defines how this library is published so that it can be subscribed to by a remote subscribed library. \n\n The *Content.Library.PublishInfo* defines where and how the metadata for this local library is accessible. A local library is only published publically if *Content.Library.PublishInfo.published* is `true`.\n\nThis property is optional for the `create` and `update` operations. If not specified during creation, the default is for the library to not be published. If not specified during update, the property is left unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.PublishInfo" + } + ] + }, + "subscription_info": { + "description": "Defines the subscription behavior for this Library. \n\n The *Content.Library.SubscriptionInfo* defines how this subscribed library synchronizes to a remote source. Setting the value will determine the remote source to which the library synchronizes, and how. Changing the subscription will result in synchronizing to a new source. If the new source differs from the old one, the old library items and data will be lost. Setting *Content.Library.SubscriptionInfo.automatic_sync_enabled* to false will halt subscription but will not remove existing cached data.\n\nThis property is optional for the `create` and `update` operations. If not specified during creation, a default will be created without an active subscription. If not specified during update, the property is left unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.SubscriptionInfo" + } + ] + }, + "server_guid": { + "type": "string", + "description": "The unique identifier of the vCenter server where the library exists.\n\nThis property is optional for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.VCenter`." + }, + "security_policy_id": { + "type": "string", + "description": "Represents the security policy applied to this library. \n\n Setting the property will make the library secure. This field is ignored in `update` operation if *Content.LibraryModel.unset_security_policy_id* is set to `true`.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional for the `create` and `update` operations. If not set in `create` operation, the library will be insecure. If not specified in `update` operation, the property is left unchanged.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "unset_security_policy_id": { + "type": "boolean", + "description": "This represents the intent of the change to *Content.LibraryModel.security_policy_id* in `update` operation. \n\n If this field is set to `true`, any security policy applied to the library will be removed. If this field is set to `false`, any security policy applied to library will be changed to the value specified in *Content.LibraryModel.security_policy_id*, if any.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional for the `update` operation. If missing or `null`, any existing security policy will be changed to the value specified in *Content.LibraryModel.security_policy_id*, if any." + }, + "state_info": { + "description": "The *Content.Library.StateInfo* provides the state information of this library. \n\n This property is not used for the `create` and `update` operations. It will always be present in the result of a `get` operation. It can be changed by *POST /content/library/{libraryId}?action=migrate*, enterMaintenance and exitMaintenance APIs of *Content.Library*. The default *Content.Library.StateInfo.state* is *Content.Library.StateInfo.State.ACTIVE* upon library creation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.StateInfo" + } + ] + }, + "configuration_info": { + "description": "The *Content.Library.ConfigurationInfo* represents the configuration at individual Content Library level and applies to all types of libraries.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.ConfigurationInfo" + } + ] + } + }, + "description": "The *Content.LibraryModel* schema represents a Content Library resource model. \n\n A Content.LibraryModel is a container for a set of items which represent a usable set of files. The Content Library Service allows for multiple libraries to be created with separate authorization and sharing policies. \n\n Each Content.LibraryModel is a container for a set of *Content.Library.ItemModel* instances. Each item is a logical object in a library, which may have multiple files. \n\n A Content.LibraryModel may be local or subscribed. A local library has its source of truth about items within this Content Library Service. Items may be added to or removed from the library. A local library may also be private or published. When published, the library is exposed by a network endpoint and can be used by another Content Library Service for synchronization. A private local library cannot be used for synchronization. \n\n A subscribed library is a library which gets its source of truth from another library that may be across a network in another Content Library Service. A subscribed library may have a different name and metadata from the library to which it subscribes, but the set of library items is always the same as those in the source library. Library items cannot be manually added to a subscribed library -- they can only be added by adding new items to the source library." + }, + "Content.LibraryModel.LibraryType": { + "type": "string", + "description": "The Content.LibraryModel.LibraryType enumerated type defines the type of a *Content.LibraryModel*. \n\n The type of a library can be used to determine which additional services can be performed with a library.\n\nPossible values:\n - `LOCAL`: The library contents are defined and stored by the local Content Library Service installation. \n\n A local library can be retrieved and managed via the *Content.LocalLibrary*.\n - `SUBSCRIBED`: The library synchronizes its items and content from another published library. \n\n A subscribed library can be retrieved and managed via the *Content.SubscribedLibrary*.\n", + "enum": [ + "LOCAL", + "SUBSCRIBED" + ] + }, + "Content.Library.FindSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the library to search. The name is case-insensitive. See *Content.LibraryModel.name*.\n\nIf not specified any name will be searched." + }, + "type": { + "type": "string", + "description": "Library type to search. See *Content.LibraryModel.type*.\n\nPossible values:\n - `LOCAL`: The library contents are defined and stored by the local Content Library Service installation. \n\n A local library can be retrieved and managed via the *Content.LocalLibrary*.\n - `SUBSCRIBED`: The library synchronizes its items and content from another published library. \n\n A subscribed library can be retrieved and managed via the *Content.SubscribedLibrary*.\n\n\nFor more information see: *Content.LibraryModel.LibraryType*.\n\nIf not specified any library type will be searched." + }, + "storage_backing": { + "description": "Library StorageBacking to search. See *Content.Library.StorageBacking*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf not specified any storage backing will be searched.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.StorageBacking" + } + ] + } + }, + "description": "Specifies the properties that can be used as a filter to find libraries. When multiple properties are specified, all properties of the library must match the specification." + }, + "Content.Library.MigrateSpec": { + "required": [ + "storage_backings" + ], + "type": "object", + "properties": { + "storage_backings": { + "type": "array", + "description": "This value can be used to set the *Content.LibraryModel.storage_backings* property as the storage backing target to migrate the library to. \n\n Multiple default storage locations are not currently supported but may become supported in future releases. \n\n VCF 9.1 Migration of library with {StorageBacking.Type#STORAGEPOLICY} as storage backing type to a different storage policy or {StorageBacking.Type#DATASTORE} is not supported. \n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Content.Library.StorageBacking" + } + } + }, + "description": "The Content.Library.MigrateSpec schema defines target storage backing library to migrate the library content to. \n\n This is used for local, published and subscribed content libraries.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Content.Library.ConversionSpec": { + "required": [ + "conversion_type" + ], + "type": "object", + "properties": { + "conversion_type": { + "type": "string", + "description": "The desired conversion type that will be applied to the library.\n\nPossible values:\n - `TO_PUBLISHED_LIBRARY`: Indicates that the *Content.SubscribedLibrary* should be converted to *Content.LocalLibrary*) with PublishInfo#published set to `true`\n\n\nFor more information see: *Content.Library.ConversionSpec.ConversionType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Content.Library.ConversionSpec schema defines the specification for converting a library from one type to another.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Content.Library.ConversionSpec.ConversionType": { + "type": "string", + "description": "The Content.Library.ConversionSpec.ConversionType enumerated type defines the conversion type that can be applied to a library during conversion operation.\n\nPossible values:\n - `TO_PUBLISHED_LIBRARY`: Indicates that the *Content.SubscribedLibrary* should be converted to *Content.LocalLibrary*) with PublishInfo#published set to `true`\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "TO_PUBLISHED_LIBRARY" + ] + }, + "Content.LocalLibrary.DestinationSpec": { + "required": [ + "subscription" + ], + "type": "object", + "properties": { + "subscription": { + "type": "string", + "description": "Identifier of the subscription associated with the subscribed library.\n\nThis property was added in __vSphere API 6.7.2__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Subscriptions`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Subscriptions`." + } + }, + "description": "The Content.LocalLibrary.DestinationSpec schema contains information required to publish the library to a specific subscription.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.SecurityPolicies.Info": { + "required": [ + "item_type_rules", + "name", + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the security policy\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.SecurityPolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.SecurityPolicy`." + }, + "name": { + "type": "string", + "description": "Name of the security policy\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "item_type_rules": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of content library item type and rule types The rules can be associated with a security policy. When the security policy is applied to a content library, these rules will be used to validate specific item type.\n\nPossible values:\n - `OVF_STRICT_VERIFICATION`: This rule indicates that an OVF/OVA item can only be imported or synced to a content library if its certificate is valid and signed by a trusted CA.\n\n\nFor more information see: *Content.SecurityRuleType*.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "Representation of a security policy\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Content.SubscribedLibrary.ProbeResult": { + "required": [ + "error_messages", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of probe result. This will be one of Status.\n\nPossible values:\n - `SUCCESS`: Indicates that the probe was successful.\n - `INVALID_URL`: Indicates that the supplied URL was not valid.\n - `TIMED_OUT`: Indicates that the probe timed out while attempting to connect to the URL.\n - `HOST_NOT_FOUND`: Indicates that the host in the URL could not be found.\n - `RESOURCE_NOT_FOUND`: Indicates that the given resource at the URL was not found.\n - `INVALID_CREDENTIALS`: Indicates that the connection was rejected due to invalid credentials.\n - `CERTIFICATE_ERROR`: Indicates that the provided server certificate in *Content.Library.SubscriptionInfo.ssl_thumbprint* is invalid. In this case, the returned #sslThumbprint should be set in *Content.Library.SubscriptionInfo.ssl_thumbprint*.\n - `UNKNOWN_ERROR`: Indicates an unspecified error different from the other error cases defined in *Content.SubscribedLibrary.ProbeResult.Status*.\n\n\nFor more information see: *Content.SubscribedLibrary.ProbeResult.Status*." + }, + "ssl_thumbprint": { + "type": "string", + "description": "The SSL thumbprint for the remote endpoint.\n\nA SSL thumbprint is only returned if the host is secured with SSL/TLS." + }, + "ssl_certificate": { + "type": "string", + "description": "The SSL certificate for the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nA SSL certificate is only returned if the host is secured with SSL/TLS and if the {SubscribedLibrary#sslCertificate} is also set." + }, + "error_messages": { + "type": "array", + "description": "If the probe result is in an error status, this property will contain the detailed error messages.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Content.SubscribedLibrary.ProbeResult schema defines the subscription information probe result. This describes whether using a given subscription URL is successful or if there are access problems, such as SSL errors." + }, + "Content.SubscribedLibrary.ProbeResult.Status": { + "type": "string", + "description": "The Content.SubscribedLibrary.ProbeResult.Status enumerated type defines the error status constants for the probe result.\n\nPossible values:\n - `SUCCESS`: Indicates that the probe was successful.\n - `INVALID_URL`: Indicates that the supplied URL was not valid.\n - `TIMED_OUT`: Indicates that the probe timed out while attempting to connect to the URL.\n - `HOST_NOT_FOUND`: Indicates that the host in the URL could not be found.\n - `RESOURCE_NOT_FOUND`: Indicates that the given resource at the URL was not found.\n - `INVALID_CREDENTIALS`: Indicates that the connection was rejected due to invalid credentials.\n - `CERTIFICATE_ERROR`: Indicates that the provided server certificate in *Content.Library.SubscriptionInfo.ssl_thumbprint* is invalid. In this case, the returned #sslThumbprint should be set in *Content.Library.SubscriptionInfo.ssl_thumbprint*.\n - `UNKNOWN_ERROR`: Indicates an unspecified error different from the other error cases defined in *Content.SubscribedLibrary.ProbeResult.Status*.\n", + "enum": [ + "SUCCESS", + "INVALID_URL", + "TIMED_OUT", + "HOST_NOT_FOUND", + "RESOURCE_NOT_FOUND", + "INVALID_CREDENTIALS", + "CERTIFICATE_ERROR", + "UNKNOWN_ERROR" + ] + }, + "Content.TrustedCertificates.Info": { + "required": [ + "cert_text" + ], + "type": "object", + "properties": { + "cert_text": { + "type": "string", + "description": "A certificate in Base64 encoding\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Content.TrustedCertificates.Info schema contains a trusted certificate.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Content.TrustedCertificates.Summary": { + "required": [ + "cert_text", + "certificate" + ], + "type": "object", + "properties": { + "certificate": { + "type": "string", + "description": "Unique identifier for the certificate. It is the TrustStore alias of the certificate. The alias is the SHA256 hash of the raw certificate data.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.TrustedCertificate`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.TrustedCertificate`." + }, + "cert_text": { + "type": "string", + "description": "Certificate in Base64 encoded PEM format..\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Content.TrustedCertificates.Summary schema contains a trusted certificate summary.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Content.TrustedCertificates.ListResult": { + "required": [ + "certificates" + ], + "type": "object", + "properties": { + "certificates": { + "type": "array", + "description": "List of certificates.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Content.TrustedCertificates.Summary" + } + } + }, + "description": "The Content.TrustedCertificates.ListResult schema contains list of Summary of the trusted certificates, see *GET /content/trusted-certificates*.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Content.TrustedCertificates.CreateSpec": { + "required": [ + "cert_text" + ], + "type": "object", + "properties": { + "cert_text": { + "type": "string", + "description": "A certText is the certificate in Base64 encoded PEM format. The input must be a single line string with escape sequence for new-lines.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Content.TrustedCertificates.CreateSpec schema is the specification used to create a trusted certificate, see *POST /content/trusted-certificates*.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Content.Type.Info": { + "required": [ + "description", + "name", + "type", + "vendor", + "version" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the type support offered by the plugin." + }, + "name": { + "type": "string", + "description": "The name of the plugin which provides the type support." + }, + "type": { + "type": "string", + "description": "The type which the plugin supports. \n\n To upload a library item of the type supported by the plugin, the *Content.Library.ItemModel.type* property of the item should be set to this value." + }, + "vendor": { + "type": "string", + "description": "The name of the vendor who created the type support plugin." + }, + "version": { + "type": "string", + "description": "The version number of the type support plugin." + }, + "supported_rules": { + "type": "array", + "description": "List of security rules which can be applied to this item type.\n\nPossible values:\n - `OVF_STRICT_VERIFICATION`: This rule indicates that an OVF/OVA item can only be imported or synced to a content library if its certificate is valid and signed by a trusted CA.\n\n\nFor more information see: *Content.SecurityRuleType*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null` no security rule can be associated with this item type.", + "items": { + "type": "string" + } + } + }, + "description": "The Content.Type.Info schema describes support for a specific type of data in an *Content.Library.ItemModel*. The Content.Type.Info can be queried through the *Content.Type* resource. Type support describes plugins in the Content Library which can provide metadata on library items and help manage the transfer process by adding dependent files when a current file is added." + }, + "Content.Library.ConfigurationInfo": { + "type": "object", + "properties": { + "apply_library_usage_to_items": { + "type": "boolean", + "description": "This configuration indicates whether usage tracking at the library level declared via com.vmware.content.library.Usage#add API should also apply to individual items within the library. \n\n If set to `true`, library usage will also be propagated to its items and if the library is currently being used by other resources, deletion of any item in the library will also be blocked unless the library is forcefully deleted. \n\n If set to `false` (default), library item deletions are allowed even if the library is currently being used by other resources. In this case, only the deletion of the library itself is blocked when library usage exists. \n\n This configuration in effect guards the local/published library item deletion as the subscribed library item cannot be deleted directly. \n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + } + }, + "description": "The Content.Library.ConfigurationInfo represents the configuration at individual Content Library level and applies to all types of libraries.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Content.Library.ItemModel": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for this library item.\n\nThis property is not used for the `create` operation. It will not be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "library_id": { + "type": "string", + "description": "The identifier of the *Content.LibraryModel* to which this item belongs.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "content_version": { + "type": "string", + "description": "The latest version of the file content list of this library item.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.item.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.item.Version`." + }, + "creation_time": { + "type": "string", + "description": "The date and time when this library item was created.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "A human-readable description for this library item.\n\nThis property is optional for the `create` operation. Leaving it missing or `null` during creation will result in an empty string value. It will always be present in the result of a `get` or `list` operation. It is optional for the `update` operation. Leaving it missing or `null` during update indicates that the description remains unchanged." + }, + "last_modified_time": { + "type": "string", + "description": "The date and time when the metadata for this library item was last changed. \n\n This property is affected by changes to the properties or file content of this item. It is not modified by changes to the tags of the item, or by changes to the library which owns this item.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "date-time" + }, + "last_sync_time": { + "type": "string", + "description": "The date and time when this library item was last synchronized. \n\n This property is updated every time a synchronization is triggered on the library item, including when a synchronization is triggered on the library to which this item belongs. The value is missing or `null` for a library item that belongs to a local library.\n\nThis property is not used for the `create` operation. It is optional in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "date-time" + }, + "metadata_version": { + "type": "string", + "description": "A version number for the metadata of this library item. \n\n This value is incremented with each change to the metadata of this item. Changes to name, description, and so on will increment this value. The value is not incremented by changes to the content or tags of the item or the library which owns it.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "name": { + "type": "string", + "description": "A human-readable name for this library item. \n\n The name may not be missing or `null` or an empty string. The name does not have to be unique, even within the same library.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + }, + "cached": { + "type": "boolean", + "description": "The status that indicates whether the library item is on disk or not. The library item is cached when all its files are on disk.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "size": { + "type": "integer", + "description": "The library item size, in bytes. The size is the sum of the size used on the storage backing for all the files in the item. When the library item is not cached, the size is 0.\n\nThis property is not used for the `create` operation. It is optional in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "int64" + }, + "type": { + "type": "string", + "description": "An optional type identifier which indicates the type adapter plugin to use. \n\n This property may be set to a non-empty string value that corresponds to an identifier supported by a type adapter plugin present in the Content Library Service. A type adapter plugin, if present for the specified type, can provide additional information and services around the item content. A type adapter can guide the upload process by creating file entries that are in need of being uploaded to complete an item. \n\n The types and plugins supported by the Content Library Service can be queried using the *Content.Type* resource.\n\nThis property is optional for the `create` and `update` operations. During creation, if the type is left unspecified, or if the type is specified but does not have a corresponding type support plugin, then the type of the library item is considered to be generic and all data is treated as generic files. During update, if the type is not specified, then it is not updated." + }, + "version": { + "type": "string", + "description": "A version number that is updated on metadata changes. This value is used to validate update requests to provide optimistic concurrency of changes. \n\n This value represents a number that is incremented every time library item properties, such as name or description, are changed. It is not incremented by changes to the file content of the library item, including adding or removing files. It is also not affected by tagging the library item.\n\nThis property is not used for the `create` operation. It will always be present in the result of a `get` or `list` operation. It is optional for the `update` operation. Leaving it missing or `null` during update indicates that you do not need to detect concurrent updates." + }, + "source_id": { + "type": "string", + "description": "The identifier of the *Content.Library.ItemModel* to which this item is synchronized to if the item belongs to a subscribed library. The value is missing or `null` for a library item that belongs to a local library. \n\n VSphere 9.1: Represents the source identifier of a library item. \n\n Since vSphere 9.1, value of this field will be set, if specified at creation, for a library item that belongs to a local or published library. \n\n When copying an item within or from a local or published library, this field is set to the *Content.Library.ItemModel.source_id* of the source item if it is not blank. Otherwise, it is set to the identifier of the *Content.Library.ItemModel* from which the item was copied. \n\n For a subscribed library item, this field can be either the identifier of the published library item, or the *Content.Library.ItemModel.source_id* of the published library item if it is not blank. \n\nThis property is optional for the `create` operation. It is optional in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "security_compliance": { + "type": "boolean", + "description": "Shows the security compliance of *Content.Library.ItemModel*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is not used for the `create` and `update` operations. It will be present in the result of a `get` or `list` operation." + }, + "certificate_verification_info": { + "description": "Certificate verification status and *Content.Library.ItemModel*'s signing certificate . Currently, this field is available only in following cases 1. This item belongs to a secure content library 2. The item is of type ovf.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is not used for the `create` and `update` operations. It may be present in the result of a `get` or `list` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.CertificateVerificationInfo" + } + ] + } + }, + "description": "The Content.Library.ItemModel schema represents a library item that has been stored in a library. \n\n A Content.Library.ItemModel represents a single logical unit to be managed within a *Content.LibraryModel*. Items contain the actual content of a library, and their placement within a library determines policies that affect that content such as publishing. \n\n A library item can have a specified type, indicated with the *Content.Library.ItemModel.type* property. This property is associated with a Content Library Service plugin that supports specific types and provides additional services. The types available in a specific Content Library Service can be queried using the *Content.Type* resource. Items of an unknown or unspecified type are treated generically. Because subscribed library catalogs are synchronized as is, subscribing to a remote Content Library Service effectively gives you a library with the functionality of the remote service's type adapter plugins, even if they are not installed locally. \n\n Items can be managed using the *Content.Library.Item* resource and, for items in subscribed libraries, the *Content.Library.SubscribedItem* resource." + }, + "Content.Library.OptimizationInfo": { + "type": "object", + "properties": { + "optimize_remote_publishing": { + "type": "boolean", + "description": "If set to `true` then library would be optimized for remote publishing. \n\n Turn it on if remote publishing is dominant use case for this library. Remote publishing means here that publisher and subscribers are not the part of the same Vcenter SSO domain. \n\n Any optimizations could be done as result of turning on this optimization during library creation. For example, library content could be stored in different format but optimizations are not limited to just storage format. \n\n Note, that value of this toggle could be set only during creation of the library and you would need to migrate your library in case you need to change this value (optimize the library for different use case).\n\nThis property is optional for the `create` operation. If not specified for the `create`, the default is for the library to not be optmized for specific use case. It is not used for the `update` operation." + } + }, + "description": "The Content.Library.OptimizationInfo schema defines different optimizations and optimization parameters applied to particular library." + }, + "Content.Library.PublishInfo": { + "type": "object", + "properties": { + "authentication_method": { + "type": "string", + "description": "Indicates how a subscribed library should authenticate (AuthenticationMethod) to the published library endpoint.\n\nPossible values:\n - `BASIC`: Require HTTP Basic authentication matching a specified username and password.\n - `NONE`: Require no authentication.\n\n\nFor more information see: *Content.Library.PublishInfo.AuthenticationMethod*.\n\nThis property is required for the *POST /content/local-library* operation. It is optional for the *PATCH /content/local-library/{libraryId}* operation, and if missing or `null` the value will not be changed. When the existing authentication method is *Content.Library.PublishInfo.AuthenticationMethod.BASIC* and authentication is being turned off by updating this property to *Content.Library.PublishInfo.AuthenticationMethod.NONE*, then the *Content.Library.PublishInfo.current_password* property is required. This property will always be present in the results of the *GET /content/local-library/{libraryId}* operation." + }, + "published": { + "type": "boolean", + "description": "Whether the local library is published.\n\nThis property is required for the *POST /content/local-library* operation. It is optional for the *PATCH /content/local-library/{libraryId}* operation, and if missing or `null` the value will not be changed. When the existing authentication method is *Content.Library.PublishInfo.AuthenticationMethod.BASIC* and the local library is published, the *Content.Library.PublishInfo.current_password* property is required before turning off publishing. This property will always be present in the results of the *GET /content/local-library/{libraryId}* operation." + }, + "publish_url": { + "type": "string", + "description": "The URL to which the library metadata is published by the Content Library Service. \n\n This value can be used to set the *Content.Library.SubscriptionInfo.subscription_url* property when creating a subscribed library.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "uri" + }, + "user_name": { + "type": "string", + "description": "The username to require for authentication.\n\nThis property is optional for the *POST /content/local-library* and *PATCH /content/local-library/{libraryId}* operations. When the authentication method is *Content.Library.PublishInfo.AuthenticationMethod.NONE*, the username can be left missing or `null`. When the authentication method is *Content.Library.PublishInfo.AuthenticationMethod.BASIC*, the username is ignored in the current release. It defaults to \"vcsp\". It is preferable to leave this missing or `null`. If specified, it must be set to \"vcsp\"." + }, + "password": { + "type": "string", + "description": "The new password to require for authentication.\n\nThis property is optional for the *POST /content/local-library* operation. When the authentication method is *Content.Library.PublishInfo.AuthenticationMethod.NONE*, the password can be left missing or `null`. When the authentication method is *Content.Library.PublishInfo.AuthenticationMethod.BASIC*, the password should be a non-empty string. This property is optional for the *PATCH /content/local-library/{libraryId}* operation. Leaving it missing or `null` during update indicates that the password is not changed. When the password is changed, the *Content.Library.PublishInfo.current_password* property is required. This property is not used for the *GET /content/local-library/{libraryId}* operation.", + "format": "password" + }, + "current_password": { + "type": "string", + "description": "The current password to verify. This property is available starting in vSphere 6.7.\n\nThis property is unused for the *POST /content/local-library* operation. This property is optional for the *PATCH /content/local-library/{libraryId}* operation. When the existing authentication method is *Content.Library.PublishInfo.AuthenticationMethod.NONE*, the current password can be left missing or `null`. When the existing authentication method is *Content.Library.PublishInfo.AuthenticationMethod.BASIC*, the current password is verified before applying the new *Content.Library.PublishInfo.password*, turning off authentication, or unpublishing the library. This property is not used for the *GET /content/local-library/{libraryId}* operation.", + "format": "password" + }, + "persist_json_enabled": { + "type": "boolean", + "description": "Whether library and library item metadata are persisted in the storage backing as JSON files. This flag only applies if the local library is published. \n\n Enabling JSON persistence allows you to synchronize a subscribed library manually instead of over HTTP. You copy the local library content and metadata to another storage backing manually and then create a subscribed library referencing the location of the library JSON file in the *Content.Library.SubscriptionInfo.subscription_url*. When the subscribed library's storage backing matches the subscription URL, files do not need to be copied to the subscribed library. \n\n For a library backed by a datastore, the library JSON file will be stored at the path contentlib-{library_id}/lib.json on the datastore. \n\n For a library backed by a remote file system, the library JSON file will be stored at {library_id}/lib.json in the remote file system path.\n\nThis property is optional for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + } + }, + "description": "The Content.Library.PublishInfo schema defines how a local library is published publicly for synchronization to other libraries." + }, + "Content.Library.PublishInfo.AuthenticationMethod": { + "type": "string", + "description": "The Content.Library.PublishInfo.AuthenticationMethod enumerated type indicates how a subscribed library should authenticate to the published library endpoint.\n\nPossible values:\n - `BASIC`: Require HTTP Basic authentication matching a specified username and password.\n - `NONE`: Require no authentication.\n", + "enum": [ + "BASIC", + "NONE" + ] + }, + "Content.Library.SourceInfo": { + "type": "object", + "properties": { + "source_library": { + "type": "string", + "description": "Identifier of the published library.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "subscription": { + "type": "string", + "description": "Identifier of the subscription associated with the subscribed library.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Subscriptions`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Subscriptions`." + } + }, + "description": "The Content.Library.SourceInfo schema contains information about the source published library of a subscribed library.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.StateInfo": { + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "The state (StateInfo.State) of this library. \n\n This property is not used for the `create` and `update` operations. It will always be present in the result of a `get` operation.\n\nPossible values:\n - `ACTIVE`: This is default library state when library is created. The library is fully functional when in this state.\n - `MAINTENANCE`: This state indicates that the library is in maintenance. Any operations that alter the Library content or its use are restricted.\n\n\nFor more information see: *Content.Library.StateInfo.State*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "message": { + "type": "string", + "description": "The property specifies the reason for the library's change from one state to another or some information about the current state.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf unset, the information on the state change is not recorded." + } + }, + "description": "The *Content.Library.StateInfo* schema provides the information about the state of a content library.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Content.Library.StateInfo.State": { + "type": "string", + "description": "The Content.Library.StateInfo.State enumerated type defines the state of a LibraryModel. \n\n The state of a library can be used to determine if the library is in maintenance or not. A *Content.Library* can be moved to *Content.Library.StateInfo.State.MAINTENANCE* in the following cases. \n - *POST /content/library/{libraryId}?action=migrate* \n - enterMaintenance in *Content.Library* \n \n\nPossible values:\n - `ACTIVE`: This is default library state when library is created. The library is fully functional when in this state.\n - `MAINTENANCE`: This state indicates that the library is in maintenance. Any operations that alter the Library content or its use are restricted.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "ACTIVE", + "MAINTENANCE" + ] + }, + "Content.Library.StorageBacking": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type (Type) of *Content.Library.StorageBacking*.\n\nPossible values:\n - `DATASTORE`: The content of the library will be stored on a datastore. \n\n These are vCenter Server managed datastores, and are logical containers that hide specifics of each storage device. Depending on the type of storage you use, datastores can be backed by the following file system formats: \n - Virtual Machine File System (VMFS) \n - Network File System (NFS) \n \n\n\n - `OTHER`: The content of the library will be stored on a remote file system. \n\n Supports the following remote file systems: \n - NFS (on vCenter Server Appliance) \n - SMB (on vCenter Server Appliance and vCenter Server for Windows) \n \n\n\n\n\nFor more information see: *Content.Library.StorageBacking.Type*.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "datastore_id": { + "type": "string", + "description": "Identifier of the datastore used to store the content in the library.\n\nThis property is optional and it is only relevant when the value of type is *Content.Library.StorageBacking.Type.DATASTORE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_uri": { + "type": "string", + "description": "URI identifying the location used to store the content in the library. \n\n The following URI formats are supported: \n\n vSphere 6.5 \n - nfs://server/path?version=4 (for vCenter Server Appliance only) - Specifies an NFS Version 4 server.\n - nfs://server/path (for vCenter Server Appliance only) - Specifies an NFS Version 3 server. The nfs://server:/path format is also supported.\n - smb://server/path - Specifies an SMB server or Windows share.\n \n\n vSphere 6.0 Update 1 \n - nfs://server:/path (for vCenter Server Appliance only)\n - file://unc-server/path (for vCenter Server for Windows only)\n - file:///mount/point (for vCenter Server Appliance only) - Local file URIs are supported only when the path is a local mount point for an NFS file system. Use of file URIs is strongly discouraged. Instead, use an NFS URI to specify the remote file system.\n \n\n vSphere 6.0 \n - nfs://server:/path (for vCenter Server Appliance only)\n - file://unc-server/path (for vCenter Server for Windows only)\n - file:///path - Local file URIs are supported but strongly discouraged because it may interfere with the performance of vCenter Server.\n \n\nThis property is optional and it is only relevant when the value of type is *Content.Library.StorageBacking.Type.OTHER*.", + "format": "uri" + } + }, + "description": "The Content.Library.StorageBacking schema defines a storage location where content in a library will be stored. The storage location can either be a Datastore or Other type. " + }, + "Content.Library.StorageBacking.Type": { + "type": "string", + "description": "The Content.Library.StorageBacking.Type enumerated type specifies the type of the *Content.Library.StorageBacking*.\n\nPossible values:\n - `DATASTORE`: The content of the library will be stored on a datastore. \n\n These are vCenter Server managed datastores, and are logical containers that hide specifics of each storage device. Depending on the type of storage you use, datastores can be backed by the following file system formats: \n - Virtual Machine File System (VMFS) \n - Network File System (NFS) \n \n\n\n - `OTHER`: The content of the library will be stored on a remote file system. \n\n Supports the following remote file systems: \n - NFS (on vCenter Server Appliance) \n - SMB (on vCenter Server Appliance and vCenter Server for Windows) \n \n\n\n", + "enum": [ + "DATASTORE", + "OTHER" + ] + }, + "Content.Library.SubscriptionInfo": { + "type": "object", + "properties": { + "authentication_method": { + "type": "string", + "description": "Indicate how the subscribed library should authenticate (AuthenticationMethod) with the published library endpoint.\n\nPossible values:\n - `BASIC`: Require HTTP Basic authentication matching a specified username and password.\n - `NONE`: Require no authentication.\n\n\nFor more information see: *Content.Library.SubscriptionInfo.AuthenticationMethod*.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + }, + "automatic_sync_enabled": { + "type": "boolean", + "description": "Whether the library should participate in automatic library synchronization. In order for automatic synchronization to happen, the global *Content.ConfigurationModel.automatic_sync_enabled* option must also be true. The subscription is still active even when automatic synchronization is turned off, but synchronization is only activated with an explicit call to *POST /content/subscribed-library/{libraryId}?action=sync* or *POST /content/library/subscribed-item/{libraryItemId}?action=sync*. In other words, manual synchronization is still available even when automatic synchronization is disabled.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + }, + "on_demand": { + "type": "boolean", + "description": "Indicates whether a library item's content will be synchronized only on demand. \n\n If this is set to `true`, then the library item's metadata will be synchronized but the item's content (its files) will not be synchronized. The Content Library Service will synchronize the content upon request only. This can cause the first use of the content to have a noticeable delay. \n\n Items without synchronized content can be forcefully synchronized in advance using the *POST /content/library/subscribed-item/{libraryItemId}?action=sync* call with forceSyncContent set to true. Once content has been synchronized, the content can removed with the *POST /content/library/subscribed-item/{libraryItemId}?action=evict* call. \n\n If this value is set to `false`, all content will be synchronized in advance.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + }, + "password": { + "type": "string", + "description": "The password to use when authenticating. \n\n The password must be set when using a password-based authentication method; empty strings are not allowed.\n\nThis property is optional for the `create` operation. It will not be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "password" + }, + "ssl_thumbprint": { + "type": "string", + "description": "An optional SHA-1 hash of the SSL certificate for the remote endpoint. \n\n If this value is defined the SSL certificate will be verified by comparing it to the SSL thumbprint. The SSL certificate must verify against the thumbprint. When specified, the standard certificate chain validation behavior is not used. The certificate chain is validated normally if this value is missing or `null`. The specified sslThumbprint will not be checked for SSL certificate validation if {SubscriptionInfo#sslCertificate} is also set.\n\nThis property is optional for the `create` operation. It will not be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + }, + "subscription_url": { + "type": "string", + "description": "The URL of the endpoint where the metadata for the remotely published library is being served. \n\n This URL can be the *Content.Library.PublishInfo.publish_url* of the published library (for example, https://server/path/lib.json). \n\n If the source content comes from a published library with *Content.Library.PublishInfo.persist_json_enabled*, the subscription URL can be a URL pointing to the library JSON file on a datastore or remote file system. The supported formats are: \n\n vSphere 6.5 \n - ds:///vmfs/volumes/{uuid}/mylibrary/lib.json (for datastore)\n - nfs://server/path/mylibrary/lib.json (for NFSv3 server on vCenter Server Appliance)\n - nfs://server/path/mylibrary/lib.json?version=4 (for NFSv4 server on vCenter Server Appliance) \n - smb://server/path/mylibrary/lib.json (for SMB server)\n \n\n vSphere 6.0 \n - file://server/mylibrary/lib.json (for UNC server on vCenter Server for Windows)\n - file:///path/mylibrary/lib.json (for local file system)\n \n\n When you specify a DS subscription URL, the datastore must be on the same vCenter Server as the subscribed library. When you specify an NFS or SMB subscription URL, the *Content.Library.StorageBacking.storage_uri* of the subscribed library must be on the same remote file server and should share a common parent path with the subscription URL.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "uri" + }, + "user_name": { + "type": "string", + "description": "The username to use when authenticating. \n\n The username must be set when using a password-based authentication method. Empty strings are allowed for usernames.\n\nThis property is optional for the `create` operation. It is optional in the response of the `get` or `list` operations. It is optional for the `update` operation." + }, + "source_info": { + "description": "Information about the source published library. This property will be set for a subscribed library which is associated with a subscription of the published library.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional for the `create` operation. It is optional in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.SourceInfo" + } + ] + }, + "ssl_certificate": { + "type": "string", + "description": "An optional SSL certificate for the remote endpoint. \n\n If this value is defined the SSL certificate will be verified by comparing it to this sslCertificate. When specified, the standard certificate chain validation behavior is not used. If this value is missing or `null` {SubscriptionInfo#sslThumbprint} will be used for SSL certificate validation. The certificate chain is validated normally if this value and {SubscriptionInfo#sslThumbprint} is missing or `null`.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional for the `create` operation. It will not be present in the response of the `get` or `list` operations. It is optional for the `update` operation." + } + }, + "description": "The Content.Library.SubscriptionInfo schema defines the subscription behavior for a subscribed library." + }, + "Content.Library.SubscriptionInfo.AuthenticationMethod": { + "type": "string", + "description": "Indicate how the subscribed library should authenticate with the published library endpoint.\n\nPossible values:\n - `BASIC`: Require HTTP Basic authentication matching a specified username and password.\n - `NONE`: Require no authentication.\n", + "enum": [ + "BASIC", + "NONE" + ] + }, + "Content.Library.Item.FindSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the library item. The name is case-insensitive. See *Content.Library.ItemModel.name*.\n\nIf not specified all library item names are searched." + }, + "library_id": { + "type": "string", + "description": "The identifier of the library containing the item. See *Content.Library.ItemModel.library_id*.\n\nIf not specified all libraries are searched.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "source_id": { + "type": "string", + "description": "The identifier of the library item as reported by the publisher. See *Content.Library.ItemModel.source_id*.\n\nIf not specified all library items are searched.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "type": { + "type": "string", + "description": "The type of the library item. The type is case-insensitive. See *Content.Library.ItemModel.type*.\n\nIf not specified all types are searched." + }, + "cached": { + "type": "boolean", + "description": "Whether the item is cached. Possible values are 'true' or 'false'. See *Content.Library.ItemModel.cached*.\n\nIf not specified all library items are searched." + } + }, + "description": "The Content.Library.Item.FindSpec schema specifies the properties that can be used as a filter to find library items. When multiple properties are specified, all properties of the item must match the specification." + }, + "Content.Library.Item.DestinationSpec": { + "required": [ + "subscription" + ], + "type": "object", + "properties": { + "subscription": { + "type": "string", + "description": "Identifier of the subscription associated with the subscribed library.\n\nThis property was added in __vSphere API 6.7.2__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Subscriptions`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Subscriptions`." + } + }, + "description": "The Content.Library.Item.DestinationSpec schema contains information required to publish the library item to a specific subscription.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.Location": { + "type": "string", + "description": "The Content.Library.Subscriptions.Location enumerated type defines the location of subscribed library relative to the published library.\n\nPossible values:\n - `LOCAL`: The subscribed library belongs to the same vCenter instance as the published library.\n - `REMOTE`: The subscribed library belongs to a different vCenter instance than the published library.\n\n\nThis enumeration was added in __vSphere API 6.7.2__.", + "enum": [ + "LOCAL", + "REMOTE" + ] + }, + "Content.Library.Subscriptions.CreateSpecNewSubscribedLibrary": { + "required": [ + "automatic_sync_enabled", + "name", + "on_demand", + "storage_backings" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the subscribed library.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "description": { + "type": "string", + "description": "Description of the subscribed library.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the description will be an empty string." + }, + "storage_backings": { + "type": "array", + "description": "The list of default storage backings for this library. \n\n The list must contain exactly one storage backing. Multiple default storage locations are not currently supported but may become supported in future releases.\n\nThis property was added in __vSphere API 6.7.2__.", + "items": { + "$ref": "#/components/schemas/Content.Library.StorageBacking" + } + }, + "automatic_sync_enabled": { + "type": "boolean", + "description": "Specifies whether the library should participate in automatic library synchronization.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "on_demand": { + "type": "boolean", + "description": "Specifies whether a library item's content will be synchronized only on demand.\n\nThis property was added in __vSphere API 6.7.2__." + } + }, + "description": "The Content.Library.Subscriptions.CreateSpecNewSubscribedLibrary schema defines the information required to create a new subscribed library.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.CreateSpecVcenter": { + "required": [ + "hostname" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The hostname of the subscribed library's vCenter Server.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "https_port": { + "type": "integer", + "description": "The HTTPS port of the vCenter Server instance where the subscribed library exists.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + } + }, + "description": "The Content.Library.Subscriptions.CreateSpecVcenter schema defines information about the vCenter Server instance where the subscribed library associated with the subscription exists or will be created.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.CreateSpecPlacement": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is currently required. In future, if this is missing or `null`, the system will attempt to choose a suitable folder for the virtual machine template; if a folder cannot be chosen, publishing a virtual machine template item will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder:VCenter`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the virtual machine template should be placed. If cluster and resource_pool are both specified, resource_pool must belong to cluster. If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource:VCenter`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine template should be placed. If host and resource_pool are both specified, resource_pool must belong to host. If cluster and resource_pool are both specified, resource_pool must belong to cluster.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is currently required. In future, if this is missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine template; if a resource pool cannot be chosen, publish of virtual machine template item will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool:VCenter`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine template should be placed. If host and resource_pool are both specified, resource_pool must belong to host. If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf this is missing or `null`, the system will attempt to choose a suitable host for the virtual machine template; if a host cannot be chosen, publishing the virtual machine template item will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem:VCenter`." + }, + "network": { + "type": "string", + "description": "Network that backs the virtual Ethernet adapters in the virtual machine template.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the virtual Ethernet adapters will not be backed by a network.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network:VCenter`." + } + }, + "description": "The Content.Library.Subscriptions.CreateSpecPlacement schema defines the placement information for the subscribed library's virtual machine template library items. Storage location of the virtual machine template items is defined by the subscribed library's storage backing. This placement information needs to be compatible with the subscribed library's storage backing. The Content.Library.Subscriptions.CreateSpecPlacement schema is only applicable for the virtual machine template library items of the subscribed library.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.CreateSpecSubscribedLibrary": { + "required": [ + "location", + "target" + ], + "type": "object", + "properties": { + "target": { + "type": "string", + "description": "Specifies whether the target subscribed library should be newly created or an existing subscribed library should be used.\n\nPossible values:\n - `CREATE_NEW`: Create a new subscribed library.\n - `USE_EXISTING`: Use the specified existing subscribed library.\n\n\nFor more information see: *Content.Library.Subscriptions.CreateSpecSubscribedLibrary.Target*.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "new_subscribed_library": { + "description": "Specification for creating a new subscribed library associated with the subscription.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional and it is only relevant when the value of target is *Content.Library.Subscriptions.CreateSpecSubscribedLibrary.Target.CREATE_NEW*.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Subscriptions.CreateSpecNewSubscribedLibrary" + } + ] + }, + "subscribed_library": { + "type": "string", + "description": "Identifier of the existing subscribed library to associate with the subscription. Only the subscribed libraries for which *Content.Library.SubscriptionInfo.subscription_url* property is set to the *Content.Library.PublishInfo.publish_url* of the published library can be associated with the subscription.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional and it is only relevant when the value of target is *Content.Library.Subscriptions.CreateSpecSubscribedLibrary.Target.USE_EXISTING*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "location": { + "type": "string", + "description": "Location of the subscribed library relative to the published library.\n\nPossible values:\n - `LOCAL`: The subscribed library belongs to the same vCenter instance as the published library.\n - `REMOTE`: The subscribed library belongs to a different vCenter instance than the published library.\n\n\nFor more information see: *Content.Library.Subscriptions.Location*.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "vcenter": { + "description": "Specification for the subscribed library's vCenter Server instance.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional and it is only relevant when the value of location is *Content.Library.Subscriptions.Location.REMOTE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Subscriptions.CreateSpecVcenter" + } + ] + }, + "placement": { + "description": "Placement specification for the virtual machine template library items on the subscribed library.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is currently required. In future, if this is missing or `null`, the system will attempt to choose a suitable placement specification for the virtual machine template items; if a placement specification cannot be chosen, publish of virtual machine template items will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Subscriptions.CreateSpecPlacement" + } + ] + } + }, + "description": "The Content.Library.Subscriptions.CreateSpecSubscribedLibrary schema defines the subscribed library information used to create the subscription.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.CreateSpecSubscribedLibrary.Target": { + "type": "string", + "description": "The Content.Library.Subscriptions.CreateSpecSubscribedLibrary.Target enumerated type defines the options related to the target subscribed library which will be associated with the subscription.\n\nPossible values:\n - `CREATE_NEW`: Create a new subscribed library.\n - `USE_EXISTING`: Use the specified existing subscribed library.\n\n\nThis enumeration was added in __vSphere API 6.7.2__.", + "enum": [ + "CREATE_NEW", + "USE_EXISTING" + ] + }, + "Content.Library.Subscriptions.CreateSpec": { + "required": [ + "subscribed_library" + ], + "type": "object", + "properties": { + "subscribed_library": { + "description": "Specification for the subscribed library to be associated with the subscription.\n\nThis property was added in __vSphere API 6.7.2__.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Subscriptions.CreateSpecSubscribedLibrary" + } + ] + } + }, + "description": "The Content.Library.Subscriptions.CreateSpec schema defines the information required to create a new subscription of the published library.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.Summary": { + "required": [ + "subscribed_library", + "subscribed_library_name", + "subscription" + ], + "type": "object", + "properties": { + "subscription": { + "type": "string", + "description": "Identifier of the subscription.\n\nThis property was added in __vSphere API 6.7.2__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Subscriptions`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Subscriptions`." + }, + "subscribed_library": { + "type": "string", + "description": "Identifier of the subscribed library.\n\nThis property was added in __vSphere API 6.7.2__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "subscribed_library_name": { + "type": "string", + "description": "Name of the subscribed library.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "subscribed_library_vcenter_hostname": { + "type": "string", + "description": "Hostname of the vCenter instance where the subscribed library exists.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is unset if the subscribed library is on the same vCenter Server instance as the published library." + } + }, + "description": "The Content.Library.Subscriptions.Summary schema contains commonly used information about the subscription.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.UpdateSpecVcenter": { + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The hostname of the subscribed library's vCenter Server.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the value is unchanged." + }, + "https_port": { + "type": "integer", + "description": "The HTTPS port of the vCenter Server instance where the subscribed library exists.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + } + }, + "description": "The Content.Library.Subscriptions.UpdateSpecVcenter schema defines information about the vCenter Server instance where the subscribed library associated with the subscription exists. The Content.Library.Subscriptions.UpdateSpecVcenter schema is only applicable to subscribed library which exists on remote vCenter Server instance.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.UpdateSpecPlacement": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is currently required. In future, if this is missing or `null`, the system will attempt to choose a suitable folder for the virtual machine template; if a folder cannot be chosen, publishing a virtual machine template item will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder:VCenter`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the virtual machine template should be placed. If cluster and resource_pool are both specified, resource_pool must belong to cluster. If cluster and host are both specified, host must be a member of cluster. If resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource:VCenter`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is currently required. In future, if this is missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine template; if a resource pool cannot be chosen, publish of virtual machine template item will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool:VCenter`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine template should be placed. If host and resource_pool are both specified, resource_pool must belong to host. If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf this is missing or `null`, the system will attempt to choose a suitable host for the virtual machine template; if a host cannot be chosen, publishing the virtual machine template item will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem:VCenter`." + }, + "network": { + "type": "string", + "description": "Network that backs the virtual Ethernet adapters in the virtual machine template.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, newly published virtual machine template library items will not be backed by a network.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network:VCenter`." + } + }, + "description": "The Content.Library.Subscriptions.UpdateSpecPlacement schema defines the placement information for the subscribed library's virtual machine template library items. Storage location of the virtual machine template items is defined by the subscribed library's storage backing. This placement information needs to be compatible with the subscribed library's storage backing. The Content.Library.Subscriptions.UpdateSpecPlacement schema is only applicable for the newly published virtual machine template library items of the subscribed library. Existing items will not be moved.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.UpdateSpec": { + "type": "object", + "properties": { + "subscribed_library_vcenter": { + "description": "Specification for the subscribed library's vCenter Server instance.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Subscriptions.UpdateSpecVcenter" + } + ] + }, + "subscribed_library_placement": { + "description": "Placement specification for the virtual machine template items of the subscribed library. Updating this information will only affect new or updated items, existing items will not be moved. The entire placement configuration of the subscribed library will replaced by the new specification.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the placement configuration of the subscribed library will be unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Subscriptions.UpdateSpecPlacement" + } + ] + } + }, + "description": "The Content.Library.Subscriptions.UpdateSpec schema defines information required to update the subscription.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.VcenterInfo": { + "required": [ + "hostname", + "server_guid" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "Hostname of the vCenter Server instance where the subscribed library exists.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "https_port": { + "type": "integer", + "description": "The HTTPS port of the vCenter Server instance where the subscribed library exists.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "server_guid": { + "type": "string", + "description": "The unique identifier of the vCenter Server where the subscribed library exists.\n\nThis property was added in __vSphere API 6.7.2__." + } + }, + "description": "The Content.Library.Subscriptions.VcenterInfo schema contains information about the vCenter Server instance where the subscribed library associated with the subscription exists.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.PlacementInfo": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThe property will be missing or `null` if the subscribed library associated with the subscription does not have a virtual machine folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder:VCenter`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThe property will be missing or `null` if the subscribed library associated with the subscription does not have a cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource:VCenter`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThe property will be missing or `null` if the subscribed library associated with the subscription does not have a resource pool.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool:VCenter`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine template should be placed. If host and resource_pool are both specified, resource_pool must belong to host. If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThe property will be missing or `null` if the subscribed library associated with the subscription does not have a host.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem:VCenter`." + }, + "network": { + "type": "string", + "description": "Network that backs the virtual Ethernet adapters in the virtual machine template.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThe property will be missing or `null` if the subscribed library associated with the subscription does not have a network.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network:VCenter`." + } + }, + "description": "The Content.Library.Subscriptions.PlacementInfo schema contains the placement information for the subscribed library's virtual machine template library items. The Content.Library.Subscriptions.PlacementInfo schema is only applicable for the virtual machine template library items of the subscribed library.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Subscriptions.Info": { + "required": [ + "subscribed_library", + "subscribed_library_location", + "subscribed_library_name", + "subscribed_library_placement" + ], + "type": "object", + "properties": { + "subscribed_library": { + "type": "string", + "description": "Identifier of the subscribed library associated with the subscription.\n\nThis property was added in __vSphere API 6.7.2__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "subscribed_library_name": { + "type": "string", + "description": "Name of the subscribed library associated with the subscription.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "subscribed_library_location": { + "type": "string", + "description": "Location of the subscribed library relative to the published library.\n\nPossible values:\n - `LOCAL`: The subscribed library belongs to the same vCenter instance as the published library.\n - `REMOTE`: The subscribed library belongs to a different vCenter instance than the published library.\n\n\nFor more information see: *Content.Library.Subscriptions.Location*.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "subscribed_library_vcenter": { + "description": "Information about the vCenter Server instance where the subscribed library exists.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional and it is only relevant when the value of subscribed_library_location is *Content.Library.Subscriptions.Location.REMOTE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Subscriptions.VcenterInfo" + } + ] + }, + "subscribed_library_placement": { + "description": "Placement information about the subscribed library's virtual machine template items.\n\nThis property was added in __vSphere API 6.7.2__.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Subscriptions.PlacementInfo" + } + ] + } + }, + "description": "The Content.Library.Subscriptions.Info schema contains information about the subscription.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Content.Library.Usages.AddSpec": { + "required": [ + "resource_urn" + ], + "type": "object", + "properties": { + "resource_urn": { + "type": "string", + "description": "A Uniform Resource Name (URN) of the resource that is using the content library. \n\n The URN is a fully qualified, unique string that identifies a specific instance of a resource such as a virtual machine, supervisor, namespace, cluster, etc. This identifier enables the Content Library service to track which resources are using a given content library. \n\n The expected URN format is: `:::`, where: \n - `urn-scheme` specifies the identifier scheme (e.g., `urn`)\n - `global-namespace` represents the owning domain (e.g., `vmomi`)\n - `resource-type` indicates the type of the resource (e.g., `vm`, `supervisor`)\n - `resource-id` is the unique identifier for the resource (e.g., `vm-12`)\n \n\n \n\n Example URNs: \n - `urn:vmomi:vm:vm-12`\n - `urn:vmomi:supervisor:sup-56789`\n - `urn:vmomi:namespace:ns-abcde`\n \n\n\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "uri" + } + }, + "description": "The Content.Library.Usages.AddSpec schema defines the information required to add a resource usage on a content library.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Content.Library.Usages.Info": { + "required": [ + "addition_time", + "resource_urn", + "usage" + ], + "type": "object", + "properties": { + "usage": { + "type": "string", + "description": "The identifier of the usage on a content library.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Usages`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Usages`." + }, + "resource_urn": { + "type": "string", + "description": "The Uniform Resource Name (URN) of the resource that is using the content library.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "uri" + }, + "addition_time": { + "type": "string", + "description": "The date and time when the usage got added on the content library.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "date-time" + } + }, + "description": "The Content.Library.Usages.Info schema contains information about the usage on a content library.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Content.Library.Usages.Summary": { + "required": [ + "resource_urn", + "usage" + ], + "type": "object", + "properties": { + "usage": { + "type": "string", + "description": "The identifier of the usage on a content library.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Usages`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Usages`." + }, + "resource_urn": { + "type": "string", + "description": "The Uniform Resource Name (URN) of the resource that is using the content library.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "uri" + } + }, + "description": "The Content.Library.Usages.Summary schema contains commonly used information about the usage of a content library.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Content.Library.Usages.ListResult": { + "required": [ + "library_usage_list" + ], + "type": "object", + "properties": { + "library_usage_list": { + "type": "array", + "description": "A list containing summary of usage on a content library.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Content.Library.Usages.Summary" + } + } + }, + "description": "The Content.Library.Usages.ListResult schema lists the usage by resource(s) on a content library.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Content.Library.Item.CertVerificationStatus": { + "type": "string", + "description": "The Content.Library.Item.CertVerificationStatus enumerated type defines the certificate verification status of a library item. Currently applicable only to ovf item type\n\nPossible values:\n - `NOT_AVAILABLE`: Existing library item which can not be verified. Applying security policy to an existing library may result in this status for items.\n - `VERIFIED`: Item has been fully validated during importing or file syncing.\n - `INTERNAL`: The Item is cloned/created through vCenter.\n - `VERIFICATION_FAILURE`: Item's certificate or manifest validation failed.\n - `VERIFICATION_IN_PROGRESS`: Item certificate verification is in progress.\n - `UNTRUSTED`: Certificate used to sign the item is not trusted.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "NOT_AVAILABLE", + "VERIFIED", + "INTERNAL", + "VERIFICATION_FAILURE", + "VERIFICATION_IN_PROGRESS", + "UNTRUSTED" + ] + }, + "Content.Library.Item.TransferStatus": { + "type": "string", + "description": "The Content.Library.Item.TransferStatus enumerated type defines the transfer state of a file.\n\nPossible values:\n - `WAITING_FOR_TRANSFER`: Indicates that a file has been defined for a library item and its content needs to be uploaded.\n - `TRANSFERRING`: Indicates that data is being transferred to the file.\n - `READY`: Indicates that the file has been fully transferred and is ready to be used.\n - `VALIDATING`: Indicates that the file is being validated (checksum, type adapters).\n - `ERROR`: Indicates that there was an error transferring or validating the file.\n", + "enum": [ + "WAITING_FOR_TRANSFER", + "TRANSFERRING", + "READY", + "VALIDATING", + "ERROR" + ] + }, + "Content.Library.Item.CertificateVerificationInfo": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The certificate verification status of item.\n\nPossible values:\n - `NOT_AVAILABLE`: Existing library item which can not be verified. Applying security policy to an existing library may result in this status for items.\n - `VERIFIED`: Item has been fully validated during importing or file syncing.\n - `INTERNAL`: The Item is cloned/created through vCenter.\n - `VERIFICATION_FAILURE`: Item's certificate or manifest validation failed.\n - `VERIFICATION_IN_PROGRESS`: Item certificate verification is in progress.\n - `UNTRUSTED`: Certificate used to sign the item is not trusted.\n\n\nFor more information see: *Content.Library.Item.CertVerificationStatus*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "cert_chain": { + "type": "array", + "description": "A certificate in base64 encoding.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nCertificate chain is unset if the item not signed", + "items": { + "type": "string" + } + } + }, + "description": "Currently, this field will available only in following cases 1. This item belongs to a secure content library 2. The item if of type ovf.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Content.Library.Item.DownloadSessionModel": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of this download session.\n\nThis property is not used for the `create` operation. It will not be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.item.DownloadSession`." + }, + "library_item_id": { + "type": "string", + "description": "The identifier of the library item whose content is being downloaded.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "library_item_content_version": { + "type": "string", + "description": "The content version of the library item whose content is being downloaded. This value is the *Content.Library.ItemModel.content_version* at the time when the session is created for the library item.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "error_message": { + "description": "If the session is in the *Content.Library.Item.DownloadSessionModel.State.ERROR* status this property will have more details about the error.\n\nThis property is not used for the `create` operation. It is optional in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "client_progress": { + "type": "integer", + "description": "The progress that has been made with the download. This property is to be updated by the client during the download process to indicate the progress of its work in completing the download. The initial progress is 0 until updated by the client. The maximum value is 100, which indicates that the download is complete.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "format": "int64" + }, + "state": { + "type": "string", + "description": "The current state (State) of the download session.\n\nPossible values:\n - `ACTIVE`: The session is active. Individual files may be in the process of being transferred and may become ready for download at different times.\n - `CANCELED`: The session has been canceled. On-going downloads may fail. The session will stay in this state until it is either deleted by the user or automatically cleaned up by the Content Library Service.\n - `ERROR`: Indicates there was an error during the session lifecycle.\n\n\nFor more information see: *Content.Library.Item.DownloadSessionModel.State*.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "expiration_time": { + "type": "string", + "description": "Indicates the time after which the session will expire. The session is guaranteed not to expire before this time.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "date-time" + } + }, + "description": "The Content.Library.Item.DownloadSessionModel schema provides information on an active *Content.Library.Item.DownloadSession* resource." + }, + "Content.Library.Item.DownloadSessionModel.State": { + "type": "string", + "description": "The state of the download session.\n\nPossible values:\n - `ACTIVE`: The session is active. Individual files may be in the process of being transferred and may become ready for download at different times.\n - `CANCELED`: The session has been canceled. On-going downloads may fail. The session will stay in this state until it is either deleted by the user or automatically cleaned up by the Content Library Service.\n - `ERROR`: Indicates there was an error during the session lifecycle.\n", + "enum": [ + "ACTIVE", + "CANCELED", + "ERROR" + ] + }, + "Content.Library.Item.TransferEndpoint": { + "required": [ + "uri" + ], + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Transfer endpoint URI. The supported URI schemes are: `http`, `https`, and `ds`. \n\n An endpoint URI with the `ds` scheme specifies the location of the file on the datastore. The format of the datastore URI is: \n - ds:///vmfs/volumes/uuid/path\n \n\n When the transfer endpoint is a datastore location, the server can import the file directly from the storage backing without the overhead of streaming over HTTP.", + "format": "uri" + }, + "ssl_certificate_thumbprint": { + "type": "string", + "description": "Thumbprint of the expected SSL certificate for this endpoint. Only used for HTTPS connections. The thumbprint is the SHA-1 hash of the DER encoding of the remote endpoint's SSL certificate. If set, the remote endpoint's SSL certificate is only accepted if it matches this thumbprint, and no other certificate validation is performed. The specified sslCertificateThumbprint will not be checked for SSL certificate validation if {TransferEndpoint#sslCertificate} is also set.\n\nIf missing or `null`, standard certificate validation is performed." + }, + "ssl_certificate": { + "type": "string", + "description": "PEM encoded SSL Certificate for this endpoint. Only used for HTTPS connections. If set, the remote endpoint's SSL certificate is only accepted if it matches this, and no other certificate validation is performed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, standard certificate validation is performed." + } + }, + "description": "The Content.Library.Item.TransferEndpoint schema encapsulates a URI along with extra information about it." + }, + "Content.Library.Item.UpdateSessionModel": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of this update session.\n\nThis property is not used for the `create` operation. It will not be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.item.UpdateSession`." + }, + "library_item_id": { + "type": "string", + "description": "The identifier of the library item to which content will be uploaded or removed.\n\nThis property must be provided for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "library_item_content_version": { + "type": "string", + "description": "The content version of the library item whose content is being modified. This value is the *Content.Library.ItemModel.content_version* at the time when the session is created for the library item.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "error_message": { + "description": "If the session is in the *Content.Library.Item.UpdateSessionModel.State.ERROR* status this property will have more details about the error.\n\nThis property is not used for the `create` operation. It is optional in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "client_progress": { + "type": "integer", + "description": "The progress that has been made with the upload. This property is to be updated by the client during the upload process to indicate the progress of its work in completing the upload. The initial progress is 0 until updated by the client. The maximum value is 100, which indicates that the update is complete.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "int64" + }, + "state": { + "type": "string", + "description": "The current state (State) of the update session.\n\nPossible values:\n - `ACTIVE`: The session is currently active. This is the initial state when the session is created. Files may be uploaded by the client or pulled by the Content Library Service at this stage.\n - `DONE`: The session is done and all its effects are now visible.\n - `ERROR`: There was an error during the session.\n - `CANCELED`: The session has been canceled.\n\n\nFor more information see: *Content.Library.Item.UpdateSessionModel.State*.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation." + }, + "expiration_time": { + "type": "string", + "description": "Indicates the time after which the session will expire. The session is guaranteed not to expire earlier than this time.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "format": "date-time" + }, + "preview_info": { + "description": "A preview of the files currently being uploaded in the session. This property will be set only when the session is in the *Content.Library.Item.UpdateSessionModel.State.ACTIVE*.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of state is *Content.Library.Item.UpdateSessionModel.State.ACTIVE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.PreviewInfo" + } + ] + }, + "warning_behavior": { + "type": "array", + "description": "Indicates the update session behavior if warnings are raised in the session preview. Any warning which is raised by session preview but not ignored by the client will, by default, fail the update session.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional for the `create` operation. It is optional in the response of the `get` or `list` operations. It is optional for the `update` operation.", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.WarningBehavior" + } + } + }, + "description": "The Content.Library.Item.UpdateSessionModel schema provides information on an active *Content.Library.Item.UpdateSession* resource." + }, + "Content.Library.Item.UpdateSessionModel.State": { + "type": "string", + "description": "The state of an update session.\n\nPossible values:\n - `ACTIVE`: The session is currently active. This is the initial state when the session is created. Files may be uploaded by the client or pulled by the Content Library Service at this stage.\n - `DONE`: The session is done and all its effects are now visible.\n - `ERROR`: There was an error during the session.\n - `CANCELED`: The session has been canceled.\n", + "enum": [ + "ACTIVE", + "DONE", + "ERROR", + "CANCELED" + ] + }, + "Content.Library.Item.Changes.Summary": { + "required": [ + "time", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "The version of the library item.\n\nThis property was added in __vSphere API 6.9.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.item.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.item.Version`." + }, + "time": { + "type": "string", + "description": "The date and time when the item content was changed.\n\nThis property was added in __vSphere API 6.9.1__.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "The user who made the content change.\n\nThis property was added in __vSphere API 6.9.1__.\n\nThis property will be missing or `null` if the user could not be determined." + }, + "short_message": { + "type": "string", + "description": "The short message describing the content change. The message is truncated to the first 80 characters or first non-leading newline character, whichever length is shorter.\n\nThis property was added in __vSphere API 6.9.1__.\n\nThis property will be missing or `null` if a message was not provided when the item content was changed." + } + }, + "description": "The Content.Library.Item.Changes.Summary schema contains commonly used information about a library item change.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Content.Library.Item.Changes.Info": { + "required": [ + "time" + ], + "type": "object", + "properties": { + "time": { + "type": "string", + "description": "The date and time when the item content was changed.\n\nThis property was added in __vSphere API 6.9.1__.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "The user who made the content change.\n\nThis property was added in __vSphere API 6.9.1__.\n\nThis property will be missing or `null` if the user could not be determined." + }, + "message": { + "type": "string", + "description": "The full message describing the content change.\n\nThis property was added in __vSphere API 6.9.1__.\n\nThis property will be missing or `null` if a message was not provided when the item content was changed." + } + }, + "description": "The Content.Library.Item.Changes.Info schema contains information about a library item change.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Content.Library.Item.File.ChecksumAlgorithm": { + "type": "string", + "description": "The Content.Library.Item.File.ChecksumAlgorithm enumerated type defines the valid checksum algorithms.\n\nPossible values:\n - `SHA1`: Checksum algorithm: SHA-1\n - `MD5`: Checksum algorithm: MD5\n - `SHA256`: Checksum algorithm: SHA-256\n\nThis constant was added in __vSphere API 6.8__.\n - `SHA512`: Checksum algorithm: SHA-512\n\nThis constant was added in __vSphere API 6.8__.\n", + "enum": [ + "SHA1", + "MD5", + "SHA256", + "SHA512" + ] + }, + "Content.Library.Item.File.ChecksumInfo": { + "required": [ + "checksum" + ], + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "description": "The checksum algorithm (ChecksumAlgorithm) used to calculate the checksum.\n\nPossible values:\n - `SHA1`: Checksum algorithm: SHA-1\n - `MD5`: Checksum algorithm: MD5\n - `SHA256`: Checksum algorithm: SHA-256\n\nThis constant was added in __vSphere API 6.8__.\n - `SHA512`: Checksum algorithm: SHA-512\n\nThis constant was added in __vSphere API 6.8__.\n\n\nFor more information see: *Content.Library.Item.File.ChecksumAlgorithm*.\n\nIf not specified the default checksum algorithm is *Content.Library.Item.File.ChecksumAlgorithm.SH_a1*." + }, + "checksum": { + "type": "string", + "description": "The checksum value calculated with *Content.Library.Item.File.ChecksumInfo.algorithm*." + } + }, + "description": "Provides checksums for a *Content.Library.Item.File.Info* object." + }, + "Content.Library.Item.File.Info": { + "required": [ + "cached", + "name", + "size", + "version" + ], + "type": "object", + "properties": { + "checksum_info": { + "description": "A checksum for validating the content of the file. \n\n This value can be used to verify that a transfer was completed without errors.\n\nA checksum cannot always be calculated, and the value will be missing or `null` if the file does not have content.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.File.ChecksumInfo" + } + ] + }, + "name": { + "type": "string", + "description": "The name of the file. \n\n This value will be unique within the library item for each file. It cannot be an empty string." + }, + "size": { + "type": "integer", + "description": "The file size, in bytes. The file size is the storage used and not the uploaded or provisioned size. For example, when uploading a disk to a datastore, the amount of storage that the disk consumes may be different from the disk file size. When the file is not cached, the size is 0.", + "format": "int64" + }, + "cached": { + "type": "boolean", + "description": "Indicates whether the file is on disk or not." + }, + "version": { + "type": "string", + "description": "The version of this file; incremented when a new copy of the file is uploaded." + }, + "file_download_endpoint": { + "type": "string", + "description": "The URL endpoint that can be used to download the file. \n\n Eg URL: https://{vc}/cls/static/{libraryId}/{itemId}/{fileName}?version={version} *Content.Library.Item.File.Info.version* query param in the URL specifies the latest version of the file present in storage. When URL is hit with version query param, the file version specified in version query param is downloaded. The download will fail with 404 not found error if the specified version is no longer present in storage. If URL is hit without version query param, the latest file version present in storage is downloaded. \n\n It is expected to provide API session i.e. vmware-api-session-id in header while using the URL to download the file. vmware-api-session-id can be obtained from *POST /session* operation Eg: wget --header=\"vmware-api-session-id: {sessionId}\" fileDownloadEndpoint\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the file is not present in storage i.e *Content.Library.Item.File.Info.cached* is False or library item is of VMTX Template type (as download of VMTX template is not supported currently)", + "format": "uri" + } + }, + "description": "The Content.Library.Item.File.Info schema provides information about a file in Content Library Service storage. \n\n A file is an actual stored object for a library item. An item will have zero files initially, but one or more can be uploaded to the item." + }, + "Content.Library.Item.Storage.Info": { + "required": [ + "cached", + "name", + "size", + "storage_backing", + "storage_uris", + "version" + ], + "type": "object", + "properties": { + "storage_backing": { + "description": "The storage backing on which this object resides. This might not be the same as the default storage backing associated with the library.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.StorageBacking" + } + ] + }, + "storage_uris": { + "type": "array", + "description": "URIs that identify the file on the storage backing. \n\n These URIs may be specific to the backing and may need interpretation by the client. A client that understands a URI scheme in this list may use that URI to directly access the file on the storage backing. This can provide high-performance support for file manipulation.", + "items": { + "type": "string", + "format": "uri" + } + }, + "checksum_info": { + "description": "A checksum for validating the content of the file. \n\n This value can be used to verify that a transfer was completed without errors.\n\nA checksum cannot always be calculated, and the value will be missing or `null` if the file does not have content.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.File.ChecksumInfo" + } + ] + }, + "name": { + "type": "string", + "description": "The name of the file. \n\n This value will be unique within the library item for each file. It cannot be an empty string." + }, + "size": { + "type": "integer", + "description": "The file size, in bytes. The file size is the storage used and not the uploaded or provisioned size. For example, when uploading a disk to a datastore, the amount of storage that the disk consumes may be different from the disk file size. When the file is not cached, the size is 0.", + "format": "int64" + }, + "cached": { + "type": "boolean", + "description": "Indicates whether the file is on disk or not." + }, + "version": { + "type": "string", + "description": "The version of this file; incremented when a new copy of the file is uploaded." + }, + "file_download_endpoint": { + "type": "string", + "description": "The URL endpoint that can be used to download the file. \n\n Eg URL: https://{vc}/cls/static/{libraryId}/{itemId}/{fileName}?version={version} *Content.Library.Item.File.Info.version* query param in the URL specifies the latest version of the file present in storage. When URL is hit with version query param, the file version specified in version query param is downloaded. The download will fail with 404 not found error if the specified version is no longer present in storage. If URL is hit without version query param, the latest file version present in storage is downloaded. \n\n It is expected to provide API session i.e. vmware-api-session-id in header while using the URL to download the file. vmware-api-session-id can be obtained from *POST /session* operation Eg: wget --header=\"vmware-api-session-id: {sessionId}\" fileDownloadEndpoint\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the file is not present in storage i.e *Content.Library.Item.File.Info.cached* is False or library item is of VMTX Template type (as download of VMTX template is not supported currently)", + "format": "uri" + } + }, + "description": "The Content.Library.Item.Storage.Info schema is the expanded form of *Content.Library.Item.File.Info* that includes details about the storage backing for a file in a library item." + }, + "Content.Library.Item.Downloadsession.File.PrepareStatus": { + "type": "string", + "description": "The Content.Library.Item.Downloadsession.File.PrepareStatus enumerated type defines the state of the file in preparation for download.\n\nPossible values:\n - `UNPREPARED`: The file hasn't been requested for preparation.\n - `PREPARE_REQUESTED`: A prepare has been requested, however the server hasn't started the preparation yet.\n - `PREPARING`: A prepare has been requested and the file is in the process of being prepared.\n - `PREPARED`: Prepare succeeded. The file is ready for download.\n - `ERROR`: Prepare failed.\n", + "enum": [ + "UNPREPARED", + "PREPARE_REQUESTED", + "PREPARING", + "PREPARED", + "ERROR" + ] + }, + "Content.Library.Item.Downloadsession.File.EndpointType": { + "type": "string", + "description": "The Content.Library.Item.Downloadsession.File.EndpointType enumerated type defines the types of endpoints used to download the file.\n\nPossible values:\n - `HTTPS`: An https download endpoint.\n - `DIRECT`: A direct download endpoint indicating the location of the file on storage. The caller is responsible for retrieving the file from the storage location directly.\n", + "enum": [ + "HTTPS", + "DIRECT" + ] + }, + "Content.Library.Item.Downloadsession.File.Info": { + "required": [ + "bytes_transferred", + "name", + "status" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the file." + }, + "size": { + "type": "integer", + "description": "The file size, in bytes.\n\nThis property may not be available immediately. It is guaranteed to be set when the client finishes downloading the file.", + "format": "int64" + }, + "bytes_transferred": { + "type": "integer", + "description": "The number of bytes that have been transferred by the server so far for making this file prepared for download. This value may stay at zero till the client starts downloading the file.", + "format": "int64" + }, + "status": { + "type": "string", + "description": "The preparation status (PrepareStatus) of the file.\n\nPossible values:\n - `UNPREPARED`: The file hasn't been requested for preparation.\n - `PREPARE_REQUESTED`: A prepare has been requested, however the server hasn't started the preparation yet.\n - `PREPARING`: A prepare has been requested and the file is in the process of being prepared.\n - `PREPARED`: Prepare succeeded. The file is ready for download.\n - `ERROR`: Prepare failed.\n\n\nFor more information see: *Content.Library.Item.Downloadsession.File.PrepareStatus*." + }, + "download_endpoint": { + "description": "Endpoint at which the file is available for download. The value is valid only when the *Content.Library.Item.Downloadsession.File.Info.status* is *Content.Library.Item.Downloadsession.File.PrepareStatus.PREPARED*.\n\nThis property won't be set until the file status is *Content.Library.Item.Downloadsession.File.PrepareStatus.PREPARED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.TransferEndpoint" + } + ] + }, + "checksum_info": { + "description": "The checksum information of the file. When the download is complete, you can retrieve the checksum from the *GET /content/library/item/download-session/{downloadSessionId}/file?file_name* operation to verify the checksum for the downloaded file.\n\nThe checksum is always calculated for the downloaded file, but this property won't be set until the download is complete.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.File.ChecksumInfo" + } + ] + }, + "error_message": { + "description": "Error message for a failed preparation when the prepare status is *Content.Library.Item.Downloadsession.File.PrepareStatus.ERROR*.\n\nThis property won't be set unless there was an error with the file transfer.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Content.Library.Item.Downloadsession.File.Info schema defines the downloaded file." + }, + "Content.Library.Item.Updatesession.WarningType": { + "type": "string", + "description": "The Content.Library.Item.Updatesession.WarningType enumerated type defines the warnings which can be raised during the update session.\n\nPossible values:\n - `SELF_SIGNED_CERTIFICATE`: The certificate used for signing the content is self-signed.\n - `EXPIRED_CERTIFICATE`: The certificate used for signing the content is expired.\n - `NOT_YET_VALID_CERTIFICATE`: The certificate used for signing the content is not yet valid.\n - `UNTRUSTED_CERTIFICATE`: The certificate used for signing the content is not trusted.\n\n\nThis enumeration was added in __vSphere API 6.8__.", + "enum": [ + "SELF_SIGNED_CERTIFICATE", + "EXPIRED_CERTIFICATE", + "NOT_YET_VALID_CERTIFICATE", + "UNTRUSTED_CERTIFICATE" + ] + }, + "Content.Library.Item.Updatesession.CertificateInfo": { + "required": [ + "issuer", + "self_signed", + "subject", + "x509" + ], + "type": "object", + "properties": { + "issuer": { + "type": "string", + "description": "Certificate issuer. For example: /C=US/ST=California/L=Palo Alto/O=VMware, Inc.\n\nThis property was added in __vSphere API 6.8__." + }, + "subject": { + "type": "string", + "description": "Certificate subject. For example: C=US/ST=Massachusetts/L=Hopkinton/O=EMC Corporation/OU=EMC Avamar/CN=EMC Corporation.\n\nThis property was added in __vSphere API 6.8__." + }, + "self_signed": { + "type": "boolean", + "description": "Whether the certificate is self-signed.\n\nThis property was added in __vSphere API 6.8__." + }, + "x509": { + "type": "string", + "description": "The X509 representation of the certificate.\n\nThis property was added in __vSphere API 6.8__." + } + }, + "description": "The Content.Library.Item.Updatesession.CertificateInfo schema contains information about the public key certificate used to sign the content.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Content.Library.Item.Updatesession.PreviewInfo": { + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "Indicates the state of the preview of the update session.\n\nPossible values:\n - `UNAVAILABLE`: There are no files in the update session OR a preview is not possible for the files currently in the update session. However, preview may be possible after metadata files such as OVF descriptor are added to the session. In this case the state will transition to PREPARING.\n - `NOT_APPLICABLE`: Preview is not possible for this update session. This state is reached when there are no metadata files in the update session and user invokes a session complete operation.\n - `PREPARING`: A preview is being prepared for the files currently in the update session. This state is reached when the applicable metadata files are added to the update session but their content is not fully uploaded yet. For OVF item type, this state indicates that the OVF descriptor file is currently being uploaded.\n - `AVAILABLE`: Preview is available for this update session. It is possible to review certificate details and warnings, if any. This state is reached when the applicable metadata files in the session have been fully uploaded.\n\n\nFor more information see: *Content.Library.Item.Updatesession.PreviewInfo.State*.\n\nThis property was added in __vSphere API 6.8__." + }, + "certificate_info": { + "description": "The certificate information of the signed update session content.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is missing or `null` if the update session content is not signed.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.CertificateInfo" + } + ] + }, + "warnings": { + "type": "array", + "description": "The list of warnings raised for this update session. Any warning which is not ignored by the client will, by default, fail the update session during session complete operation.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of state is *Content.Library.Item.Updatesession.PreviewInfo.State.AVAILABLE*.", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.PreviewWarningInfo" + } + }, + "cert_chain": { + "type": "array", + "description": "Certificate chain in base64 format.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is missing or `null` if the update session content is not signed.", + "items": { + "type": "string" + } + } + }, + "description": "The Content.Library.Item.Updatesession.PreviewInfo schema contains information about the files being uploaded in the update session.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Content.Library.Item.Updatesession.PreviewInfo.State": { + "type": "string", + "description": "The Content.Library.Item.Updatesession.PreviewInfo.State enumerated type defines the state of the update session's preview.\n\nPossible values:\n - `UNAVAILABLE`: There are no files in the update session OR a preview is not possible for the files currently in the update session. However, preview may be possible after metadata files such as OVF descriptor are added to the session. In this case the state will transition to PREPARING.\n - `NOT_APPLICABLE`: Preview is not possible for this update session. This state is reached when there are no metadata files in the update session and user invokes a session complete operation.\n - `PREPARING`: A preview is being prepared for the files currently in the update session. This state is reached when the applicable metadata files are added to the update session but their content is not fully uploaded yet. For OVF item type, this state indicates that the OVF descriptor file is currently being uploaded.\n - `AVAILABLE`: Preview is available for this update session. It is possible to review certificate details and warnings, if any. This state is reached when the applicable metadata files in the session have been fully uploaded.\n\n\nThis enumeration was added in __vSphere API 6.8__.", + "enum": [ + "UNAVAILABLE", + "NOT_APPLICABLE", + "PREPARING", + "AVAILABLE" + ] + }, + "Content.Library.Item.Updatesession.PreviewWarningInfo": { + "required": [ + "ignored", + "message", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The warning type raised during preview of the update session.\n\nPossible values:\n - `SELF_SIGNED_CERTIFICATE`: The certificate used for signing the content is self-signed.\n - `EXPIRED_CERTIFICATE`: The certificate used for signing the content is expired.\n - `NOT_YET_VALID_CERTIFICATE`: The certificate used for signing the content is not yet valid.\n - `UNTRUSTED_CERTIFICATE`: The certificate used for signing the content is not trusted.\n\n\nFor more information see: *Content.Library.Item.Updatesession.WarningType*.\n\nThis property was added in __vSphere API 6.8__." + }, + "message": { + "description": "The message specifying more details about the warning.\n\nThis property was added in __vSphere API 6.8__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "ignored": { + "type": "boolean", + "description": "Indicates if this warning will be ignored during session complete operation.\n\nThis property was added in __vSphere API 6.8__." + } + }, + "description": "The Content.Library.Item.Updatesession.PreviewWarningInfo schema provides information about the warnings which are raised during the update session preview.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Content.Library.Item.Updatesession.WarningBehavior": { + "required": [ + "ignored", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The warning type which may be raised during the update session.\n\nPossible values:\n - `SELF_SIGNED_CERTIFICATE`: The certificate used for signing the content is self-signed.\n - `EXPIRED_CERTIFICATE`: The certificate used for signing the content is expired.\n - `NOT_YET_VALID_CERTIFICATE`: The certificate used for signing the content is not yet valid.\n - `UNTRUSTED_CERTIFICATE`: The certificate used for signing the content is not trusted.\n\n\nFor more information see: *Content.Library.Item.Updatesession.WarningType*.\n\nThis property was added in __vSphere API 6.8__." + }, + "ignored": { + "type": "boolean", + "description": "Indicates if this warning will be ignored during session complete operation.\n\nThis property was added in __vSphere API 6.8__." + } + }, + "description": "The Content.Library.Item.Updatesession.WarningBehavior schema defines the session behavior if the warning is raised during the update session.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Content.Library.Item.Updatesession.File.SourceType": { + "type": "string", + "description": "The Content.Library.Item.Updatesession.File.SourceType enumerated type defines how the file content is retrieved.\n\nPossible values:\n - `NONE`: No source type has been requested.\n - `PUSH`: The client is uploading content using HTTP(S) PUT requests.\n - `PULL`: The server is pulling content from a URL. The URL scheme can be `http`, `https`, `file`, or `ds`.\n", + "enum": [ + "NONE", + "PUSH", + "PULL" + ] + }, + "Content.Library.Item.Updatesession.File.AddSpec": { + "required": [ + "name", + "source_type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the file being uploaded." + }, + "source_type": { + "type": "string", + "description": "The source type (SourceType) from which the file content will be retrieved.\n\nPossible values:\n - `NONE`: No source type has been requested.\n - `PUSH`: The client is uploading content using HTTP(S) PUT requests.\n - `PULL`: The server is pulling content from a URL. The URL scheme can be `http`, `https`, `file`, or `ds`.\n\n\nFor more information see: *Content.Library.Item.Updatesession.File.SourceType*." + }, + "source_endpoint": { + "description": "Location from which the Content Library Service will fetch the file, rather than requiring a client to upload the file.\n\nThis property is optional and it is only relevant when the value of source_type is *Content.Library.Item.Updatesession.File.SourceType.PULL*.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.TransferEndpoint" + } + ] + }, + "size": { + "type": "integer", + "description": "The file size, in bytes.\n\nIf missing or `null`, the server will not verify it received the correct size.", + "format": "int64" + }, + "checksum_info": { + "description": "The checksum of the file. If specified, the server will verify the checksum once the file is received. If there is a mismatch, the upload will fail. For ova files, this value should not be set.\n\nIf missing or `null`, the server will not verify the checksum.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.File.ChecksumInfo" + } + ] + } + }, + "description": "The Content.Library.Item.Updatesession.File.AddSpec schema describes the properties of the file to be uploaded." + }, + "Content.Library.Item.Updatesession.File.Info": { + "required": [ + "bytes_transferred", + "name", + "source_type", + "status" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the file." + }, + "source_type": { + "type": "string", + "description": "The source type (SourceType) from which the file is being retrieved. This may be *Content.Library.Item.Updatesession.File.SourceType.NONE* if the file is not being changed.\n\nPossible values:\n - `NONE`: No source type has been requested.\n - `PUSH`: The client is uploading content using HTTP(S) PUT requests.\n - `PULL`: The server is pulling content from a URL. The URL scheme can be `http`, `https`, `file`, or `ds`.\n\n\nFor more information see: *Content.Library.Item.Updatesession.File.SourceType*." + }, + "size": { + "type": "integer", + "description": "The file size, in bytes as received by the server. This property is guaranteed to be set when the server has completely received the file.\n\nThis property won't be set until the file status is *Content.Library.Item.TransferStatus.READY*.", + "format": "int64" + }, + "checksum_info": { + "description": "The checksum information of the file received by the server.\n\nIf missing or `null`, the server does not verify the checksum.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.File.ChecksumInfo" + } + ] + }, + "source_endpoint": { + "description": "A source endpoint from which to retrieve the file.\n\nThis property is optional and it is only relevant when the value of source_type is *Content.Library.Item.Updatesession.File.SourceType.PULL*.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.TransferEndpoint" + } + ] + }, + "upload_endpoint": { + "description": "An upload endpoint to which the client can push the content.\n\nThis property is optional and it is only relevant when the value of source_type is *Content.Library.Item.Updatesession.File.SourceType.PUSH*.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Library.Item.TransferEndpoint" + } + ] + }, + "bytes_transferred": { + "type": "integer", + "description": "The number of bytes of this file that have been received by the server.", + "format": "int64" + }, + "status": { + "type": "string", + "description": "The transfer status (TransferStatus) of this file.\n\nPossible values:\n - `WAITING_FOR_TRANSFER`: Indicates that a file has been defined for a library item and its content needs to be uploaded.\n - `TRANSFERRING`: Indicates that data is being transferred to the file.\n - `READY`: Indicates that the file has been fully transferred and is ready to be used.\n - `VALIDATING`: Indicates that the file is being validated (checksum, type adapters).\n - `ERROR`: Indicates that there was an error transferring or validating the file.\n\n\nFor more information see: *Content.Library.Item.TransferStatus*." + }, + "error_message": { + "description": "Details about the transfer error.\n\nAn error message is set if the status is *Content.Library.Item.TransferStatus.ERROR*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "keep_in_storage": { + "type": "boolean", + "description": "Whether or not the file will be kept in storage upon update session completion. The flag is true for most files, and false for metadata files such as manifest and certificate file of update session with library item type OVF. Any file with *Content.Library.Item.Updatesession.File.Info.keep_in_storage* set to false will not show up in the list of files returned from *GET /content/library/item/{libraryItemId}/file* upon update session completion.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the file will be kept in storage upon update session completion." + } + }, + "description": "The Content.Library.Item.Updatesession.File.Info schema defines the uploaded file." + }, + "Content.Library.Item.Updatesession.File.ValidationError": { + "required": [ + "error_message", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the file." + }, + "error_message": { + "description": "A message indicating why the file was considered invalid.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Content.Library.Item.Updatesession.File.ValidationError schema defines the validation error of a file in the session." + }, + "Content.Library.Item.Updatesession.File.ValidationResult": { + "required": [ + "has_errors", + "invalid_files", + "missing_files" + ], + "type": "object", + "properties": { + "has_errors": { + "type": "boolean", + "description": "Whether the validation was succesful or not. In case of errors, the *Content.Library.Item.Updatesession.File.ValidationResult.missing_files* and *Content.Library.Item.Updatesession.File.ValidationResult.invalid_files* will contain at least one entry." + }, + "missing_files": { + "uniqueItems": true, + "type": "array", + "description": "A set containing the names of the files that are required but the client hasn't added.", + "items": { + "type": "string" + } + }, + "invalid_files": { + "type": "array", + "description": "A list containing the files that have been identified as invalid and details about the error.", + "items": { + "$ref": "#/components/schemas/Content.Library.Item.Updatesession.File.ValidationError" + } + } + }, + "description": "The Content.Library.Item.Updatesession.File.ValidationResult schema defines the result of validating the files in the session." + }, + "Content.Type.Ovf.Cpu": { + "required": [ + "num_cpus" + ], + "type": "object", + "properties": { + "num_cpus": { + "type": "integer", + "description": "number of CPUs", + "format": "int64" + }, + "reservation": { + "type": "integer", + "description": "reservation in MHz\n\nIt is optional to set a CPU reservation.", + "format": "int64" + }, + "limit": { + "type": "integer", + "description": "CPU limit in MHz\n\nIs is optional to set a CPU limit.", + "format": "int64" + }, + "shares": { + "type": "integer", + "description": "CPU shares\n\nIt is optional to specify CPU shares.", + "format": "int64" + } + }, + "description": "Provide the CPU information in a template VM." + }, + "Content.Type.Ovf.Disk": { + "required": [ + "disk_capacity", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the disk" + }, + "disk_capacity": { + "type": "integer", + "description": "Capacity of the disk in megabytes", + "format": "int64" + }, + "storage_policy": { + "description": "Storage policy of the disk. \n\nIt is a reference to the storage policy group.\n\nIt is not required that storage policy be specified.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Type.Ovf.Policy.StoragePolicy" + } + ] + } + }, + "description": "Provide the disk information in a template VM." + }, + "Content.Type.Ovf.DiskController": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the disk controller" + }, + "type": { + "type": "string", + "description": "Disk controller type: DiskControllerType.IDE.SATA.SCSI;\n\nIt is optional to specify a disk controller type." + }, + "sub_type": { + "type": "string", + "description": "Disk controller sub type: DiskControllerSubType\n\nIt is optional to specify a disk controller subtype." + } + }, + "description": "Provide the disk controller information in a template VM." + }, + "Content.Type.Ovf.Drive": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the drive" + }, + "type": { + "type": "string", + "description": "Drive type\n\nIt is optional to specify a drive type." + }, + "sub_type": { + "type": "string", + "description": "Drive sub type\n\nIt is optional to specify a drive subtype." + } + }, + "description": "Provide the drive information in a template VM." + }, + "Content.Type.Ovf.Floppy": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the floppy" + }, + "connected": { + "type": "boolean", + "description": "True if floppy is connected\n\nIt is optional to specify if a floppy is connected." + }, + "type": { + "type": "string", + "description": "Floppy type\n\nIt is optional to specify the type of floppy drive." + } + }, + "description": "Provide the floppy information in a template VM." + }, + "Content.Type.Ovf.Memory": { + "required": [ + "size" + ], + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "memory size in MB", + "format": "int64" + }, + "reservation": { + "type": "integer", + "description": "memory reservation in MB\n\nIt is not required that memory reservation be specified.", + "format": "int64" + }, + "limit": { + "type": "integer", + "description": "memory limit in MB\n\nIt is not required that memory limit be specified.", + "format": "int64" + }, + "shares": { + "type": "integer", + "description": "memory shares\n\nIt is not required that memory shares be specified.", + "format": "int64" + } + }, + "description": "Provide the memory information in a template VM." + }, + "Content.Type.Ovf.Network": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the network" + }, + "description": { + "type": "string", + "description": "Description of the network\n\nNetworks do not require a description." + } + }, + "description": "Provide network information in a template VM." + }, + "Content.Type.Ovf.Nic": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of NIC" + }, + "network_name": { + "type": "string", + "description": "Name of the network that this NIC connects to\n\nIt is not required that network name be specified." + }, + "mac_address": { + "type": "string", + "description": "Mac address of this NIC\n\nIt is not required that MAC address be specified." + }, + "start_connected": { + "type": "boolean", + "description": "True if this nic will be connected on start.\n\nIt is not required that whether the NIC is connected be specified." + } + }, + "description": "Provide NIC information in a VM template" + }, + "Content.Type.Ovf.OvfTemplate": { + "required": [ + "id", + "is_vapp_template", + "library_id_parent", + "networks", + "version", + "vm_count" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Library item id.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "vm_count": { + "type": "integer", + "description": "Number of virtual machines in the the ovf template.", + "format": "int64" + }, + "version": { + "type": "string", + "description": "A version number indicating the generation of the `OvfTemplate` \n\n This value is incremented every time `OvfTemplate` changes. " + }, + "library_id_parent": { + "type": "string", + "description": "The identifier of the *Content.LibraryModel* to which this item belongs. This is used to set the parent of the ovf template for permission propagation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "is_vapp_template": { + "type": "boolean", + "description": "True if this is a vApp template, otherwise this is a VM template." + }, + "vm_template": { + "description": "The Vitrual Machine if this is a VM template\n\nAn OVF template does not require a VM template.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Type.Ovf.VmTemplate" + } + ] + }, + "vapp_template": { + "description": "The root VApp template in this OVF template if this is a vApp template\n\nAn OVF template does not require a vApp template.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Type.Ovf.VAppTemplate" + } + ] + }, + "networks": { + "type": "array", + "description": "networks in this OVF template", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.Network" + } + }, + "storage_policy_groups": { + "type": "array", + "description": "Storage policy groups for disks, virtual machines and/or virtual machine collections.\n\nAn OVF template does not require policies.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.Policy.StoragePolicyGroup" + } + } + }, + "description": "Provides extra information about a library item of type \"ovf\". \n\n An OVF library item is the basic building block for instantiating virtual machines from content library. It may contain one or multiple virtual machine templates. This structure provides a rich view of the virtual machines within the ovf container as well as information about to the ovf descriptor associated with the library item " + }, + "Content.Type.Ovf.USBController": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "USBControllerType.EHCI (USB 2.0), XHCI (USB 3.0)\n\nA template is not required to specify the USB type." + }, + "auto_connect": { + "type": "boolean", + "description": "True if the USB controller is connected automatically\n\nA template is not required to specify if auto connect." + }, + "ehci_pci_slot_number": { + "type": "integer", + "description": "ehci.pci slot number\n\nA template is not required to specify the ehci.pci slot number.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "pci slot number\n\nA template is not required to specify the pci slot number.", + "format": "int64" + } + }, + "description": "Provide USB controller information in a template VM." + }, + "Content.Type.Ovf.VAppTemplate": { + "type": "object", + "properties": { + "vapp_name": { + "type": "string", + "description": "Name of the vApp template\n\nvApp templates do not require a name." + }, + "vm_templates": { + "type": "array", + "description": "Vitrual Machines in this vApp template\n\nvApp templates do not require a list of VM templates.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.VmTemplate" + } + }, + "storage_policies": { + "type": "array", + "description": "Storage policies of the vApp template.\n\nvApp templates do not require a list of storage policies.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.Policy.StoragePolicy" + } + } + }, + "description": "Provide information for vApp template in an OVF template file." + }, + "Content.Type.Ovf.VideoCard": { + "type": "object", + "properties": { + "render_type": { + "type": "string", + "description": "Render type\n\nA template is not required to specify the render type." + }, + "video_ram_size": { + "type": "integer", + "description": "video RAM size in KB\n\nA template is not required to specify the video RAM.", + "format": "int64" + }, + "graphics_memory_size": { + "type": "integer", + "description": "graphics memory size in KB\n\nA template is not required to specify the amount of graphics memory.", + "format": "int64" + }, + "enable3d": { + "type": "boolean", + "description": "True if 3D is enabled\n\nA template is not required to specify if 3D is enabled." + }, + "num_displays": { + "type": "integer", + "description": "number of displayes\n\nA template is not required to specify the number of displays.", + "format": "int64" + }, + "use_auto_detect": { + "type": "boolean", + "description": "True if use auto detect\n\nA template is not required to specify use auto dectect." + } + }, + "description": "Provide video card information in a template VM." + }, + "Content.Type.Ovf.VmTemplate": { + "required": [ + "vm_name" + ], + "type": "object", + "properties": { + "vm_name": { + "type": "string", + "description": "Name of the VM" + }, + "os_type": { + "type": "string", + "description": "OS type of the VM\n\nA VM template is not required to specify an OS." + }, + "os_description": { + "type": "string", + "description": "OS description\n\nA VM template is not required to specify an OS." + }, + "cpu": { + "description": "CPU information of the VM\n\nA VM template is not required to specify a CPU.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Type.Ovf.Cpu" + } + ] + }, + "memory": { + "description": "memory information of the VM\n\nA VM template is not required to specify memory.", + "allOf": [ + { + "$ref": "#/components/schemas/Content.Type.Ovf.Memory" + } + ] + }, + "disks": { + "type": "array", + "description": "All hard disks on the VM\n\nA VM template is not required to specify a list of disks.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.Disk" + } + }, + "nics": { + "type": "array", + "description": "All NICs on the VM\n\nA VM template is not required to specify a list of network interfaces.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.Nic" + } + }, + "video_cards": { + "type": "array", + "description": "Video cards of the VM\n\nA VM template is not required to specify a list of video cards.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.VideoCard" + } + }, + "drives": { + "type": "array", + "description": "CD / DVD drives of the VM\n\nA VM template is not required to specify a list of drives.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.Drive" + } + }, + "floppies": { + "type": "array", + "description": "floppy drives of the VM\n\nA VM template is not required to specify a list of floppy drives.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.Floppy" + } + }, + "disk_controllers": { + "type": "array", + "description": "Disk Controllers\n\nA VM template is not required to specify a list of disk controllers.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.DiskController" + } + }, + "usb_controllers": { + "type": "array", + "description": "USB Controllers\n\nA VM template is not required to specify a list of USB controllers.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.USBController" + } + }, + "storage_policies": { + "type": "array", + "description": "Storage policies of the VM.\n\nA VM template is not required to specify a list of storage policies.", + "items": { + "$ref": "#/components/schemas/Content.Type.Ovf.Policy.StoragePolicy" + } + } + }, + "description": "Provide template VM information in an OVF template (see OvfTemplate#type). The template VM provide the information about the operation system, CPU, memory, disks and NICs." + }, + "Content.Type.Ovf.Policy.StoragePolicy": { + "required": [ + "group_id" + ], + "type": "object", + "properties": { + "group_id": { + "type": "string", + "description": "Id reference of the particular storage policy group." + } + }, + "description": "Provide information of the membership of a particular storage policy group. \n\nIt is valid for disk, virtual machine or virtual machine collection." + }, + "Content.Type.Ovf.Policy.StoragePolicyGroup": { + "required": [ + "id", + "name" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the policy" + }, + "name": { + "type": "string", + "description": "Name of the policy" + }, + "description": { + "type": "string", + "description": "Description of the policy\n\nDescription is not required." + } + }, + "description": "Provide information of storage policy for a group of disks, virtual machines and/or virtual machine collections." + }, + "Esx.Hcl.CompatibilityStatus": { + "type": "string", + "description": "The Esx.Hcl.CompatibilityStatus enumerated type defines compatibility status of a given server or PCI device against a specific release of ESXi.\n\nPossible values:\n - `COMPATIBLE`: When given hardware is certified for the specified ESXi release but no validation of the software of this hardware is performed.\n - `INCOMPATIBLE`: When given hardware is not certified for the specified ESXi release.\n - `UNAVAILABLE`: When there is no information about specified hardware.\n - `CERTIFIED`: When given hardware is certified for the specified ESXi release. Its software is also validated and it is also certified.\n - `NOT_CERTIFIED`: When given hardware is certified for the specified ESXi release. Its software is also validated and it is not certified.\n", + "enum": [ + "COMPATIBLE", + "INCOMPATIBLE", + "UNAVAILABLE", + "CERTIFIED", + "NOT_CERTIFIED" + ] + }, + "Esx.Hcl.Driver": { + "required": [ + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the driver." + }, + "version": { + "type": "string", + "description": "The version of the driver." + }, + "vendor": { + "type": "string", + "description": "The vendor that produced the driver.\n\nIf missing or `null` vendor is unknown." + } + }, + "description": "The Esx.Hcl.Driver schema contains properties describing information about a driver." + }, + "Esx.Hcl.Firmware": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "The version of the firmware." + }, + "vendor": { + "type": "string", + "description": "The vendor that produced the firmware.\n\nIf missing or `null` vendor is unknown." + } + }, + "description": "The Esx.Hcl.Firmware schema contains properties describing information about a firmware." + }, + "Esx.Hcl.PCIDevice": { + "required": [ + "class_code", + "did", + "driver", + "model_name", + "pci_address", + "ssid", + "sub_class_code", + "svid", + "used_by_vsan", + "vendor", + "vid" + ], + "type": "object", + "properties": { + "pci_address": { + "type": "string", + "description": "The device's address in a given ESXi host." + }, + "vid": { + "type": "string", + "description": "A unique number assigned to each computer hardware device that helps to identify the chipset manufacturer. For example, Dell, Broadcom, etc." + }, + "did": { + "type": "string", + "description": "A unique number that identifies the specific device of the Vendor (VID)." + }, + "svid": { + "type": "string", + "description": "A unique number that identifies the card manufacturer." + }, + "ssid": { + "type": "string", + "description": "A unique number that identifies the specific device of Subsystem Vendor (SVID)." + }, + "vendor": { + "type": "string", + "description": "The name of the vendor." + }, + "model_name": { + "type": "string", + "description": "The name of the device model." + }, + "class_code": { + "type": "string", + "description": "Register that specifies the type of function the device performs." + }, + "sub_class_code": { + "type": "string", + "description": "Register that specifies the specific function the device performs." + }, + "driver": { + "description": "Currently installed driver used by the device.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Driver" + } + ] + }, + "firmware": { + "description": "Currently installed firmware used by the device.\n\nIf missing or `null` firmware is unknown.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Firmware" + } + ] + }, + "used_by_vsan": { + "type": "boolean", + "description": "Shows whether the device is part of VSAN cluster or not." + } + }, + "description": "The Esx.Hcl.PCIDevice schema contains properties describing information about a single PCI device on a host." + }, + "Esx.Hcl.Server": { + "required": [ + "bios", + "cpu_features", + "cpu_series", + "model_name", + "vendor" + ], + "type": "object", + "properties": { + "model_name": { + "type": "string", + "description": "The name of the server model (for example, \"PowerEdge R740xd\")." + }, + "vendor": { + "type": "string", + "description": "The name of the vendor (for example, \"Dell\")." + }, + "cpu_series": { + "type": "string", + "description": "The CPU series name (for example, \"Intel Xeon Gold 6100/5100, Silver 4100, Bronze 3100 (Skylake-SP) Series\"). \n\n __Note__: This property is initialized with the CPU *model* name; it's updated to the actual CPU series later, based on recognizing one of the CPU series the server hardware is certified with in the VCG.s" + }, + "cpu_features": { + "type": "string", + "description": "The current CPU features." + }, + "bios": { + "description": "Currently installed BIOS of the server.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Firmware" + } + ] + } + }, + "description": "The Esx.Hcl.Server schema contains properties describing information about a server." + }, + "Esx.Hcl.Notification": { + "required": [ + "id", + "message", + "time" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The notification id." + }, + "time": { + "type": "string", + "description": "The time the notification was raised/found.", + "format": "date-time" + }, + "message": { + "description": "The notification message.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "The resolution message, if any.\n\nOnly set if there is a resolution available for this notification.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Hcl.Notification schema contains properties to describe any info/warning/error messages that Tasks can raise." + }, + "Esx.Hcl.Notifications": { + "type": "object", + "properties": { + "info": { + "type": "array", + "description": "Info notification messages reported.\n\nOnly set if an info was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Hcl.Notification" + } + }, + "warnings": { + "type": "array", + "description": "Warning notification messages reported.\n\nOnly set if an warning was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Hcl.Notification" + } + }, + "errors": { + "type": "array", + "description": "Error notification messages reported.\n\nOnly set if an error was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Hcl.Notification" + } + } + }, + "description": "The Esx.Hcl.Notifications schema contains info/warning/error messages that can be reported be the task." + }, + "Esx.Hcl.CompatibilityData.Status": { + "required": [ + "notifications", + "updated_at" + ], + "type": "object", + "properties": { + "updated_at": { + "type": "string", + "description": "Indicates when the data was last updated.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Notifications" + } + ] + } + }, + "description": "The Esx.Hcl.CompatibilityData.Status schema contains properties to describe the information available for the compatibility data." + }, + "Esx.Hcl.Reports.Token": { + "required": [ + "expiry", + "token" + ], + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "A one-time, short-lived token required in the HTTP header of the request to the url. This token needs to be passed in as a header with the name \"session-id\".", + "format": "password" + }, + "expiry": { + "type": "string", + "description": "Expiry time of the token", + "format": "date-time" + } + }, + "description": "The Esx.Hcl.Reports.Token schema contains information about the token required to be passed in the HTTP header in the HTTP GET request to generate the report." + }, + "Esx.Hcl.Reports.Location": { + "required": [ + "report_token", + "url" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "Compatibility report download URL.", + "format": "uri" + }, + "report_token": { + "description": "Information about the token required in the HTTP GET request to download the compatibility report.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Reports.Token" + } + ] + } + }, + "description": "The Esx.Hcl.Reports.Location schema contains the URI location to download generated compatibility report, as well as a token required (as a header on the HTTP GET request) to get the report. The validity of the token is 5 minutes. After the token expires, any attempt to call the URI with said token will fail." + }, + "Esx.Hcl.Hosts.CompatibilityReleases.EsxiCompatibilityReleases": { + "required": [ + "current_compatibility_release", + "newer_compatibility_releases", + "notifications" + ], + "type": "object", + "properties": { + "current_compatibility_release": { + "type": "string", + "description": "The current release of the ESXi, which also can be checked for compatibility. \n\n The information for the release does not include patch information." + }, + "newer_compatibility_releases": { + "type": "array", + "description": "The available ESXi releases, greater than the current one, than can be checked for compatibility.", + "items": { + "type": "string" + } + }, + "notifications": { + "description": "Notifications returned by the operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Notifications" + } + ] + } + }, + "description": "This Esx.Hcl.Hosts.CompatibilityReleases.EsxiCompatibilityReleases schema contains properties that describe available releases for generating compatibility report for a specific ESXi host." + }, + "Esx.Hcl.Hosts.CompatibilityReport.BiosConstraint": { + "required": [ + "bios", + "notes" + ], + "type": "object", + "properties": { + "bios": { + "description": "The BIOS information about the constraint.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Firmware" + } + ] + }, + "notes": { + "type": "array", + "description": "Any information that should be taken into account when reviewing the BIOS constraint.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This Esx.Hcl.Hosts.CompatibilityReport.BiosConstraint schema contains properties that describe the BIOS that is supported for the given server and ESXi release." + }, + "Esx.Hcl.Hosts.CompatibilityReport.ServerCompatibility": { + "required": [ + "cpu_series", + "vcg_link" + ], + "type": "object", + "properties": { + "bios_constraints": { + "type": "array", + "description": "Lists the BIOS constraints that the target ESXi release has for this server.\n\nIf missing or `null` no constraints are present as server is either not compatible or compatibility information is not found.", + "items": { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReport.BiosConstraint" + } + }, + "cpu_series": { + "type": "string", + "description": "The CPU series name." + }, + "supported_releases": { + "type": "array", + "description": "Provides information about supported releases for this entry.\n\nIf missing or `null` server is compatible with the given target release.", + "items": { + "type": "string" + } + }, + "vcg_link": { + "type": "string", + "description": "Provides link to the VMware Compatibility Guide for further information on the compatibility.", + "format": "uri" + }, + "notes": { + "type": "array", + "description": "Information that needs to be taken into account when considering this server hardware compatibility.\n\nOnly set if there is any information reported.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This Esx.Hcl.Hosts.CompatibilityReport.ServerCompatibility schema contains properties that provide the compatibility information for a server model, cpu and BIOS." + }, + "Esx.Hcl.Hosts.CompatibilityReport.ServerHclInfo": { + "required": [ + "matches", + "model_compatibility", + "server" + ], + "type": "object", + "properties": { + "server": { + "description": "Information about the server.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Server" + } + ] + }, + "matches": { + "type": "array", + "description": "Provides information about possible compatibility matches for the given server. \n\n There could be multiple matches returned as there are several possible matches in the Compatibility data.", + "items": { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReport.ServerCompatibility" + } + }, + "model_compatibility": { + "type": "string", + "description": "Shows if the server model is compatible with given target ESXi release.\n\nPossible values:\n - `COMPATIBLE`: When given hardware is certified for the specified ESXi release but no validation of the software of this hardware is performed.\n - `INCOMPATIBLE`: When given hardware is not certified for the specified ESXi release.\n - `UNAVAILABLE`: When there is no information about specified hardware.\n - `CERTIFIED`: When given hardware is certified for the specified ESXi release. Its software is also validated and it is also certified.\n - `NOT_CERTIFIED`: When given hardware is certified for the specified ESXi release. Its software is also validated and it is not certified.\n\n\nFor more information see: *Esx.Hcl.CompatibilityStatus*." + } + }, + "description": "This Esx.Hcl.Hosts.CompatibilityReport.ServerHclInfo schema contains properties that describe the server of a ESXi host and its compatibility information." + }, + "Esx.Hcl.Hosts.CompatibilityReport.DeviceConstraint": { + "required": [ + "driver", + "notes" + ], + "type": "object", + "properties": { + "driver": { + "description": "The driver information about the constraint.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Driver" + } + ] + }, + "firmware": { + "description": "The firmware information about the constraint.\n\nIf missing or `null` there is no firmware restriction on the driver to work with that release.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Firmware" + } + ] + }, + "notes": { + "type": "array", + "description": "Any information that should be taken into account when reviewing the device constraint.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This Esx.Hcl.Hosts.CompatibilityReport.DeviceConstraint schema contains properties that describe pair of driver and firmware that are supported for a given PCI device and ESXi release." + }, + "Esx.Hcl.Hosts.CompatibilityReport.DeviceHclInfo": { + "required": [ + "compatibility", + "device" + ], + "type": "object", + "properties": { + "compatibility": { + "type": "string", + "description": "Indicates compatibility status of the PCI device.\n\nPossible values:\n - `COMPATIBLE`: When given hardware is certified for the specified ESXi release but no validation of the software of this hardware is performed.\n - `INCOMPATIBLE`: When given hardware is not certified for the specified ESXi release.\n - `UNAVAILABLE`: When there is no information about specified hardware.\n - `CERTIFIED`: When given hardware is certified for the specified ESXi release. Its software is also validated and it is also certified.\n - `NOT_CERTIFIED`: When given hardware is certified for the specified ESXi release. Its software is also validated and it is not certified.\n\n\nFor more information see: *Esx.Hcl.CompatibilityStatus*." + }, + "device": { + "description": "Information about the PCI device.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.PCIDevice" + } + ] + }, + "device_constraints": { + "type": "array", + "description": "Lists the constraints the target ESXi release has for this PCI device\n\nIf missing or `null` no constraints are present as PCI device is either not compatible or compatibility information is not found.", + "items": { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReport.DeviceConstraint" + } + }, + "supported_releases": { + "type": "array", + "description": "Provides information about supported releases for this device.\n\nIf missing or `null` device is compatible with the given target release.", + "items": { + "type": "string" + } + }, + "vcg_link": { + "type": "string", + "description": "Provides link to the VMware Compatibility Guide for further information on the compatibility.\n\nIf missing or `null` there is no VMware Compatibility link available as this is device used by VSAN.", + "format": "uri" + }, + "notes": { + "type": "array", + "description": "Information that needs to be taken into account when considering this device hcl.\n\nOnly set if there is any information reported.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This Esx.Hcl.Hosts.CompatibilityReport.DeviceHclInfo schema contains properties that describe a PCI device of a given ESXi host and its compatibility information. \n\n If there are multiple PCI devices of the same type on the host each one will be listed in separate instance of this class." + }, + "Esx.Hcl.Hosts.CompatibilityReport.HclReport": { + "required": [ + "generated_at", + "host", + "notifications", + "server_hcl", + "target_release" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "FQDN identifying the ESXi host that the report refers to.", + "format": "uri" + }, + "target_release": { + "type": "string", + "description": "Indicates for which ESXi release the report is generated." + }, + "server_hcl": { + "description": "Lists compatibility information for the ESXi's server part.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReport.ServerHclInfo" + } + ] + }, + "devices_hcl": { + "type": "array", + "description": "Lists compatibility information for discoverable PCI devices of the host.\n\nIf missing or `null` the server is not compatible with the requested release and the PCI devices cannot be checked.", + "items": { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReport.DeviceHclInfo" + } + }, + "generated_at": { + "type": "string", + "description": "Specifies the time the report was generated.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Notifications" + } + ] + } + }, + "description": "This Esx.Hcl.Hosts.CompatibilityReport.HclReport represents the hardware compatibility report generated for a specific host and target ESXi release." + }, + "Esx.Hcl.Hosts.CompatibilityReport.Result": { + "required": [ + "report" + ], + "type": "object", + "properties": { + "report": { + "description": "The hardware compatibility report.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hcl.Hosts.CompatibilityReport.HclReport" + } + ] + }, + "identifier": { + "type": "string", + "description": "The identifier of the compatibility report. \n\n *GET /esx/hcl/reports/{report}* provides location where a file based report based on the Esx.Hcl.Hosts.CompatibilityReport.HclReport can be downloaded using this identifier.\n\nmissing or `null` in case of error reported in *Esx.Hcl.Hosts.CompatibilityReport.HclReport.notifications*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.hcl.resources.CompatibilityReport`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.hcl.resources.CompatibilityReport`." + } + }, + "description": "The Esx.Hcl.Hosts.CompatibilityReport.Result schema contains the result of hardware compatibility report creation operation." + }, + "Esx.Hcl.Hosts.CompatibilityReport.Spec": { + "required": [ + "release" + ], + "type": "object", + "properties": { + "release": { + "type": "string", + "description": "A target ESXi release which will be used to generate a compatibility report. Releases that can be used to generate report can be found using *GET /esx/hcl/hosts/{host}/compatibility-releases*" + } + }, + "description": "The Esx.Hcl.Hosts.CompatibilityReport.Spec schema contains properties to describe the input configuration for an ESXi's compatibility report generation." + }, + "Esx.Hosts.CertificateInfo": { + "required": [ + "ssl_thumbprint" + ], + "type": "object", + "properties": { + "ssl_thumbprint": { + "type": "string", + "description": "The SHA thumbprint of the SSL certificate for a server.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "ssl_certificate": { + "type": "string", + "description": "PEM-encoded SSL certificate of the ESX host.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Hosts.CertificateInfo Schema contains information about the SSL certificate for a server.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.Notification": { + "required": [ + "id", + "message", + "time" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The notification id.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "time": { + "type": "string", + "description": "The time the notification was raised/found.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "date-time" + }, + "message": { + "description": "The notification message.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "The resolution message, if any.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nOnly set if there is a resolution available for this notification.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Hosts.Notification schema contains properties to describe any info/warning/error messages that Tasks can raise.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.Notifications": { + "type": "object", + "properties": { + "info": { + "type": "array", + "description": "Info notification messages reported.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nOnly set if an info was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Hosts.Notification" + } + }, + "warnings": { + "type": "array", + "description": "Warning notification messages reported.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nOnly set if an warning was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Hosts.Notification" + } + }, + "errors": { + "type": "array", + "description": "Error notification messages reported.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nOnly set if an error was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Hosts.Notification" + } + } + }, + "description": "The Esx.Hosts.Notifications schema contains info/warning/error messages that can be reported be the task.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.ComponentInfo": { + "required": [ + "display_name", + "display_version", + "vendor", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the component. It will be empty when the component is removed.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Hosts.ComponentInfo schema contains properties that describe a specific component version in the software solution.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Hosts.SolutionInfo": { + "required": [ + "components", + "display_name", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the solution.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_name": { + "type": "string", + "description": "Display name of the solution.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.ComponentInfo" + }, + "description": "Components registered by the solution.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.component`." + } + }, + "description": "The Esx.Hosts.SolutionInfo schema contains properties that describe solution registered in the software solution.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Hosts.BaseImageInfo": { + "required": [ + "display_name", + "display_version", + "release_date", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the base-image.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.hosts.base_image`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.hosts.base_image`." + }, + "display_name": { + "type": "string", + "description": "Display name of the base-image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the base-image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "release_date": { + "type": "string", + "description": "Release date of the base-image.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + } + }, + "description": "The Esx.Hosts.BaseImageInfo schema contains properties that describe a specific ESX base-image in the software solution.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Hosts.AddOnInfo": { + "required": [ + "display_name", + "display_version", + "name", + "vendor", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the add-on\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.hosts.add_on`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.hosts.add_on`." + }, + "version": { + "type": "string", + "description": "Version of the add-on\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_name": { + "type": "string", + "description": "Display name of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Hosts.AddOnInfo schema contains properties that describe a specific OEM customization add-on in the software solution.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Hosts.HardwareSupportPackageInfo": { + "required": [ + "pkg", + "version" + ], + "type": "object", + "properties": { + "pkg": { + "type": "string", + "description": "Identifier of Hardware Support Package (HSP) selected\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.hosts.hardware_support.package`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.hosts.hardware_support.package`." + }, + "version": { + "type": "string", + "description": "Version of the Hardware Support Package (HSP) selected (e.g. \"20180128.1\" or \"v42\")\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Esx.Hosts.HardwareSupportPackageInfo schema contains information to describe the Hardware Support Package (HSP) configured for a single device or distinct group of devices (typically the OEM's, including BIOS and device firmware).\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.HardwareSupportInfo": { + "required": [ + "packages" + ], + "type": "object", + "properties": { + "packages": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.HardwareSupportPackageInfo" + }, + "description": "Map of Hardware Support Packages (HSPs). The key is the Hardware Support Manager (HSM) identifier and the value is the specification detailing the HSP configured for that HSM.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.hardware_support.manager`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.hardware_support.manager`." + } + }, + "description": "The Esx.Hosts.HardwareSupportInfo schema contains information to describe the Hardware Support Package (HSP) in the software solution.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.HostHardwareInfo": { + "required": [ + "vendor" + ], + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Host's vendor name. Maps to \"Manufacturer\" in SMBIOS: System Information (Type 1) and offset 04h\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "models": { + "uniqueItems": true, + "type": "array", + "description": "Host's model name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, model name will not be used for image selection Maps to \"Product Name\" in SMBIOS: System Information (Type 1) and offset 05h", + "items": { + "type": "string" + } + }, + "families": { + "uniqueItems": true, + "type": "array", + "description": "Host's family name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, family name will not be used for image selection Maps to \"Family\" in SMBIOS: System Information (Type 1) and offset 1Ah", + "items": { + "type": "string" + } + }, + "oem_strings": { + "uniqueItems": true, + "type": "array", + "description": "Host's OEM string.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, oem string will not be used for image selection Maps to SMBIOS: OEM Strings (Type 11)", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Hosts.HostHardwareInfo schema contains properties to describe the host's hardware specifications like vendor, model, family and oem string.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Hosts.ImageSelectionInfo": { + "required": [ + "selection_type" + ], + "type": "object", + "properties": { + "selection_type": { + "type": "string", + "description": "Specifies what type of selection (SelectionType) is to be used for selecting an image for a host. HOST_UUID is intended to be used when an image needs to be selected for a host based on the host's uuid. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h HOST_HARDWARE_SPEC is intended to be used when an image needs to be selected for 1 or more hosts based on the host's hardware specifications like vendor, model, family and oem string.\n\nPossible values:\n - `HOST_UUID`: Select image using host's uuid.\n - `HOST_HARDWARE_SPEC`: Select image using host's hardware specification. Esx.Hosts.HostHardwareInfo schema\n - `UNKNOWN`: SelectionType is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Hosts.ImageSelectionInfo.SelectionType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "host_uuids": { + "uniqueItems": true, + "type": "array", + "description": "Specifies the host's uuid for which an image needs to be selected. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Hosts.ImageSelectionInfo.SelectionType.HOST_UUID*.", + "items": { + "type": "string" + } + }, + "host_hardware_spec": { + "description": "Specifies the host's hardware specification like vendor, model, family and oem string for which an image needs to be selected. \n\n Selection logic will be AND operation across the attributes and OR operation within an attribute \n\n Ex: For vendor = \"OEM 1\" model = [\"Model Gen9\", \"Model Gen10\"] family = [\"Family 1\", \"Family 2\"] oemString = [\"OEM String 1\", \"OEM String 2\"] \n\n Logic will be \"OEM 1\" AND (\"Model Gen9\" OR \"Model Gen10\") AND (\"Family 1\" OR \"Family 2\") AND (\"OEM String 1\" OR \"OEM String 2\")\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Hosts.ImageSelectionInfo.SelectionType.HOST_HARDWARE_SPEC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.HostHardwareInfo" + } + ] + } + }, + "description": "The Esx.Hosts.ImageSelectionInfo schema contains properties to describe the selection criteria used to select an image for 1 or more hosts\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Hosts.ImageSelectionInfo.SelectionType": { + "type": "string", + "description": "The Esx.Hosts.ImageSelectionInfo.SelectionType schema contains properties that describe the selection type to be used for selecting an image for a host.\n\nPossible values:\n - `HOST_UUID`: Select image using host's uuid.\n - `HOST_HARDWARE_SPEC`: Select image using host's hardware specification. Esx.Hosts.HostHardwareInfo schema\n - `UNKNOWN`: SelectionType is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HOST_UUID", + "HOST_HARDWARE_SPEC", + "UNKNOWN" + ] + }, + "Esx.Hosts.AlternativeImageInfo": { + "required": [ + "base_image", + "components", + "display_name", + "selection_criteria", + "solutions" + ], + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.BaseImageInfo" + } + ] + }, + "add_on": { + "description": "OEM customization on top of given base-image. The components in this customization override the components in the base base-image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no OEM customization exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.AddOnInfo" + } + ] + }, + "components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.ComponentInfo" + }, + "description": "Map of components in an ESX image. The key is the component name and value is the information about specific version of the component.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.SolutionInfo" + }, + "description": "Map of software solutions in an ESX image. The key is the solution name and value is the specification detailing components registered by that solution.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.solution`." + }, + "hardware_support": { + "description": "Information about the Hardware Support Packages (HSP) configured.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no Hardware Support Package (HSP) info exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.HardwareSupportInfo" + } + ] + }, + "removed_components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.ComponentInfo" + }, + "description": "Information about the components to be removed in the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no removed component info exists.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the Alternative Image. Supported encoding is UTF-8.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "selection_criteria": { + "description": "Selection criteria used to select the alternative image for 1 or more hosts\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.ImageSelectionInfo" + } + ] + } + }, + "description": "The Esx.Hosts.AlternativeImageInfo schema contains properties that describes an alternative image for the desired software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Hosts.SoftwareInfo": { + "required": [ + "base_image", + "components", + "solutions" + ], + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.BaseImageInfo" + } + ] + }, + "add_on": { + "description": "OEM customization on top of given base-image. The components in this customization override the components in the base base-image.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no OEM customization exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.AddOnInfo" + } + ] + }, + "components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.ComponentInfo" + }, + "description": "Map of components in an ESX image. The key is the component name and value is the information about specific version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.SolutionInfo" + }, + "description": "Map of software solutions in an ESX image. The key is the solution name and value is the specification detailing components registered by that solution.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.solution`." + }, + "hardware_support": { + "description": "Information about the Hardware Support Packages (HSP) configured.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, no Hardware Support Package (HSP) info exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.HardwareSupportInfo" + } + ] + }, + "removed_components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.ComponentInfo" + }, + "description": "Information about the components to be removed in the software specification.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.component`." + }, + "alternative_images": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.AlternativeImageInfo" + }, + "description": "Alternative Images apart from the Default Image\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no alternative image will be part of the software specification. Image ID supports only the following ASCII characters [a-z][A-Z][0-9][-] Case will be ignored when comparing identifiers \"IMAGE-1\" is equal to \"image-1\"\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + } + }, + "description": "The Esx.Hosts.SoftwareInfo schema contains properties that describes the software solution for an ESX host.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Hosts.SolutionComponentSpec": { + "required": [ + "component" + ], + "type": "object", + "properties": { + "component": { + "type": "string", + "description": "Identifier of the component.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.hosts.component`." + } + }, + "description": "The Esx.Hosts.SolutionComponentSpec schema contains properties that describe a component registered by a software solution.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.SolutionSpec": { + "required": [ + "components", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the solution.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "components": { + "type": "array", + "description": "Components registered by the solution.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Hosts.SolutionComponentSpec" + } + } + }, + "description": "The Esx.Hosts.SolutionSpec schema contains properties that describe solution registered in the software specification.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.BaseImageSpec": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the base-image\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Esx.Hosts.BaseImageSpec schema contains properties that describe a specific ESX base-image in the software specification.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.AddOnSpec": { + "required": [ + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the add-on\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "version": { + "type": "string", + "description": "Version of the add-on\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Esx.Hosts.AddOnSpec schema contains properties that describe a specific OEM customization add-on in the software specification.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.HardwareSupportPackageSpec": { + "type": "object", + "properties": { + "pkg": { + "type": "string", + "description": "Hardware Support Package (HSP) selected\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.hosts.hardware_support.package`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.hosts.hardware_support.package`." + }, + "version": { + "type": "string", + "description": "Version of the Hardware Support Package (HSP) selected (e.g. \"20180128.1\" or \"v42\")\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the system will use an empty string as the version." + } + }, + "description": "The Esx.Hosts.HardwareSupportPackageSpec schema contains properties to describe the Hardware Support Package (HSP) configured for a single device or distinct group of devices (typically the OEM's, including BIOS, device firmware and OEM-supplied driver or agent components).\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.HardwareSupportSpec": { + "required": [ + "packages" + ], + "type": "object", + "properties": { + "packages": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.HardwareSupportPackageSpec" + }, + "description": "Map of Hardware Support Packages (HSPs). The key is the Hardware Support Manager (HSM) name and the value is the specification detailing the HSP configured for that HSM.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.hardware_support.manager`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.hardware_support.manager`." + } + }, + "description": "The Esx.Hosts.HardwareSupportSpec schema contains properties to describe the Hardware Support Packages (HSP) included in the software specification.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.HostHardwareSpec": { + "required": [ + "vendor" + ], + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Host's vendor name. Maps to \"Manufacturer\" in SMBIOS: System Information (Type 1) and offset 04h\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "models": { + "uniqueItems": true, + "type": "array", + "description": "Host's model name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, model name will not be used for image selection Maps to \"Product Name\" in SMBIOS: System Information (Type 1) and offset 05h", + "items": { + "type": "string" + } + }, + "families": { + "uniqueItems": true, + "type": "array", + "description": "Host's family name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, family name will not be used for image selection Maps to \"Family\" in SMBIOS: System Information (Type 1) and offset 1Ah", + "items": { + "type": "string" + } + }, + "oem_strings": { + "uniqueItems": true, + "type": "array", + "description": "Host's OEM string.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, oem string will not be used for image selection Maps to SMBIOS: OEM Strings (Type 11)", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Hosts.HostHardwareSpec schema contains properties to describe the host's hardware specifications like vendor, model, family and oem string.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Hosts.ImageSelectionSpec": { + "required": [ + "selection_type" + ], + "type": "object", + "properties": { + "selection_type": { + "type": "string", + "description": "Specifies what type of selection (SelectionType) is to be used for selecting an image for a host. HOST_UUID is intended to be used when an image needs to be selected for a host based on the host's uuid. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h HOST_HARDWARE_SPEC is intended to be used when an image needs to be selected for 1 or more hosts based on the host's hardware specifications like vendor, model, family and oem string.\n\nPossible values:\n - `HOST_UUID`: Select image using host's uuid.\n - `HOST_HARDWARE_SPEC`: Select image using host's hardware specification. Esx.Hosts.HostHardwareSpec schema\n - `UNKNOWN`: SelectionType is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Hosts.ImageSelectionSpec.SelectionType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "host_uuids": { + "uniqueItems": true, + "type": "array", + "description": "Specifies the host's uuid for which an image needs to be selected. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Hosts.ImageSelectionSpec.SelectionType.HOST_UUID*.", + "items": { + "type": "string" + } + }, + "host_hardware_spec": { + "description": "Specifies the host's hardware specification like vendor, model, family and oem string for which an image needs to be selected. \n\n Selection logic will be AND operation across the attributes and OR operation within an attribute \n\n Ex: For vendor = \"OEM 1\" model = [\"Model Gen9\", \"Model Gen10\"] family = [\"Family 1\", \"Family 2\"] oemString = [\"OEM String 1\", \"OEM String 2\"] \n\n Logic will be \"OEM 1\" AND (\"Model Gen9\" OR \"Model Gen10\") AND (\"Family 1\" OR \"Family 2\") AND (\"OEM String 1\" OR \"OEM String 2\")\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Hosts.ImageSelectionSpec.SelectionType.HOST_HARDWARE_SPEC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.HostHardwareSpec" + } + ] + } + }, + "description": "The Esx.Hosts.ImageSelectionSpec schema contains properties to describe the selection criteria used to select an image for 1 or more hosts\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Hosts.ImageSelectionSpec.SelectionType": { + "type": "string", + "description": "The Esx.Hosts.ImageSelectionSpec.SelectionType schema contains properties that describe the selection type to be used for selecting an image for a host.\n\nPossible values:\n - `HOST_UUID`: Select image using host's uuid.\n - `HOST_HARDWARE_SPEC`: Select image using host's hardware specification. Esx.Hosts.HostHardwareSpec schema\n - `UNKNOWN`: SelectionType is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HOST_UUID", + "HOST_HARDWARE_SPEC", + "UNKNOWN" + ] + }, + "Esx.Hosts.AlternativeImageSpec": { + "required": [ + "base_image", + "display_name", + "selection_criteria" + ], + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.BaseImageSpec" + } + ] + }, + "add_on": { + "description": "OEM customization on top of given base-image. The components in this customization override the components in the base base-image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no OEM customization will be applied.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.AddOnSpec" + } + ] + }, + "components": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional components which are part of the software specification. If value is not given for a particular component then version for that component will be picked from the constraints. These override the components present in *Esx.Hosts.AlternativeImageSpec.add_on* and *Esx.Hosts.AlternativeImageSpec.base_image*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no additional components are present in the software specification.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.SolutionSpec" + }, + "description": "Mapping from solution identifier to the solution specification. The key is the solution name and the value is the specification detailing components registered by that solution.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no solutions are present in the software specification.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.solution`." + }, + "hardware_support": { + "description": "Information about the Hardware Support Package (HSP) configured in the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, no firmware info will be part of the software specification.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.HardwareSupportSpec" + } + ] + }, + "removed_components": { + "uniqueItems": true, + "type": "array", + "description": "Components to be removed from the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no component will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.hosts.component`.", + "items": { + "type": "string" + } + }, + "display_name": { + "type": "string", + "description": "Display name of the Alternative Image. Supported encoding is UTF-8.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "selection_criteria": { + "description": "Selection criteria used to select the alternative image for 1 or more hosts\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.ImageSelectionSpec" + } + ] + } + }, + "description": "The Esx.Hosts.AlternativeImageSpec schema contains properties that describes an alternative image for the desired software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Hosts.SoftwareSpec": { + "required": [ + "base_image" + ], + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.BaseImageSpec" + } + ] + }, + "add_on": { + "description": "OEM customization on top of given base-image. The components in this customization override the components in the base base-image.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, no OEM customization will be applied.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.AddOnSpec" + } + ] + }, + "components": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional components which are part of the software specification. If value is not given for a particular component then version for that component will be picked from the constraints. These override the components present in *Esx.Hosts.SoftwareSpec.add_on* and *Esx.Hosts.SoftwareSpec.base_image*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, no additional components are present in the software specification.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.SolutionSpec" + }, + "description": "Mapping from solution identifier to the solution specification. The key is the solution name and the value is the specification detailing components registered by that solution.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, no solutions are present in the software specification.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.hosts.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.hosts.solution`." + }, + "hardware_support": { + "description": "Information about the Hardware Support Package (HSP) configured in the software specification.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, no firmware info will be part of the software specification.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.HardwareSupportSpec" + } + ] + }, + "removed_components": { + "uniqueItems": true, + "type": "array", + "description": "Components to be removed from the software specification.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` no component will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.hosts.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.hosts.component`.", + "items": { + "type": "string" + } + }, + "alternative_images": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Hosts.AlternativeImageSpec" + }, + "description": "Alternative Images apart from the Default Image\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no alternative image will be part of the software specification. Image ID supports only the following ASCII characters [a-z][A-Z][0-9][-] Case will be ignored when comparing identifiers \"IMAGE-1\" is equal to \"image-1\"\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + } + }, + "description": "The Esx.Hosts.SoftwareSpec schema contains properties that describe software specification for an ESX host.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.Software.HostCredentials": { + "required": [ + "host_name", + "password", + "user_name" + ], + "type": "object", + "properties": { + "host_name": { + "type": "string", + "description": "The IP address or DNS resolvable name of the host.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "user_name": { + "type": "string", + "description": "Specifies the username to be used during the *GET /esx/software* operation\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "password": { + "type": "string", + "description": "Specifies the password to be used during the *GET /esx/software* operation\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "password" + }, + "port": { + "type": "integer", + "description": "Specifies the port number of the host to be used during *GET /esx/software* operation\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, port number is set to 443.", + "format": "int64" + }, + "ssl_thumb_print": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. This field is deprecated and will be removed in future versions. Please use the 'ssl_certificate' field instead.\n\nSpecifies the sslThumbPrint of the host to be used during *GET /esx/software* operation SHA1 hash of the host's SSL certificate.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf specified and the server presents that thumbprint, the connection will be established; if missing or `null`, the connection will only proceed if the server-presented certificate can be validated by specified *sslCertificate*.", + "deprecated": true + }, + "ssl_certificate": { + "type": "string", + "description": "Specifies the sslCertificate of the host to be used during *GET /esx/software* operation PEM format of the host's SSL certificate.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf specified and the server presents that certificate, the connection will be established; if missing or `null`, the connection will only proceed if the server-presented thumbprint can be validated by specified *sslThumbprint*. Note: *sslThumbprint* and *sslCertificate* parameters are mutually exclusive, and should never be used simultaneously. If both are set, this operation will throw InvalidArgument exception." + } + }, + "description": "The Esx.Hosts.Software.HostCredentials schema contains properties that describe the host's username, password, port number, ssl thumbprint or ssl certificate to be used when connecting to the host using USERNAME_PASSWORD option in the AuthenticationType schema.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.Software.ConnectionSpec": { + "required": [ + "auth_type" + ], + "type": "object", + "properties": { + "auth_type": { + "type": "string", + "description": "Specifies what type of authentication (AuthenticationType) is to be used when connecting with the host. USERNAME_PASSWORD is intended to be used when connecting to a host that is not currently part of the vCenter inventory. EXISTING is intended for hosts that are in vCenter inventory, in which case, HostServiceTicket will be used to connect to the host.\n\nPossible values:\n - `USERNAME_PASSWORD`: Connect to host using host's credentials HostCredentials schema.\n - `EXISTING`: Connect to the host using service ticket. Note: This is supported only for hosts present in the VC inventory.\n\n\nFor more information see: *Esx.Hosts.Software.ConnectionSpec.AuthenticationType*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "host_credential": { + "description": "Specifies the host details to be used during the *GET /esx/software* operation\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of auth_type is *Esx.Hosts.Software.ConnectionSpec.AuthenticationType.USERNAME_PASSWORD*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.Software.HostCredentials" + } + ] + }, + "host": { + "type": "string", + "description": "Specifies the host Managed Object ID to be used during the *GET /esx/software* operation\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of auth_type is *Esx.Hosts.Software.ConnectionSpec.AuthenticationType.EXISTING*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Hosts.Software.ConnectionSpec schema contains properties that describe the specification to be used for connecting to the host during the *GET /esx/software* operation\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.Software.ConnectionSpec.AuthenticationType": { + "type": "string", + "description": "The Esx.Hosts.Software.ConnectionSpec.AuthenticationType enumerated type defines the possible types of authentication supported when connecting to the host.\n\nPossible values:\n - `USERNAME_PASSWORD`: Connect to host using host's credentials HostCredentials schema.\n - `EXISTING`: Connect to the host using service ticket. Note: This is supported only for hosts present in the VC inventory.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "USERNAME_PASSWORD", + "EXISTING" + ] + }, + "Esx.Hosts.Software.Info": { + "required": [ + "notifications", + "software_info" + ], + "type": "object", + "properties": { + "notifications": { + "description": "Notifications returned by the get operation.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.Notifications" + } + ] + }, + "software_info": { + "description": "Host software information returned by the get operation.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Hosts.SoftwareInfo" + } + ] + } + }, + "description": "The Esx.Hosts.Software.Info schema contains properties that describe the current software information on a host.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Hosts.Software.InstalledComponents.InstalledComponentInfo": { + "required": [ + "display_name", + "display_version", + "version" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the installed component\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "platforms": { + "uniqueItems": true, + "type": "array", + "description": "Platforms the component belongs to. Example: host, vmdpu0, vmdpu1, ...\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Hosts.Software.InstalledComponents.InstalledComponentInfo schema contains properties that describe the installed component on the host.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Status": { + "type": "string", + "description": "The Esx.Settings.Status enumerated type defines the status result for a particular check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n", + "enum": [ + "OK", + "WARNING", + "TIMEOUT", + "ERROR", + "RETRY" + ] + }, + "Esx.Settings.ComplianceImpact": { + "type": "string", + "description": "The Esx.Settings.ComplianceImpact enumerated type contains information about the impact of applying the target state in case of non compliance.\n\nPossible values:\n - `NO_IMPACT`: Host has no impact.\n - `PARTIAL_MAINTENANCE_MODE_REQUIRED`: Host requires partial maintenance mode to reach this target state.\n - `MAINTENANCE_MODE_REQUIRED`: Host requires maintenance mode to reach this target state.\n - `REBOOT_REQUIRED`: Host requires reboot to reach this target state.\n - `UNKNOWN`: Impact is unknown.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NO_IMPACT", + "PARTIAL_MAINTENANCE_MODE_REQUIRED", + "MAINTENANCE_MODE_REQUIRED", + "REBOOT_REQUIRED", + "UNKNOWN" + ] + }, + "Esx.Settings.ComplianceStatus": { + "type": "string", + "description": "The Esx.Settings.ComplianceStatus enumerated type contains the possible different status of compliance with respect to target version.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "COMPLIANT", + "NON_COMPLIANT", + "INCOMPATIBLE", + "UNAVAILABLE" + ] + }, + "Esx.Settings.StageStatus": { + "type": "string", + "description": "The Esx.Settings.StageStatus enumerated type contains the possible different staged statuses with respect to target version. This is only relevant when the value of ComplianceStatus is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "STAGED", + "NOT_STAGED", + "UNKNOWN" + ] + }, + "Esx.Settings.HardwareModuleClass": { + "type": "string", + "description": "The Esx.Settings.HardwareModuleClass schema contains the module's source information.\n\nPossible values:\n - `SYSTEM_BIOS`: System BIOS\n - `PCI_DEVICE`: PCI device\n - `OTHER`: Other (non-PCI) hardware\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SYSTEM_BIOS", + "PCI_DEVICE", + "OTHER" + ] + }, + "Esx.Settings.ComponentSource": { + "type": "string", + "description": "The Esx.Settings.ComponentSource enumerated type contains the component's source information.\n\nPossible values:\n - `BASE_IMAGE`: Base image is the source for this component\n - `ADD_ON`: Addon is the source for this component\n - `USER`: User is the source for this component\n - `SOLUTION`: Solution is the source for this component\n - `HARDWARE_SUPPORT_PACKAGE`: Hardware Support Package (HSP) is the source for this component\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `USER_REMOVED`: This component was removed by the user\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "BASE_IMAGE", + "ADD_ON", + "USER", + "SOLUTION", + "HARDWARE_SUPPORT_PACKAGE", + "USER_REMOVED" + ] + }, + "Esx.Settings.ImageCustomizationAction": { + "type": "string", + "description": "The Esx.Settings.ImageCustomizationAction enumerated type contains the different possible types of image customization status. It will be set only when the desired image is customized by the user.\n\nPossible values:\n - `RETAINED`: The component is retained at an older version in the desired software specification.\n - `REMOVED`: The component is removed by the user in the desired software specification.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "RETAINED", + "REMOVED" + ] + }, + "Esx.Settings.ClusterCompliance": { + "required": [ + "compliant_hosts", + "host_info", + "hosts", + "impact", + "incompatible_hosts", + "non_compliant_hosts", + "notifications", + "scan_time", + "status", + "unavailable_hosts" + ], + "type": "object", + "properties": { + "impact": { + "type": "string", + "description": "Overall impact.\n\nPossible values:\n - `NO_IMPACT`: Host has no impact.\n - `PARTIAL_MAINTENANCE_MODE_REQUIRED`: Host requires partial maintenance mode to reach this target state.\n - `MAINTENANCE_MODE_REQUIRED`: Host requires maintenance mode to reach this target state.\n - `REBOOT_REQUIRED`: Host requires reboot to reach this target state.\n - `UNKNOWN`: Impact is unknown.\n\n\nFor more information see: *Esx.Settings.ComplianceImpact*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "status": { + "type": "string", + "description": "Overall compliance status of the cluster.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Overall stage status of the cluster. This is only relevant when the value of *Esx.Settings.ClusterCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "notifications": { + "description": "Notifications returned by the scan operation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "scan_time": { + "type": "string", + "description": "Scan completion time.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "commit": { + "type": "string", + "description": "Identifier of the commit on which the scan is run to generate this result.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if operation is performed on a draft.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "compliant_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of compliant hosts.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "non_compliant_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of non-compliant hosts.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "incompatible_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of incompatible hosts.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "unavailable_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of unavailable hosts. There will not be compliance details for these hosts in *Esx.Settings.ClusterCompliance.hosts*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "hosts": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostCompliance" + }, + "description": "Mapping from host identifier to the compliance information for the host.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Auxiliary information about the hosts. This gives some additional information about the hosts referenced in this result.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.ClusterCompliance schema contains properties to describe the compliance result of a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.ClusterLivePatchAction": { + "required": [ + "live_patch_mode" + ], + "type": "object", + "properties": { + "live_patch_mode": { + "type": "string", + "description": "Live Patch mode of the cluster.\n\nPossible values:\n - `DISABLE_LIVE_PATCH`: Disable Live Patch.\n - `AUTO_LIVE_PATCH`: Perform Live Patch when possible. Use full maintenance mode for hosts that cannot perform Live Patch.\n - `ENFORCE_LIVE_PATCH`: Enforce Live Patch. Disallow remediation if there is a host that cannot perform Live Patch.\n\n\nFor more information see: *Esx.Settings.ClusterLivePatchAction.LivePatchMode*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Esx.Settings.ClusterLivePatchAction schema contains properties that describe how Live Patch is performed.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.ClusterLivePatchAction.LivePatchMode": { + "type": "string", + "description": "The Esx.Settings.ClusterLivePatchAction.LivePatchMode enumerated type contains the possible Live Patch modes for remediating hosts.\n\nPossible values:\n - `DISABLE_LIVE_PATCH`: Disable Live Patch.\n - `AUTO_LIVE_PATCH`: Perform Live Patch when possible. Use full maintenance mode for hosts that cannot perform Live Patch.\n - `ENFORCE_LIVE_PATCH`: Enforce Live Patch. Disallow remediation if there is a host that cannot perform Live Patch.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "DISABLE_LIVE_PATCH", + "AUTO_LIVE_PATCH", + "ENFORCE_LIVE_PATCH" + ] + }, + "Esx.Settings.ClusterParallelRemediationAction": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable parallel remediation for hosts in maintenance mode within a cluster.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "max_hosts": { + "type": "integer", + "description": "Maximum number of hosts that can be remediated in parallel. Setting *Esx.Settings.ClusterParallelRemediationAction.max_hosts* does not guarantee maxHosts to be remediated in parallel.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, number of hosts that can be remediated in parallel would be set to maximum number of hosts supported per cluster.", + "format": "int64" + } + }, + "description": "The Esx.Settings.ClusterParallelRemediationAction schema contains properties that provide the settings to remediate multiple hosts of a cluster in parallel.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.ClusterSoftwarePolicySpec": { + "type": "object", + "properties": { + "enforce_hcl_validation": { + "type": "boolean", + "description": "Enforce HCL validation, when applicable, to prevent remediation if hardware compatibility issues are found.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, hardware compatibility issues will not prevent remediation." + }, + "parallel_remediation_action": { + "description": "Enable parallel remediation of hosts in maintenance mode. Set max hosts when applicable.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, parallel remediation will not happen.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ClusterParallelRemediationAction" + } + ] + }, + "live_patch_action": { + "description": "Live Patch action of the cluster.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, configured value would be unset. This field should not be set together with *Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.enforce_quick_patch*. When com.vmware.esx.settings.clusters.policies.Apply.ConfiguredPolicySpec.softwarePolicySpec.livePatchAction#livePatchMode is set to com.vmware.esx.settings.ClusterLivePatchAction.livePatchMode#ENFORCE_LIVE_PATCH, *Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.enforce_quick_patch* will be set to true automatically. For other values, *Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.enforce_quick_patch* will be set to false.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ClusterLivePatchAction" + } + ] + }, + "skip_reserved_vibs_caching": { + "type": "boolean", + "description": "Skip caching of reserved VIBs on the host. During effective VIB computation, a VIB at a lower version can get replaced by the same VIB at a higher version coming from another release unit. vLCM caches the lower version VIB in ESX-OSData partition to support extraction of currently running image from the hosts. Setting this option means (a) remediation will not cache reserved VIBs, (b) extracting the currently running image from such hosts will not include the reserved VIBs. Hence, the image will not be complete and that might lead to remediation failures. \n\nNOTE: Use this option with caution.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, reserved VIBs will be cached." + } + }, + "description": "This Esx.Settings.ClusterSoftwarePolicySpec schema contains properties that define the settings to manage the behaviour of the *POST /esx/settings/clusters/{cluster}/software?action=apply* API.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.ClusterSoftwarePolicySpecResetInfo": { + "required": [ + "from", + "to" + ], + "type": "object", + "properties": { + "from": { + "description": "The configured values of *Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.software_policy_spec*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ClusterSoftwarePolicySpec" + } + ] + }, + "to": { + "description": "The values of *Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.software_policy_spec* when the configured value is reset.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ClusterSoftwarePolicySpec" + } + ] + } + }, + "description": "This Esx.Settings.ClusterSoftwarePolicySpecResetInfo schema contains properties that describes the outcome when the settings that govern the *POST /esx/settings/clusters/{cluster}/software?action=apply* API behaviour are reset.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.ImageInfo": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the image. Valid display name will be set only when the host is mapped to an alternative image. Display name will be set to empty string when the host is mapped to the default image.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.ImageInfo schema contains properties to describe the details regarding an image in the desired state.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.OrchestratorSpec": { + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "Owner of the desired state. It can be the name of the owner as set by orchestrator. For example, for a software specification created by SDDC manager, it could be \"SDDC-M\".\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no owner is provided during commit." + }, + "owner_data": { + "type": "string", + "description": "Private data saved by (@link owner) regarding the software specification in the repository. This data is an opaque string to vLCM and can be up to 65,535 characters long. The orchestrator will use this field to store information for identifying this image in its own catalog.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no owner data is provided during commit." + } + }, + "description": "The Esx.Settings.OrchestratorSpec schema contains properties about the owner of a new desired state.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.OrchestratorInfo": { + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "Owner of the software specification in the repository or associated with the entity.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no owner is identified." + }, + "owner_data": { + "type": "string", + "description": "Private data saved by (@link owner) regarding the software specification in the repository or associated with the entity. It is opaque string to vLCM.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no owner data is provided by owner." + } + }, + "description": "The Esx.Settings.OrchestratorInfo schema contains properties about the owner of the software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.SoftwareSpecMetadata": { + "required": [ + "display_name", + "notifications", + "orchestrator_info", + "software_spec_id" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "software_spec_id": { + "type": "string", + "description": "ID of a software specification from the repository.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "orchestrator_info": { + "description": "Orchestrator information for the desired state of host or cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.OrchestratorInfo" + } + ] + }, + "notifications": { + "description": "Notifications for the software specification in the repository that is associated with the cluster or host. The owner and owner data are fetched from the desired state of the cluster or host.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.SoftwareSpecMetadata schema contains information about the software specification in the repository that is associated to the cluster or host.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.DataProcessingUnitInfo": { + "required": [ + "alias" + ], + "type": "object", + "properties": { + "alias": { + "type": "string", + "description": "Alias of the data processing unit. This property is used to identify the data processing unit on the host with a short hand representation, that can used by vSphere's components across the board. Example: UI. Each data processing unit will have unique alias on the host. Alias is persisted across the reboots and upgrades.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Esx.Settings.DataProcessingUnitInfo schema contains properties to describe some details regarding a data processing unit in the inventory.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.CheckDescription": { + "required": [ + "check", + "description", + "name" + ], + "type": "object", + "properties": { + "check": { + "type": "string", + "description": "The check identifier." + }, + "name": { + "description": "The check name.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "description": { + "description": "Human-readable check description.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.CheckDescription schema contains properties that describe a particular check." + }, + "Esx.Settings.CheckError": { + "required": [ + "description" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of what was the issue containing as much user-relevant context as possible. The user should be able to understand which sub-system failed and why.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "Possible resolution for the issue. This should contain actionable information that the user can use to resolve the issue.\n\nCan be left missing or `null` if no meaningful resolution exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.CheckError schema contains properties that describe an error reported by *Esx.Settings.CheckStatus*" + }, + "Esx.Settings.CheckStatus": { + "required": [ + "check", + "status" + ], + "type": "object", + "properties": { + "check": { + "description": "Information about this check.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.CheckDescription" + } + ] + }, + "status": { + "type": "string", + "description": "The status of this check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\n\nFor more information see: *Esx.Settings.Status*." + }, + "originator": { + "type": "string", + "description": "The service that performed the check. This field should allow easier triaging of health query errors.\n\nOnly set if there is an originator available for this check." + }, + "errors": { + "type": "array", + "description": "List of *Esx.Settings.CheckError* that the check reported.\n\nIf not set, the service is still using the {#member issues}. TODO", + "items": { + "$ref": "#/components/schemas/Esx.Settings.CheckError" + } + } + }, + "description": "The Esx.Settings.CheckStatus schema contains properties that describe a check result." + }, + "Esx.Settings.StatusInfo": { + "required": [ + "check_statuses", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated status from all checks performed on this entity.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\n\nFor more information see: *Esx.Settings.Status*." + }, + "check_statuses": { + "type": "array", + "description": "List of Esx.Settings.CheckStatus for all checks performed.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.CheckStatus" + } + } + }, + "description": "The Esx.Settings.StatusInfo schema contains properties that describe aggregated status of all checks performed on an entity." + }, + "Esx.Settings.BaseImageCompliance": { + "required": [ + "current", + "notifications", + "status", + "target" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the base image.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Stage status of the base image. This is only relevant when the value of *Esx.Settings.BaseImageCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "current": { + "description": "Current base image information on the host.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + ] + }, + "target": { + "description": "Target base image information present in the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + ] + }, + "notifications": { + "description": "Notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.BaseImageCompliance schema contains information that describe the compliance of ESX base image with respect to the base image present in the target software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.AddOnCompliance": { + "required": [ + "notifications", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the OEM add-on.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Stage status of the OEM add-on. This is only relevant when the value of *Esx.Settings.AddOnCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "current": { + "description": "Current OEM add-on present on the host.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if OEM add-on is not present on the host.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + ] + }, + "target": { + "description": "Target OEM add-on present in the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if OEM add-on is not present in the software specification.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + ] + }, + "notifications": { + "description": "Notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.AddOnCompliance schema contains information that describe the compliance of the OEM add-on with respect to the add-on present in the target software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.ComponentCompliance": { + "required": [ + "notifications", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the component.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Stage status of the component. This is only relevant when the value of *Esx.Settings.ComponentCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "current": { + "description": "Current version of the component present on the host.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if component is not present on the host.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + ] + }, + "target": { + "description": "Target version of the component present in the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if component is not present in the software specification.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + } + ] + }, + "current_source": { + "type": "string", + "description": "Source of the component on the host.\n\nPossible values:\n - `BASE_IMAGE`: Base image is the source for this component\n - `ADD_ON`: Addon is the source for this component\n - `USER`: User is the source for this component\n - `SOLUTION`: Solution is the source for this component\n - `HARDWARE_SUPPORT_PACKAGE`: Hardware Support Package (HSP) is the source for this component\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `USER_REMOVED`: This component was removed by the user\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nFor more information see: *Esx.Settings.ComponentSource*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if component is not present on the host." + }, + "target_source": { + "type": "string", + "description": "Source of the component in the software specification.\n\nPossible values:\n - `BASE_IMAGE`: Base image is the source for this component\n - `ADD_ON`: Addon is the source for this component\n - `USER`: User is the source for this component\n - `SOLUTION`: Solution is the source for this component\n - `HARDWARE_SUPPORT_PACKAGE`: Hardware Support Package (HSP) is the source for this component\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `USER_REMOVED`: This component was removed by the user\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nFor more information see: *Esx.Settings.ComponentSource*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if component is not present in the software specification." + }, + "notifications": { + "description": "Notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.ComponentCompliance schema contains information that describe the compliance of a component with respect to the component present in the target software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.SolutionCompliance": { + "required": [ + "notifications", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the solution.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Stage status of the solution. This is only relevant when the value of *Esx.Settings.SolutionCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "current": { + "description": "Current solution present on the host.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if the solution is not present on the host.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + } + ] + }, + "target": { + "description": "Target solution present in the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if solution is not present in the software specification.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + } + ] + }, + "notifications": { + "description": "Notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.SolutionCompliance schema contains information that describe the compliance result of a host with respect to given solution present in the target software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareModuleDetails": { + "required": [ + "component_class" + ], + "type": "object", + "properties": { + "component_class": { + "type": "string", + "description": "Class of module (BIOS, PCI Device, non-PCI hardware, etc.)\n\nPossible values:\n - `SYSTEM_BIOS`: System BIOS\n - `PCI_DEVICE`: PCI device\n - `OTHER`: Other (non-PCI) hardware\n\n\nFor more information see: *Esx.Settings.HardwareModuleClass*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "Descipription of the hardware module (e.g. \"System BIOS\" or \"Frobozz 100Gb NIC\").\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if description is not specified." + } + }, + "description": "The Esx.Settings.HardwareModuleDetails schema contains information that provide more details about the a hardware module (e.g. BIOS, PCI device).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareModuleFirmwareInfo": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the hardware module firmware.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.HardwareModuleFirmwareInfo schema contains information to describe the firmware on a hardware component or module (e.g. BIOS, PCI device).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareModuleFirmwareCompliance": { + "required": [ + "notifications", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the hardware module's firmware.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Stage status of the hardware module's firmware. This is only relevant when the value of *Esx.Settings.HardwareModuleFirmwareCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "details": { + "description": "Additional details about the hardware module itself\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if no further info was provided by HSM.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareModuleDetails" + } + ] + }, + "current": { + "description": "Current version of the firmware present on the host hardware module.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if version of firmware on the hardware module on the host cannot be determined.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareModuleFirmwareInfo" + } + ] + }, + "target": { + "description": "Target version of the firmware present in the Hardware Support Package (HSP).\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if component is not present in the software specification.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareModuleFirmwareInfo" + } + ] + }, + "notifications": { + "description": "Notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.HardwareModuleFirmwareCompliance schema contains information that describe the compliance of firmware of a particular hardware module (e.g. BIOS, PCI device) on the host with respect to the firmware present in the target Hardware Support Package (HSP) specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupportPackageCompliance": { + "required": [ + "hardware_modules", + "notifications", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the Hardware Support Package (HSP).\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Stage status of the Hardware Support Package (HSP). This is only relevant when the value of *Esx.Settings.HardwareSupportPackageCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "current": { + "description": "Current version of the Hardware Support Package present on the host.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if there is no known Hardware Support Package on the host.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportPackageInfo" + } + ] + }, + "target": { + "description": "Target version of the Hardware Support Package present in the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if current desired image includes a Hardware Support Manager (HSM) but no target Hardware Support Package (HSP).", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportPackageInfo" + } + ] + }, + "hardware_modules": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HardwareModuleFirmwareCompliance" + }, + "description": "Compliance result for individual hardware module on the host. The key is the module identifier and value is the HardwareModuleFirmwareCompliance for the device. NOTE: if no individual hardware module compliance is returned by the, Hardware Support Manager (HSM), this map may have no entries even if ComplianceStatus = NON_COMPLIANT\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.setting.hardware_module`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.setting.hardware_module`." + }, + "notifications": { + "description": "Notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.HardwareSupportPackageCompliance schema contains information that describe compliance of the Hardware Support Package (HSP) on the host with respect to the Hardware support Package (HSP) present in the target software image specification, if any.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DataProcessingUnitCompliance": { + "required": [ + "add_on", + "base_image", + "components", + "impact", + "notifications", + "scan_time", + "solutions", + "status" + ], + "type": "object", + "properties": { + "impact": { + "type": "string", + "description": "Overall compliance impact of the data processing unit.\n\nPossible values:\n - `NO_IMPACT`: Host has no impact.\n - `PARTIAL_MAINTENANCE_MODE_REQUIRED`: Host requires partial maintenance mode to reach this target state.\n - `MAINTENANCE_MODE_REQUIRED`: Host requires maintenance mode to reach this target state.\n - `REBOOT_REQUIRED`: Host requires reboot to reach this target state.\n - `UNKNOWN`: Impact is unknown.\n\n\nFor more information see: *Esx.Settings.ComplianceImpact*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "impact_details": { + "description": "Details about compliance impact.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ImpactDetails" + } + ] + }, + "status": { + "type": "string", + "description": "Overall compliance status of the data processing unit.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "stage_status": { + "type": "string", + "description": "Overall stage status of the data processing unit. This is only relevant when the value of *Esx.Settings.DataProcessingUnitCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "notifications": { + "description": "Notifications returned by the scan operation.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "scan_time": { + "type": "string", + "description": "Scan completion time.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "base_image": { + "description": "Compliance result for the base image.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageCompliance" + } + ] + }, + "add_on": { + "description": "Compliance result for the OEM add-on.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnCompliance" + } + ] + }, + "hardware_support": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportPackageCompliance" + }, + "description": "Compliance result for hardware support (both Hardware Support Package or HSP and individual hardware module firmware) for every HSP configured, keyed by Hardware Support Manager (HSM).\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` or contain an empty map if operation is performed on an image whose Esx.Settings.SoftwareSpec does not have a value for its hardwareSupport property. For initial release hardwareSupport property would be empty.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`." + }, + "components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentCompliance" + }, + "description": "Compliance result for all user components present on the data processing unit and in the software specification. The key is the component name and value is the ComponentCompliance object.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionCompliance" + }, + "description": "Compliance result for solutions. The key is the solution name and value is the SolutionCompliance.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "removed_components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentCompliance" + }, + "description": "Compliance result for all removed components present on the data processing unit and in the software specification. The key is the component name and value is the ComponentCompliance object.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + } + }, + "description": "The Esx.Settings.DataProcessingUnitCompliance schema contains information to describe the compliance result of a data processing unit with respect to the target software specification. Any change in Esx.Settings.DataProcessingUnitCompliance schema may need to be reflected in Esx.Settings.HostCompliance\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.DataProcessingUnitsCompliance": { + "required": [ + "compliance", + "compliant_data_processing_units", + "data_processing_unit_info", + "incompatible_data_processing_units", + "non_compliant_data_processing_units", + "unavailable_data_processing_units" + ], + "type": "object", + "properties": { + "compliant_data_processing_units": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of compliant data processing units.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.data_processing_unit`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.data_processing_unit`.", + "items": { + "type": "string" + } + }, + "non_compliant_data_processing_units": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of non-compliant data processing units.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.data_processing_unit`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.data_processing_unit`.", + "items": { + "type": "string" + } + }, + "incompatible_data_processing_units": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of incompatible data processing units.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.data_processing_unit`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.data_processing_unit`.", + "items": { + "type": "string" + } + }, + "unavailable_data_processing_units": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of unavailable data processing units. There will not be compliance details for these data processing units in #dataProcessingUnits.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.data_processing_unit`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.data_processing_unit`.", + "items": { + "type": "string" + } + }, + "compliance": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.DataProcessingUnitCompliance" + }, + "description": "Mapping from data processing unit identifier to the compliance information for the data processing units.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.data_processing_unit`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.data_processing_unit`." + }, + "data_processing_unit_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.DataProcessingUnitInfo" + }, + "description": "Auxiliary information about the data processing units. This gives some additional information about the data processing units referenced in this result.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.data_processing_unit`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.data_processing_unit`." + } + }, + "description": "The Esx.Settings.DataProcessingUnitsCompliance schema contains information to describe the compliance results of all data processing units with respect to the target software specification.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.RemediationAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "description": "This property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.RemediationAction schema contains information about an action to perform during remediation.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.RemediationDetails": { + "required": [ + "remediation_actions" + ], + "type": "object", + "properties": { + "remediation_actions": { + "type": "array", + "description": "Messages that describe the actions to perform during remediation.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.RemediationAction" + } + } + }, + "description": "The Esx.Settings.RemediationDetails schema contains details about remediation of the image.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.ImageDetails": { + "required": [ + "id", + "info" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Image. Valid identifier will be set only when the host is mapped to an alternative image. Identifier will be empty when the host is mapped to the default image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.image`." + }, + "info": { + "description": "Image information for the host.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ImageInfo" + } + ] + } + }, + "description": "The Esx.Settings.ImageDetails schema contains details about the image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.HostHardwareDetails": { + "required": [ + "family", + "host_uuid", + "model", + "oem_strings", + "vendor" + ], + "type": "object", + "properties": { + "host_uuid": { + "type": "string", + "description": "Host's uuid. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Host's vendor name. Maps to \"Manufacturer\" in SMBIOS: System Information (Type 1) and offset 04h\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "model": { + "type": "string", + "description": "Host's model name. Maps to \"Product Name\" in SMBIOS: System Information (Type 1) and offset 05h\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "family": { + "type": "string", + "description": "Host's family name. Maps to \"Family\" in SMBIOS: System Information (Type 1) and offset 1Ah\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "oem_strings": { + "uniqueItems": true, + "type": "array", + "description": "Host's OEM string. Maps to SMBIOS: OEM Strings (Type 11)\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.HostHardwareDetails schema contains properties to describe host's hardware details.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.HostCompliance": { + "required": [ + "add_on", + "base_image", + "components", + "impact", + "notifications", + "scan_time", + "solutions", + "status" + ], + "type": "object", + "properties": { + "impact": { + "type": "string", + "description": "Overall impact.\n\nPossible values:\n - `NO_IMPACT`: Host has no impact.\n - `PARTIAL_MAINTENANCE_MODE_REQUIRED`: Host requires partial maintenance mode to reach this target state.\n - `MAINTENANCE_MODE_REQUIRED`: Host requires maintenance mode to reach this target state.\n - `REBOOT_REQUIRED`: Host requires reboot to reach this target state.\n - `UNKNOWN`: Impact is unknown.\n\n\nFor more information see: *Esx.Settings.ComplianceImpact*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "status": { + "type": "string", + "description": "Overall compliance status of the host.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Overall stage status of the host. This is only relevant when the value of *Esx.Settings.HostCompliance.status* is *Esx.Settings.ComplianceStatus.NON_COMPLIANT*.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the staging status is unknown - the contents may or may not be staged. This can happen, for instance, if the stage check failed, has not been done yet, or the target uses an older interface that does not include support for returning the staged status." + }, + "notifications": { + "description": "Notifications returned by the scan operation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "scan_time": { + "type": "string", + "description": "Scan completion time.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "commit": { + "type": "string", + "description": "Identifier of the commit on which the scan is run to generate this result.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if operation is performed on a working copy document.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "base_image": { + "description": "Compliance result for the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageCompliance" + } + ] + }, + "add_on": { + "description": "Compliance result for the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnCompliance" + } + ] + }, + "hardware_support": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportPackageCompliance" + }, + "description": "Compliance result for hardware support (both Hardware Support Package or HSP and individual hardware module firmware) for every HSP configured, keyed by Hardware Support Manager (HSM).\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` or contain an empty map if operation is performed on an image whose Esx.Settings.SoftwareSpec does not have a value for its hardwareSupport property.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`." + }, + "components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentCompliance" + }, + "description": "Compliance result for all the effective components and all the components present on the host. The key is the component name and value is the ComponentCompliance.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionCompliance" + }, + "description": "Compliance result for solutions. The key is the solution name and value is the SolutionCompliance.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "removed_components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentCompliance" + }, + "description": "Compliance result for all removed components present on the host and in the software specification. The key is the component name and value is the ComponentCompliance object.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "impact_details": { + "description": "Details about compliance impact.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ImpactDetails" + } + ] + }, + "data_processing_units_compliance": { + "description": "Compliance results of all data processing units on the host.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` if host doesn't have any data processing units.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.DataProcessingUnitsCompliance" + } + ] + }, + "compliance_status_details": { + "description": "User-friendly notification to describe the compliance status in detail.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, the default compliance status message will be shown.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notification" + } + ] + }, + "remediation_details": { + "description": "Details about remediation actions, including a list of pending remediation actions.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nfor now, set only when Quick Patch is supported and the Quick Patch remediation policy is enforced.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.RemediationDetails" + } + ] + }, + "image": { + "description": "Details of the Image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nis missing or `null` when the host is part of a Single Image Cluster or the host is a standalone host.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ImageDetails" + } + ] + }, + "host_hardware_details": { + "description": "Details of the host's hardware.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostHardwareDetails" + } + ] + } + }, + "description": "The Esx.Settings.HostCompliance schema contains information to describe the compliance result of a host with respect to given target software specification. Any change in Esx.Settings.HostCompliance schema may need to be reflected in Esx.Settings.DataProcessingUnitCompliance\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.MemoryReservation": { + "required": [ + "permanent_reservation_increase", + "temporary_reservation" + ], + "type": "object", + "properties": { + "temporary_reservation": { + "type": "integer", + "description": "Temporary reservation needed to perform the remediation operation.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "int64" + }, + "permanent_reservation_increase": { + "type": "integer", + "description": "Increased reserverion needed to run services/daemons on the host.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "int64" + } + }, + "description": "The Esx.Settings.MemoryReservation schema contains information about memory reservation required under partial maintenance mode.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.OptionValue": { + "required": [ + "key" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The name of the option using dot notation to reflect the option's position in a hierarchy. For example, you might have an option called \"Ethernet\" and another option that is a child of that called \"Connection\". In this case, the key for the latter could be defined as \"Ethernet.Connection\"\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "value": { + "type": "string", + "description": "The value of the option.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if value is undefined." + } + }, + "description": "Describes the key/value pair of an option.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.ImpactDetails": { + "required": [ + "solution_impacts" + ], + "type": "object", + "properties": { + "memory_reservation": { + "description": "Memory reservation that accompany the partial maintenance mode. If missing or `null`, there is no elevated memory usage during and after the remediation.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.MemoryReservation" + } + ] + }, + "partial_maintenance_mode_name": { + "type": "string", + "description": "Flavor of the partial maintenance mode. If missing or `null`, partial maintenance mode doesn't apply.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "partial_maintenance_mode_upgrade_actions": { + "type": "array", + "description": "Upgrade actions to be performed before exiting partial maintenance mode. If missing or `null`, no upgrade action is needed before exiting maintenance mode.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "type": "string" + } + }, + "solution_impacts": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Partial or full maintenance mode required on host to reach the desired solution state. The key is affected solution name for solution-only remediation, and the value is maintenance mode string of vim.host.PartialMaintenanceModeId or \"fullMaintenanceMode\": for example: {\"com.vmware.vsphere-wcp\" : \"sphereletPartialMM\", \"com.vmware.vsphere-nsx\" : \"fullMaintenanceMode\"} If this string value is an unknown enum the behaviour defaults to full maintenance mode. The impact will have an value that is the same or more severe than the maintenance mode (e.g. a reboot) contained in this property.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "maintenance_actions": { + "type": "array", + "description": "Maintenance actions to be performed when entering the partial maintenance mode flavor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.OptionValue" + } + } + }, + "description": "The Esx.Settings.ImpactDetails schema contains information that provides more details about the compliance impact.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.HostInfo": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the host.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "is_vsan_witness": { + "type": "boolean", + "description": "Indicates if the host is associated with a cluster as a vSAN witness.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property is set only when the host is associated with a vSAN cluster as a witness." + } + }, + "description": "The Esx.Settings.HostInfo schema contains properties to describe some details regarding a host in the inventory.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HostSoftwarePolicySpec": { + "type": "object", + "properties": { + "skip_reserved_vibs_caching": { + "type": "boolean", + "description": "Skip caching of reserved VIBs on the host. During effective VIB computation, a VIB at a lower version can get replaced by the same VIB at a higher version coming from another release unit. vLCM caches the lower version VIB in ESX-OSData partition to support extraction of currently running image from the hosts. Setting this option means (a) remediation will not cache reserved VIBs, (b) extracting the currently running image from such hosts will not include the reserved VIBs. Hence, the image will not be complete and that might lead to remediation failures. \n\nNOTE: Use this option with caution.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, reserved VIBs will be cached." + } + }, + "description": "This Esx.Settings.HostSoftwarePolicySpec schema contains properties that define the settings to manage the behaviour of the *POST /esx/settings/hosts/{host}/software?action=apply* API.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.HostSoftwarePolicySpecResetInfo": { + "required": [ + "from", + "to" + ], + "type": "object", + "properties": { + "from": { + "description": "The configured values of *Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec.software_policy_spec*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostSoftwarePolicySpec" + } + ] + }, + "to": { + "description": "The values of *Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec.software_policy_spec* when the configured value is reset.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostSoftwarePolicySpec" + } + ] + } + }, + "description": "This Esx.Settings.HostSoftwarePolicySpecResetInfo schema contains properties that describes the outcome when the configured settings that govern the software behaviour in the *POST /esx/settings/hosts/{host}/software?action=apply* API are reset.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Notification": { + "required": [ + "id", + "message", + "time" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the notification.\n\nPossible values:\n - `INFO`\n - `WARNING`\n - `ERROR`\n\n\nFor more information see: *Esx.Settings.Notification.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "id": { + "type": "string", + "description": "The notification id.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "time": { + "type": "string", + "description": "The time the notification was raised/found.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "message": { + "description": "The notification message.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "The resolution message, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if there is a resolution available for this notification.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "originator": { + "type": "string", + "description": "The originator of the notification.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nOnly set if there is an originator available for this notification." + }, + "retriable": { + "type": "boolean", + "description": "Indicates whether the error is retriable.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nOnly set for the notification when a retriable error was reported by the task." + } + }, + "description": "The Esx.Settings.Notification schema contains properties to describe any info/warning/error messages that Tasks can raise.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Notification.Type": { + "type": "string", + "description": "The (@name Type} enumerated type contains the possible different types of notification.\n\nPossible values:\n - `INFO`\n - `WARNING`\n - `ERROR`\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Esx.Settings.Notifications": { + "type": "object", + "properties": { + "info": { + "type": "array", + "description": "Info notification messages reported.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if an info was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Notification" + } + }, + "warnings": { + "type": "array", + "description": "Warning notification messages reported.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if an warning was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Notification" + } + }, + "errors": { + "type": "array", + "description": "Error notification messages reported.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if an error was reported by the task.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Notification" + } + } + }, + "description": "The Esx.Settings.Notifications schema contains info/warning/error messages that can be reported by the task.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.ComponentOverrideInfo": { + "required": [ + "display_version", + "note", + "source", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the component override.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component override.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "source": { + "type": "string", + "description": "Source of the component override.\n\nPossible values:\n - `BASE_IMAGE`: Base image is the source for this component\n - `ADD_ON`: Addon is the source for this component\n - `USER`: User is the source for this component\n - `SOLUTION`: Solution is the source for this component\n - `HARDWARE_SUPPORT_PACKAGE`: Hardware Support Package (HSP) is the source for this component\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `USER_REMOVED`: This component was removed by the user\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nFor more information see: *Esx.Settings.ComponentSource*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "note": { + "description": "Note explaining the override.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.ComponentOverrideInfo schema contains fields that describe how the component was overridden.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.EffectiveComponentDetails": { + "required": [ + "display_name", + "display_version", + "overridden_components", + "source", + "vendor" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "source": { + "type": "string", + "description": "Final effective source of the component.\n\nPossible values:\n - `BASE_IMAGE`: Base image is the source for this component\n - `ADD_ON`: Addon is the source for this component\n - `USER`: User is the source for this component\n - `SOLUTION`: Solution is the source for this component\n - `HARDWARE_SUPPORT_PACKAGE`: Hardware Support Package (HSP) is the source for this component\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `USER_REMOVED`: This component was removed by the user\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nFor more information see: *Esx.Settings.ComponentSource*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "note": { + "description": "Note assosicated with this component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, note is present for this component.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "overridden_components": { + "type": "array", + "description": "List of other component versions present in base image, add-ons or solutions that this component is overriding. For example, if a component version-1 was implicitly present in the base image, but user wants it to be changed to version-2. In that case, *Esx.Settings.EffectiveComponentDetails.source* would be USER and there will be one entry in this list indicating base image component version-1 is being overridden.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.ComponentOverrideInfo" + } + }, + "removable": { + "type": "boolean", + "description": "Flag to indicate if the component can be removed by specifying its name in the removed components section of the software specification.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "image_customization_action": { + "type": "string", + "description": "Image customization status for the current component.\n\nPossible values:\n - `RETAINED`: The component is retained at an older version in the desired software specification.\n - `REMOVED`: The component is removed by the user in the desired software specification.\n\n\nFor more information see: *Esx.Settings.ImageCustomizationAction*.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` the component is not customized." + }, + "image_customization_description": { + "description": "Localized text describing the imageCustomizationAction.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` the component is not customized.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.EffectiveComponentDetails schema contains information that provide more details about the component from the depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.EffectiveComponentInfo": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the component. It will be empty if the component is removed.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "description": "Details about the effective component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if component is not present in the depot.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.EffectiveComponentDetails" + } + ] + } + }, + "description": "The Esx.Settings.EffectiveComponentInfo schema contains information that describe a component and how that component appeared in the software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.ComponentDetails": { + "required": [ + "display_name", + "vendor" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if no version is provided for the component." + } + }, + "description": "The Esx.Settings.ComponentDetails schema contains information that provide more details about the component from the depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.ComponentInfo": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if version is not specified or removed." + }, + "details": { + "description": "Details about the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if component is not present in the depot.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ComponentDetails" + } + ] + } + }, + "description": "The Esx.Settings.ComponentInfo schema contains information that describe a specific component version in a software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "nullable": true + }, + "Esx.Settings.SolutionComponentDetails": { + "required": [ + "component", + "display_name", + "vendor" + ], + "type": "object", + "properties": { + "component": { + "type": "string", + "description": "Identifier of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if no version is provided for the component." + }, + "vendor": { + "type": "string", + "description": "Vendor of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.SolutionComponentDetails schema contains information that provide more details about component registered by the solution from depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.SolutionDetails": { + "required": [ + "components", + "display_name", + "display_version" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the solution.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Display version of the solution.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "components": { + "type": "array", + "description": "Components registered by the solution. If the component is not present in the depot, then corresponding details are absent from the list.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.SolutionComponentDetails" + } + } + }, + "description": "The Esx.Settings.SolutionDetails schema contains information that provide more details about the solution from the depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.SolutionInfo": { + "required": [ + "components", + "version" + ], + "type": "object", + "properties": { + "details": { + "description": "Details about the solution from the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if solution is not present in the depot.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SolutionDetails" + } + ] + }, + "version": { + "type": "string", + "description": "Version of the solution.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "components": { + "type": "array", + "description": "Components registered by the solution.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.SolutionComponentSpec" + } + } + }, + "description": "The Esx.Settings.SolutionInfo schema contains information that describe solution registered in the software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.BaseImageDetails": { + "required": [ + "display_name", + "display_version", + "release_date" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "release_date": { + "type": "string", + "description": "Release date of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "quick_patch_compatible_versions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "For base images this base image can quick patch from, map their full versions to display versions.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` this base image does not support quick patch.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.base_image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.base_image`." + } + }, + "description": "The Esx.Settings.BaseImageDetails schema contains information that provide more details about the base image from the depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.BaseImageInfo": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "details": { + "description": "Details about the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if base image is not present in the depot.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageDetails" + } + ] + }, + "version": { + "type": "string", + "description": "Version of the base-image\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.BaseImageInfo schema contains information that describe a specific ESX base image.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.AddOnDetails": { + "required": [ + "display_name", + "display_version", + "vendor" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.AddOnDetails schema contains information that provide more details about the add-on from the depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.AddOnInfo": { + "required": [ + "name", + "version" + ], + "type": "object", + "properties": { + "details": { + "description": "Details about the add-on.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if add-on is not present in the depot.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnDetails" + } + ] + }, + "name": { + "type": "string", + "description": "Name of the add-on\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the add-on\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.AddOnInfo schema contains information that describe a specific OEM customization add-on.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupportPackageInfo": { + "required": [ + "pkg", + "version" + ], + "type": "object", + "properties": { + "pkg": { + "type": "string", + "description": "Identifier of Hardware Support Package (HSP) selected\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`." + }, + "version": { + "type": "string", + "description": "Version of the Hardware Support Package (HSP) selected (e.g. \"20180128.1\" or \"v42\")\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.HardwareSupportPackageInfo schema contains information to describe the desired Hardware Support Package (HSP) configured for a single device or distinct group of devices (typically the OEM's, including BIOS and device firmware).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupportInfo": { + "required": [ + "packages" + ], + "type": "object", + "properties": { + "packages": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportPackageInfo" + }, + "description": "Map of Hardware Support Packages (HSPs) for the cluster. The key is the Hardware Support Manager (HSM) identifier and the value is the specification detailing the HSP configured for that HSM.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`." + } + }, + "description": "The Esx.Settings.HardwareSupportInfo schema contains information to describe the desired Hardware Support Package (HSP) configured for a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HostHardwareInfo": { + "required": [ + "vendor" + ], + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Host's vendor name. Maps to \"Manufacturer\" in SMBIOS: System Information (Type 1) and offset 04h\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "models": { + "uniqueItems": true, + "type": "array", + "description": "Host's model name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, model name will not be used for image selection Maps to \"Product Name\" in SMBIOS: System Information (Type 1) and offset 05h", + "items": { + "type": "string" + } + }, + "families": { + "uniqueItems": true, + "type": "array", + "description": "Host's family name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, family name will not be used for image selection Maps to \"Family\" in SMBIOS: System Information (Type 1) and offset 1Ah", + "items": { + "type": "string" + } + }, + "oem_strings": { + "uniqueItems": true, + "type": "array", + "description": "Host's OEM string.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, oem string will not be used for image selection Maps to SMBIOS: OEM Strings (Type 11)", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.HostHardwareInfo schema contains properties to describe the host's hardware specifications like vendor, model, family and oem string.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.ImageSelectionInfo": { + "required": [ + "selection_type" + ], + "type": "object", + "properties": { + "selection_type": { + "type": "string", + "description": "Specifies what type of selection (SelectionType) is to be used for selecting an image for a host. HOST_UUID is intended to be used when an image needs to be selected for a host based on the host's uuid. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h HOST_HARDWARE_SPEC is intended to be used when an image needs to be selected for 1 or more hosts based on the host's hardware specifications like vendor, model, family and oem string.\n\nPossible values:\n - `HOST_UUID`: Select image using host's uuid.\n - `HOST_HARDWARE_SPEC`: Select image using host's hardware specification. Esx.Settings.HostHardwareInfo schema\n - `UNKNOWN`: SelectionType is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.ImageSelectionInfo.SelectionType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "host_uuids": { + "uniqueItems": true, + "type": "array", + "description": "Specifies the host's uuid for which an image needs to be selected. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Settings.ImageSelectionInfo.SelectionType.HOST_UUID*.", + "items": { + "type": "string" + } + }, + "host_hardware_spec": { + "description": "Specifies the host's hardware specification like vendor, model, family and oem string for which an image needs to be selected. \n\n Selection logic will be AND operation across the attributes and OR operation within an attribute \n\n Ex: For vendor = \"OEM 1\" model = [\"Model Gen9\", \"Model Gen10\"] family = [\"Family 1\", \"Family 2\"] oemString = [\"OEM String 1\", \"OEM String 2\"] \n\n Logic will be \"OEM 1\" AND (\"Model Gen9\" OR \"Model Gen10\") AND (\"Family 1\" OR \"Family 2\") AND (\"OEM String 1\" OR \"OEM String 2\")\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Settings.ImageSelectionInfo.SelectionType.HOST_HARDWARE_SPEC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostHardwareInfo" + } + ] + } + }, + "description": "The Esx.Settings.ImageSelectionInfo schema contains properties to describe the selection criteria used to select an image for 1 or more hosts\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.ImageSelectionInfo.SelectionType": { + "type": "string", + "description": "The Esx.Settings.ImageSelectionInfo.SelectionType schema contains properties that describe the selection type to be used for selecting an image for a host.\n\nPossible values:\n - `HOST_UUID`: Select image using host's uuid.\n - `HOST_HARDWARE_SPEC`: Select image using host's hardware specification. Esx.Settings.HostHardwareInfo schema\n - `UNKNOWN`: SelectionType is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HOST_UUID", + "HOST_HARDWARE_SPEC", + "UNKNOWN" + ] + }, + "Esx.Settings.AlternativeImageInfo": { + "required": [ + "base_image", + "components", + "display_name", + "selection_criteria", + "solutions" + ], + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + ] + }, + "add_on": { + "description": "OEM customization on top of given base image. The components in this customization override the components in the base base image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no OEM customization will be applied.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + ] + }, + "components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + }, + "description": "Information about the components in the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + }, + "description": "Information about the solutions in the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "hardware_support": { + "description": "Information about the Hardware Support Packages (HSP) configured.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no Hardware Support Package (HSP) is specified for the cluster.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportInfo" + } + ] + }, + "removed_components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + }, + "description": "Information about the components to be removed in the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no removed component is specified for the cluster.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the Alternative Image. Supported encoding is UTF-8.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "selection_criteria": { + "description": "Selection criteria used to select the alternative image for 1 or more hosts\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ImageSelectionInfo" + } + ] + } + }, + "description": "The Esx.Settings.AlternativeImageInfo schema contains properties that describes an alternative image for the desired software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.SoftwareInfo": { + "required": [ + "base_image", + "components", + "solutions" + ], + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageInfo" + } + ] + }, + "add_on": { + "description": "OEM customization on top of given base image. The components in this customization override the components in the base base image.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no OEM customization will be applied.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnInfo" + } + ] + }, + "components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + }, + "description": "Information about the components in the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionInfo" + }, + "description": "Information about the solutions in the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "hardware_support": { + "description": "Information about the Hardware Support Packages (HSP) configured.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no Hardware Support Package (HSP) is specified for the cluster.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportInfo" + } + ] + }, + "removed_components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ComponentInfo" + }, + "description": "Information about the components to be removed in the software specification.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "alternative_images": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.AlternativeImageInfo" + }, + "description": "Alternative Images apart from the Default Image\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no alternative image will be part of the software specification. Image ID supports only the following ASCII characters [a-z][A-Z][0-9][-] Case will be ignored when comparing identifiers \"IMAGE-1\" is equal to \"image-1\"\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + } + }, + "description": "The Esx.Settings.SoftwareInfo schema contains information that describes the desired software specification for an ESX host.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.SolutionComponentSpec": { + "required": [ + "component" + ], + "type": "object", + "properties": { + "component": { + "type": "string", + "description": "Identifier of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.component`." + } + }, + "description": "The Esx.Settings.SolutionComponentSpec schema contains properties that describe a component registered by a software solution.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.SolutionSpec": { + "required": [ + "components", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the solution.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "components": { + "type": "array", + "description": "Components registered by the solution.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.SolutionComponentSpec" + } + } + }, + "description": "The Esx.Settings.SolutionSpec schema contains properties that describe solution registered in the software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.BaseImageSpec": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the base-image\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.BaseImageSpec schema contains properties that describe a specific ESX base-image.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.AddOnSpec": { + "required": [ + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the add-on\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the add-on\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.AddOnSpec schema contains properties that describe a specific OEM customization add-on.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupportPackageSpec": { + "type": "object", + "properties": { + "pkg": { + "type": "string", + "description": "Hardware Support Package (HSP) selected\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`." + }, + "version": { + "type": "string", + "description": "Version of the Hardware Support Package (HSP) selected (e.g. \"20180128.1\" or \"v42\")\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the system will use an empty string as the version." + } + }, + "description": "The Esx.Settings.HardwareSupportPackageSpec schema contains properties to describe the desired Hardware Support Package (HSP) configured for a single device or distinct group of devices (typically the OEM's, including BIOS, device firmware and OEM-supplied driver or agent components).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupportSpec": { + "required": [ + "packages" + ], + "type": "object", + "properties": { + "packages": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportPackageSpec" + }, + "description": "Map of Hardware Support Packages (HSPs) for the cluster. The key is the Hardware Support Manager (HSM) name and the value is the specification detailing the HSP configured for that HSM.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`." + } + }, + "description": "The Esx.Settings.HardwareSupportSpec schema contains properties to describe the desired Hardware Support Package (HSP) configured for a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HostHardwareSpec": { + "required": [ + "vendor" + ], + "type": "object", + "properties": { + "vendor": { + "type": "string", + "description": "Host's vendor name. Maps to \"Manufacturer\" in SMBIOS: System Information (Type 1) and offset 04h\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "models": { + "uniqueItems": true, + "type": "array", + "description": "Host's model name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, model name will not be used for image selection Maps to \"Product Name\" in SMBIOS: System Information (Type 1) and offset 05h", + "items": { + "type": "string" + } + }, + "families": { + "uniqueItems": true, + "type": "array", + "description": "Host's family name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, family name will not be used for image selection Maps to \"Family\" in SMBIOS: System Information (Type 1) and offset 1Ah", + "items": { + "type": "string" + } + }, + "oem_strings": { + "uniqueItems": true, + "type": "array", + "description": "Host's OEM string.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, oem string will not be used for image selection Maps to SMBIOS: OEM Strings (Type 11)", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.HostHardwareSpec schema contains properties to describe the host's hardware specifications like vendor, model, family and oem string.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.ImageSelectionSpec": { + "required": [ + "selection_type" + ], + "type": "object", + "properties": { + "selection_type": { + "type": "string", + "description": "Specifies what type of selection (SelectionType) is to be used for selecting an image for a host. HOST_UUID is intended to be used when an image needs to be selected for a host based on the host's uuid. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h HOST_HARDWARE_SPEC is intended to be used when an image needs to be selected for 1 or more hosts based on the host's hardware specifications like vendor, model, family and oem string.\n\nPossible values:\n - `HOST_UUID`: Select image using host's uuid.\n - `HOST_HARDWARE_SPEC`: Select image using host's hardware specification. Esx.Settings.HostHardwareSpec schema\n - `UNKNOWN`: SelectionType is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.ImageSelectionSpec.SelectionType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "host_uuids": { + "uniqueItems": true, + "type": "array", + "description": "Specifies the host's uuid for which an image needs to be selected. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Settings.ImageSelectionSpec.SelectionType.HOST_UUID*.", + "items": { + "type": "string" + } + }, + "host_hardware_spec": { + "description": "Specifies the host's hardware specification like vendor, model, family and oem string for which an image needs to be selected. \n\n Selection logic will be AND operation across the attributes and OR operation within an attribute \n\n Ex: For vendor = \"OEM 1\" model = [\"Model Gen9\", \"Model Gen10\"] family = [\"Family 1\", \"Family 2\"] oemString = [\"OEM String 1\", \"OEM String 2\"] \n\n Logic will be \"OEM 1\" AND (\"Model Gen9\" OR \"Model Gen10\") AND (\"Family 1\" OR \"Family 2\") AND (\"OEM String 1\" OR \"OEM String 2\")\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Settings.ImageSelectionSpec.SelectionType.HOST_HARDWARE_SPEC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostHardwareSpec" + } + ] + } + }, + "description": "The Esx.Settings.ImageSelectionSpec schema contains properties to describe the selection criteria used to select an image for 1 or more hosts\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.ImageSelectionSpec.SelectionType": { + "type": "string", + "description": "The Esx.Settings.ImageSelectionSpec.SelectionType schema contains properties that describe the selection type to be used for selecting an image for a host.\n\nPossible values:\n - `HOST_UUID`: Select image using host's uuid.\n - `HOST_HARDWARE_SPEC`: Select image using host's hardware specification. Esx.Settings.HostHardwareSpec schema\n - `UNKNOWN`: SelectionType is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HOST_UUID", + "HOST_HARDWARE_SPEC", + "UNKNOWN" + ] + }, + "Esx.Settings.AlternativeImageSpec": { + "required": [ + "base_image", + "display_name", + "selection_criteria" + ], + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageSpec" + } + ] + }, + "add_on": { + "description": "OEM customization on top of given base-image. The components in this customization override the components in the base base-image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no OEM customization will be applied.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnSpec" + } + ] + }, + "components": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional components which should be part of the software specification. If value is not given for a particular component then version for that component will be picked from the constraints. These override the components present in *Esx.Settings.AlternativeImageSpec.add_on* and *Esx.Settings.AlternativeImageSpec.base_image*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no additional components will be installed.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionSpec" + }, + "description": "Mapping from solution identifier to the solution specification. The key is the solution name and the value is the specification detailing components registered by that solution.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no solutions will be part of the software specification.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "hardware_support": { + "description": "Information about the Hardware Support Package (HSP) configured in the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, no firmware compliance checking or remediation will be done.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportSpec" + } + ] + }, + "removed_components": { + "uniqueItems": true, + "type": "array", + "description": "Components to be removed from the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no component will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.component`.", + "items": { + "type": "string" + } + }, + "display_name": { + "type": "string", + "description": "Display name of the Alternative Image. Supported encoding is UTF-8.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "selection_criteria": { + "description": "Selection criteria used to select the alternative image for 1 or more hosts\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ImageSelectionSpec" + } + ] + } + }, + "description": "The Esx.Settings.AlternativeImageSpec schema contains properties that describes an alternative image for the desired software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.SoftwareSpec": { + "required": [ + "base_image" + ], + "type": "object", + "properties": { + "base_image": { + "description": "Base image of the ESX.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.BaseImageSpec" + } + ] + }, + "add_on": { + "description": "OEM customization on top of given base-image. The components in this customization override the components in the base base-image.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no OEM customization will be applied.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.AddOnSpec" + } + ] + }, + "components": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional components which should be part of the software specification. If value is not given for a particular component then version for that component will be picked from the constraints. These override the components present in *Esx.Settings.SoftwareSpec.add_on* and *Esx.Settings.SoftwareSpec.base_image*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no additional components will be installed.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionSpec" + }, + "description": "Mapping from solution identifier to the solution specification. The key is the solution name and the value is the specification detailing components registered by that solution.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no solutions will be part of the software specification.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "hardware_support": { + "description": "Information about the Hardware Support Package (HSP) configured in the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, no firmware compliance checking or remediation will be done.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupportSpec" + } + ] + }, + "removed_components": { + "uniqueItems": true, + "type": "array", + "description": "Components to be removed from the software specification.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` no component will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.component`.", + "items": { + "type": "string" + } + }, + "alternative_images": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.AlternativeImageSpec" + }, + "description": "Alternative Images apart from the Default Image\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no alternative image will be part of the software specification. Image ID supports only the following ASCII characters [a-z][A-Z][0-9][-] Case will be ignored when comparing identifiers \"IMAGE-1\" is equal to \"image-1\"\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + } + }, + "description": "The Esx.Settings.SoftwareSpec schema contains properties that describe desired software specification for an ESX host.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.TaskSummary": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the task.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + } + }, + "description": "The Esx.Settings.TaskSummary schema contains a brief summary about a task.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.TaskInfo": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "status" + ], + "type": "object", + "properties": { + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "subtasks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.TaskInfo" + }, + "description": "Information about the subtasks that this task contains.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if the task has no subtasks. This property will be missing or `null` if the task is a bulk operation. \n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "subtask_summaries": { + "type": "object", + "additionalProperties": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.TaskSummary" + } + }, + "description": "Summary about the subtasks for each entity if the current task is a bulk operation. The map is null or empty if the current task is not a bulk operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ManagedEntity`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ManagedEntity`." + }, + "notifications": { + "description": "Notifications to the user\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly set if the notifications were reported by this particular task.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "result": { + "description": "Task result.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if the task has no result." + }, + "last_update_time": { + "type": "string", + "description": "Time when the task was last updated\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "format": "date-time" + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Esx.Settings.TaskInfo schema contains information about a task and its subtasks of which it consists.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.SyncSpec": { + "type": "object", + "properties": { + "cleanup": { + "type": "boolean", + "description": "Whether to clean up all online depots before depot sync. When an online depot is cleaned up, all the data from this online depot, including the old content existing in vCenter but deprecated at the online depot, will be removed from disk, DB, and memory. \n\nDepot content not from online depots is untouched. \n\nDepot cleanup temporarily removes the online depot content which may be needed for image operations. Thus, it is suggested to avoid performing image operations that need online depot content when syncing depot with cleanup.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, will not perform depot cleanup." + } + }, + "description": "The Esx.Settings.Depots.SyncSpec schema defines the information used to sync online depots.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ExtractStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.ExtractStatus enumerated type describes possible states the extract operation can be, when invoked on a particular entity.\n\nPossible values:\n - `COMPLETED`: Describes the specified operation is completed successfully.\n - `FAILED`: Describes the specified operation failed during its execution.\n - `IN_PROGRESS`: Describes the specified operation is still in-progress.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "COMPLETED", + "FAILED", + "IN_PROGRESS" + ] + }, + "Esx.Settings.Inventory.TransitionStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.TransitionStatus enumerated type describes possible states the transition operation can be, when invoked on a particular entity.\n\nPossible values:\n - `COMPLETED`: Describes the specified operation is completed successfully.\n - `FAILED`: Describes the specified operation failed during its execution.\n - `IN_PROGRESS`: Describes the specified operation is still in-progress.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "COMPLETED", + "FAILED", + "IN_PROGRESS" + ] + }, + "Esx.Settings.Inventory.AssignEntitiesStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.AssignEntitiesStatus enumerated type describes possible states the assignment operation can be, when invoked on a particular entity.\n\nPossible values:\n - `COMPLETED`: Describes the specified operation is completed successfully.\n - `FAILED`: Describes the specified operation failed during its execution.\n - `IN_PROGRESS`: Describes the specified operation is still in-progress.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "COMPLETED", + "FAILED", + "IN_PROGRESS" + ] + }, + "Esx.Settings.Inventory.ApplyStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.ApplyStatus enumerated type contains the possible different status codes that can be returned while remediating the assign software specification on a cluster or a standalone host.\n\nPossible values:\n - `IN_PROGRESS`: The operation is in progress.\n - `COMPLETED`: The operation completed successfully.\n - `FAILED`: The operation encountered an unspecified error.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, + "Esx.Settings.Inventory.CheckStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.CheckStatus enumerated type contains the possible different status codes that can be returned while checking a provided or the assign software specification on a cluster or a standalone host.\n\nPossible values:\n - `IN_PROGRESS`: The operation is in progress.\n - `COMPLETED`: The operation completed successfully.\n - `FAILED`: The operation encountered an unspecified error.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, + "Esx.Settings.Inventory.ScanStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.ScanStatus enumerated type contains the possible different status codes that can be returned while scanning a cluster or a standalone host with a provided or the assign software specification.\n\nPossible values:\n - `IN_PROGRESS`: The operation is in progress.\n - `COMPLETED`: The operation completed successfully.\n - `FAILED`: The operation encountered an unspecified error.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, + "Esx.Settings.Inventory.StageStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.StageStatus enumerated type contains the possible different status codes that can be returned while staging the assign software specification on a cluster or a standalone host.\n\nPossible values:\n - `IN_PROGRESS`: The operation is in progress.\n - `COMPLETED`: The operation completed successfully.\n - `FAILED`: The operation encountered an unspecified error.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, + "Esx.Settings.Inventory.EntitySpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The property specifies what type of entity within the vCenter's inventory on which the operation will be executed.\n\nPossible values:\n - `HOST`: Type specifying standalone host within the vCenter's inventory.\n - `CLUSTER`: Type specifying cluster within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory.\n\n\nFor more information see: *Esx.Settings.Inventory.EntitySpec.InventoryType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "List of hosts on which the specified operation needs to be executed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.EntitySpec.InventoryType.HOST*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "List of clusters on which the specified operation needs to be executed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.EntitySpec.InventoryType.CLUSTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "folders": { + "uniqueItems": true, + "type": "array", + "description": "List of folders on which the specified operation will be executed. Internally each folder entity will be expanded to individual hosts and clusters which are underneath the designated folder. If the list contains the managed object ID of the root folder, the specified operation will be executed on all clusters and standalone hosts in the vCenter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.EntitySpec.InventoryType.FOLDER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "items": { + "type": "string" + } + }, + "datacenters": { + "uniqueItems": true, + "type": "array", + "description": "List of the data-centers on which the specified operation will be executed. Internally each data-center entity will be expanded to individual hosts and clusters which are underneath the designated data-center.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Inventory.EntitySpec.InventoryType.DATACENTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Inventory.EntitySpec schema contains properties that describe the inventory and its entities on whom operations like extract images, transition will be executed.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.EntitySpec.InventoryType": { + "type": "string", + "description": "The Esx.Settings.Inventory.EntitySpec.InventoryType enumerated type contains the possible type of entities belonging to vCenter's inventory on which the operation can be executed.\n\nPossible values:\n - `HOST`: Type specifying standalone host within the vCenter's inventory.\n - `CLUSTER`: Type specifying cluster within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HOST", + "CLUSTER", + "FOLDER", + "DATACENTER" + ] + }, + "Esx.Settings.Inventory.TransitionSpec": { + "required": [ + "entities" + ], + "type": "object", + "properties": { + "entities": { + "description": "Specification of entities on which the specified operation should be invoked. Currently only list of clusters and hosts are supported. Other entity types like datacenter, folder or VC are unsupported for now. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntitySpec" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.TransitionSpec contains properties that describes the specification such as the entities in transition operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ExtractInstalledImageSpec": { + "required": [ + "entities" + ], + "type": "object", + "properties": { + "entities": { + "description": "Specification of entities on which the specified operation should be invoked. Currently only list of clusters and hosts are supported. Other entity types like datacenter, folder or VC are unsupported for now. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntitySpec" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.ExtractInstalledImageSpec contains properties that describes the specification such as the entities in extract-installed-image operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.AssignEntitiesSpec": { + "required": [ + "entities", + "software_spec_id" + ], + "type": "object", + "properties": { + "software_spec_id": { + "type": "string", + "description": "The software spec in the repository that will be assigned to the list of entities.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "entities": { + "description": "Specification of entities on which the specified operation should be invoked.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntitySpec" + } + ] + }, + "orchestrator": { + "description": "Orchestrator specification of the desired state created during assign operation on the entities. It is used to ensure the authorized owner can make modification of desired state.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no orchestrator detail is provided during the assign operation. \n\nNote: \n\n1. It is used by vLCM orchestrators like SDDC Manager to manage the desired state. For a non-orchestrator user i.e. a VC user, it must be unset. \n\n2. Setting it prevents other users from modifying the committed desired state.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.OrchestratorSpec" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.AssignEntitiesSpec contains properties used to assign a software specification from the repository to a list of entities.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.UpdateVumCapabilitySpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.UpdateVumCapabilitySpec contains properties describing what VUM capabilities needs to be updated.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ImageExtractionResult": { + "required": [ + "notifications", + "status", + "uniform_image" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Describes the status of the specified operation invoked the entity.\n\nPossible values:\n - `COMPLETED`: Describes the specified operation is completed successfully.\n - `FAILED`: Describes the specified operation failed during its execution.\n - `IN_PROGRESS`: Describes the specified operation is still in-progress.\n\n\nFor more information see: *Esx.Settings.Inventory.ExtractStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "uniform_image": { + "type": "boolean", + "description": "Describes if the image present on the entity is uniform or not. In case of standalone host this property will always be true. In case of clusters, if all hosts within the cluster are running same image then this property will be set to `true` else `false`. In case of folders/datacenters, if all the standalone hosts and clusters within them are running the same image, then property will be set to `true` else `false`.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications raised during the execution of the specified operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.ImageExtractionResult schema contains properties that describes the status and brief details about the image extract operation invoked on an entity.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ExtractResult": { + "required": [ + "cluster_results", + "datacenter_results", + "folder_results", + "host_results" + ], + "type": "object", + "properties": { + "datacenter_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ImageExtractionResult" + }, + "description": "Map containing datacenter entities and their corresponding image details as specified in *Esx.Settings.Inventory.ImageExtractionResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Datacenter`." + }, + "folder_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ImageExtractionResult" + }, + "description": "Map containing folders and their corresponding image details as specified in *Esx.Settings.Inventory.ImageExtractionResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Folder`." + }, + "cluster_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ImageExtractionResult" + }, + "description": "Map containing cluster entities and their corresponding image details as specified in #ImageExtractionResult.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ImageExtractionResult" + }, + "description": "Map containing standalone host entities and their corresponding image details as specified in #ImageExtractionResult.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Inventory.ExtractResult schema contains *Esx.Settings.Inventory.ImageExtractionResult* details for all the entities specified in *Esx.Settings.Inventory.ExtractInstalledImageSpec*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.EntityTransitionResult": { + "required": [ + "notifications", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The Esx.Settings.Inventory.TransitionStatus describes the state of the transition operation invoked on the specified entity. Here the status describes the status of the operation as defined in #Status.\n\nPossible values:\n - `COMPLETED`: Describes the specified operation is completed successfully.\n - `FAILED`: Describes the specified operation failed during its execution.\n - `IN_PROGRESS`: Describes the specified operation is still in-progress.\n\n\nFor more information see: *Esx.Settings.Inventory.TransitionStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications raised during the execution of transition operation invoked on the specified entity.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.EntityTransitionResult schema contains information of entities specified in *Esx.Settings.Inventory.TransitionSpec* and the status of their transition operation invoked on them.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.TransitionResult": { + "required": [ + "cluster_results", + "datacenter_results", + "folder_results", + "host_results" + ], + "type": "object", + "properties": { + "datacenter_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntityTransitionResult" + }, + "description": "Map containing datacenter entities and their corresponding transition details as specified in *Esx.Settings.Inventory.EntityTransitionResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Datacenter`." + }, + "folder_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntityTransitionResult" + }, + "description": "Map containing folders and their corresponding transition details as specified in *Esx.Settings.Inventory.EntityTransitionResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Folder`." + }, + "cluster_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntityTransitionResult" + }, + "description": "Map containing cluster entities and their corresponding transition details as specified in *Esx.Settings.Inventory.EntityTransitionResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntityTransitionResult" + }, + "description": "Map containing standalone hosts and their corresponding transition details as specified in *Esx.Settings.Inventory.EntityTransitionResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Inventory.TransitionResult schema contains fields describing the entities specified in *Esx.Settings.Inventory.TransitionSpec* and their corresponding transition info as specified in *Esx.Settings.Inventory.EntityTransitionResult*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.AssignEntityResult": { + "required": [ + "notifications", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The Esx.Settings.Inventory.AssignEntitiesStatus describes the state of the assignment operation invoked on the specified entity.\n\nPossible values:\n - `COMPLETED`: Describes the specified operation is completed successfully.\n - `FAILED`: Describes the specified operation failed during its execution.\n - `IN_PROGRESS`: Describes the specified operation is still in-progress.\n\n\nFor more information see: *Esx.Settings.Inventory.AssignEntitiesStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications raised during the execution of assignment operation invoked on the specified entity.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.AssignEntityResult schema contains information of entities specified in *Esx.Settings.Inventory.AssignEntitiesSpec* and the status of their assignment operation invoked on them.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.AssignEntitiesResult": { + "required": [ + "cluster_results", + "datacenter_results", + "folder_results", + "host_results" + ], + "type": "object", + "properties": { + "datacenter_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.AssignEntityResult" + }, + "description": "Map containing datacenter entities and their corresponding assignment operation details as specified in *Esx.Settings.Inventory.AssignEntityResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Datacenter`." + }, + "folder_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.AssignEntityResult" + }, + "description": "Map containing folders and their corresponding assignment operation details as specified in *Esx.Settings.Inventory.AssignEntityResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Folder`." + }, + "cluster_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.AssignEntityResult" + }, + "description": "Map containing cluster entities and their corresponding assignment operation details as specified in *Esx.Settings.Inventory.AssignEntityResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.AssignEntityResult" + }, + "description": "Map containing standalone hosts and their corresponding assignment operation details as specified in *Esx.Settings.Inventory.AssignEntityResult*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Inventory.AssignEntitiesResult schema contains properties describing the entities specified in *Esx.Settings.Inventory.AssignEntitiesSpec* and their corresponding assignment operatopm info as specified in *Esx.Settings.Inventory.AssignEntityResult*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.UpdateVumCapabilityResult": { + "required": [ + "notifications", + "vum_operations_enabled" + ], + "type": "object", + "properties": { + "vum_operations_enabled": { + "type": "boolean", + "description": "Indicates if VUM operations are enabled (true) or blocked (false) on vCenter.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications raised during the execution of enabling VUM operation invoked on the vCenter.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.UpdateVumCapabilityResult schema contains information about whether VUM operations are enabled at the vCenter or not.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ApplyEntityResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation on this entity.\n\nPossible values:\n - `IN_PROGRESS`: The operation is in progress.\n - `COMPLETED`: The operation completed successfully.\n - `FAILED`: The operation encountered an unspecified error.\n\n\nFor more information see: *Esx.Settings.Inventory.ApplyStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications providing additional information for the operation on this entity.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, there is no notifications.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.ApplyEntityResult schema contains the operation status and notifications.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ApplyEntitiesResult": { + "required": [ + "cluster_results", + "datacenter_results", + "folder_results", + "host_results" + ], + "type": "object", + "properties": { + "datacenter_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ApplyEntityResult" + }, + "description": "Statuses on datacenters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Datacenter`." + }, + "folder_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ApplyEntityResult" + }, + "description": "Statuses on folders.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Folder`." + }, + "cluster_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ApplyEntityResult" + }, + "description": "Statuses on clusters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ApplyEntityResult" + }, + "description": "Statuses on hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Inventory.ApplyEntitiesResult schema contains the overall results of a com.vmware.esx.settings.repository.Inventory#apply operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ApplySpec": { + "required": [ + "entities" + ], + "type": "object", + "properties": { + "accept_eula": { + "type": "boolean", + "description": "\n\nAccept the VMware End User License Agreement (EULA) before starting the com.vmware.esx.settings.repository.Inventory#apply operation. \n\nThe VMware EULA is available for download at, https://www.vmware.com/download/eula.html\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the com.vmware.esx.settings.repository.Inventory#apply operation could fail due to the EULA not being accepted." + }, + "entities": { + "description": "The entities containing the hosts to be remediated.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntitySpec" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.ApplySpec schema contains properties that describe the specification to be used for applying the desired software specification to a group of inventories.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.CheckEntityResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation on this entity.\n\nPossible values:\n - `IN_PROGRESS`: The operation is in progress.\n - `COMPLETED`: The operation completed successfully.\n - `FAILED`: The operation encountered an unspecified error.\n\n\nFor more information see: *Esx.Settings.Inventory.CheckStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications providing additional information for the operation on this entity.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, there is no notifications.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.CheckEntityResult schema contains the operation status and notifications.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.CheckEntitiesResult": { + "required": [ + "cluster_results", + "datacenter_results", + "folder_results", + "host_results" + ], + "type": "object", + "properties": { + "datacenter_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.CheckEntityResult" + }, + "description": "Statuses on datacenters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Datacenter`." + }, + "folder_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.CheckEntityResult" + }, + "description": "Statuses on folders.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Folder`." + }, + "cluster_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.CheckEntityResult" + }, + "description": "Statuses on clusters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.CheckEntityResult" + }, + "description": "Statuses on hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Inventory.CheckEntitiesResult schema contains the overall results of a com.vmware.esx.settings.repository.Inventory#check operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.CheckSpec": { + "required": [ + "entities" + ], + "type": "object", + "properties": { + "software_spec": { + "type": "string", + "description": "The optional software specification identifier.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the assigned software specifications will be checked against.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "entities": { + "description": "The entities containing the hosts to be checked.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntitySpec" + } + ] + }, + "perspective": { + "type": "string", + "description": "Specifies the upgrade perspective to be used for performing checks. This field is mainly intended for VMware Cloud Foundation (VCF) environment. For VMware vSphere Foundation (VVF) environment, configuring this field is not required.\n\nPossible values:\n - `GENERAL_UPGRADE_READINESS`: Represents the initial readiness evaluation phase. This perspective checks whether the entity meets the required health criteria and passes all relevant eligibility checks to begin the upgrade process.\n - `UPGRADE_PLANNING`: Represents the planning phase. This perspective determines upgrade feasibility of the entity to a designated software release. Ensures that entity meets the required health criteria and passes all relevant eligibility checks to upgrade to the specific release.\n\n\nFor more information see: *Esx.Settings.Inventory.CheckSpec.Perspective*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nOnly set if specific VCF upgrade workflow perspective to be used to perform checks. If missing or `null` all the checks would be performed on entities." + } + }, + "description": "The Esx.Settings.Inventory.CheckSpec schema contains properties that describe the specification to be used for checking the desired software specification to a group of inventories.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.CheckSpec.Perspective": { + "type": "string", + "description": "The Esx.Settings.Inventory.CheckSpec.Perspective enumerated type defines the different stages or phases within the VCF (VMware Cloud Foundation) upgrade workflow. \n\n Each Perspective value corresponds to a specific stage of the upgrade process. Checks associated with a particular perspective evaluate whether an entity is prepared to advance to that stage. If any check fails, it signifies that the entity is not yet prepared to advance to the corresponding upgrade phase.\n\nPossible values:\n - `GENERAL_UPGRADE_READINESS`: Represents the initial readiness evaluation phase. This perspective checks whether the entity meets the required health criteria and passes all relevant eligibility checks to begin the upgrade process.\n - `UPGRADE_PLANNING`: Represents the planning phase. This perspective determines upgrade feasibility of the entity to a designated software release. Ensures that entity meets the required health criteria and passes all relevant eligibility checks to upgrade to the specific release.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "GENERAL_UPGRADE_READINESS", + "UPGRADE_PLANNING" + ] + }, + "Esx.Settings.Inventory.ScanEntityResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation on this entity.\n\nPossible values:\n - `IN_PROGRESS`: The operation is in progress.\n - `COMPLETED`: The operation completed successfully.\n - `FAILED`: The operation encountered an unspecified error.\n\n\nFor more information see: *Esx.Settings.Inventory.ScanStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications providing additional information for the operation on this entity.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, there is no notifications.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.ScanEntityResult schema contains the operation status and notifications.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ScanEntitiesResult": { + "required": [ + "cluster_results", + "datacenter_results", + "folder_results", + "host_results" + ], + "type": "object", + "properties": { + "datacenter_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ScanEntityResult" + }, + "description": "Statuses on datacenters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Datacenter`." + }, + "folder_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ScanEntityResult" + }, + "description": "Statuses on folders.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Folder`." + }, + "cluster_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ScanEntityResult" + }, + "description": "Statuses on clusters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.ScanEntityResult" + }, + "description": "Statuses on hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Inventory.ScanEntitiesResult schema contains the overall results of a com.vmware.esx.settings.repository.Inventory#scan operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.ScanSpec": { + "required": [ + "entities" + ], + "type": "object", + "properties": { + "software_spec": { + "type": "string", + "description": "The optional software specification identifier.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the assigned software specifications will be scanned against.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "entities": { + "description": "The entities containing the cluster and hosts to be scanned.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntitySpec" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.ScanSpec schema contains information that com.vmware.esx.settings.repository.Inventory#scan operation needs.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.StageEntityResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation on this entity.\n\nPossible values:\n - `IN_PROGRESS`: The operation is in progress.\n - `COMPLETED`: The operation completed successfully.\n - `FAILED`: The operation encountered an unspecified error.\n\n\nFor more information see: *Esx.Settings.Inventory.StageStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications providing additional information for the operation on this entity.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, there is no notifications.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.StageEntityResult schema contains the operation status and notifications.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.StageEntitiesResult": { + "required": [ + "cluster_results", + "datacenter_results", + "folder_results", + "host_results" + ], + "type": "object", + "properties": { + "datacenter_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.StageEntityResult" + }, + "description": "Statuses on datacenters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Datacenter`." + }, + "folder_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.StageEntityResult" + }, + "description": "Statuses on folders.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `Folder`." + }, + "cluster_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.StageEntityResult" + }, + "description": "Statuses on clusters.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host_results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.StageEntityResult" + }, + "description": "Statuses on hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Inventory.StageEntitiesResult schema contains the overall results of a com.vmware.esx.settings.repository.Inventory#stage operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.StageSpec": { + "required": [ + "entities" + ], + "type": "object", + "properties": { + "entities": { + "description": "The entities containing the hosts to be staged.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.EntitySpec" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.StageSpec schema contains properties that describe the specification to be used for staging the desired software specification to a group of inventories.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Configuration.ApplySpec": { + "type": "object", + "properties": { + "commit": { + "type": "string", + "description": "The minimum commit identifier of the desired configuration to be used during the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nif missing or `null` or empty the apply operation will use the latest commit to fetch the desired configuration.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "The specific hosts within the cluster to be considered during the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nif missing or `null` or empty the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation will remediate all hosts within the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "apply_policy_spec": { + "description": "The parameter can be used to override the default remediation policies for the task.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nif missing or `null` the default cluster remediation policies are used.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec" + } + ] + }, + "drift_reviews": { + "type": "array", + "description": "This field contains the drifts that need review from the user before apply.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DriftReview" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.ApplySpec schema contains properties that describe the specification to be used for applying the desired configuration to a cluster.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.ApplyResult": { + "required": [ + "commit", + "failed_hosts", + "host_info", + "host_status", + "skipped_hosts", + "software_commit", + "successful_hosts" + ], + "type": "object", + "properties": { + "status": { + "description": "Specifies the aggregated status of the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nmissing or `null` if the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation is in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.HostStatus" + } + ] + }, + "commit": { + "type": "string", + "description": "The identifier of the commit used to fetch the desired configuration document to be applied to all hosts within the cluster.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "software_commit": { + "type": "string", + "description": "The current commit ID for the software associated with the cluster.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Information of the hosts in this cluster to which the desired configuration document specified by the *Esx.Settings.Clusters.Configuration.ApplyResult.commit* should be applied to.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "host_status": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.HostStatus" + }, + "description": "Status of the hosts in this cluster to which the desired configuration specified by the *Esx.Settings.Clusters.Configuration.ApplyResult.commit* was applied to. Hosts on which the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation was successful are specified by *Esx.Settings.Clusters.Configuration.ApplyResult.successful_hosts*. Hosts on which the apply operation failed are specified by *Esx.Settings.Clusters.Configuration.ApplyResult.failed_hosts*. Hosts which were skipped by the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation are specified by *Esx.Settings.Clusters.Configuration.ApplyResult.skipped_hosts*.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "successful_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster to which the desired configuration specified by the *Esx.Settings.Clusters.Configuration.ApplyResult.commit* has been successfully applied to.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "failed_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster to which the desired configuration specified by the *Esx.Settings.Clusters.Configuration.ApplyResult.commit* failed to be applied.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "skipped_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster that were skipped by the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.ApplyResult schema contains properties that describe the result of an *POST /esx/settings/clusters/{cluster}/configuration?action=apply* operation.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.Metadata": { + "required": [ + "author", + "creation_time", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the commit.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "author": { + "type": "string", + "description": "Author of the configuration commit.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "creation_time": { + "type": "string", + "description": "Creation time of the configuration commit.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Metadata schema defines the metadata information about configuration commit.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.Info": { + "required": [ + "config", + "host_info", + "metadata" + ], + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the configuration commit.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Metadata" + } + ] + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "A mapping of BIOS UUIDs for every host in the cluster to information about that host. The host-specific/host-override sections of the configuration use BIOS UUIDs to identify hosts, so this information can be useful to get details about hosts mentioned there.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "config": { + "type": "string", + "description": "Configuration specification associated with the commit, encoded as JSON.\n\nThis property was added in __vSphere API 8.0.1.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Info schema defines the information about configuration commit.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.ImportSpec": { + "required": [ + "config" + ], + "type": "object", + "properties": { + "config": { + "type": "string", + "description": "The cluster configuration, encoded as JSON.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "description": { + "type": "string", + "description": "A description of this version of the configuration.\n\nThis property was added in __vSphere API 8.0.1.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.ImportSpec schema contains the desired configuration for a cluster and an optional short description of this version of the configuration.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.DepotOverrides.Info": { + "required": [ + "depots" + ], + "type": "object", + "properties": { + "depots": { + "type": "array", + "description": "List of the depot overrides.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.DepotOverrides.Depot" + } + } + }, + "description": "The Esx.Settings.Clusters.DepotOverrides.Info schema defines the information regarding depot overrides for a given cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.DepotOverrides.Depot": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Location of the depot override. This could be a location of zip file or location to an index.xml file.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + } + }, + "description": "The Esx.Settings.Clusters.DepotOverrides.Depot schema defines the information regarding a particular depot override for a given cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.InstalledImages.InstalledImage": { + "required": [ + "host_list", + "software_info" + ], + "type": "object", + "properties": { + "software_info": { + "description": "Software image installed on group of hosts\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "host_list": { + "uniqueItems": true, + "type": "array", + "description": "List of hosts having the same software image\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.InstalledImages.InstalledImage schema contains properties information about installed software image that is running on the group of hosts\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.Clusters.InstalledImages.ImageCategories": { + "required": [ + "is_highest_and_widely_used_image_equal" + ], + "type": "object", + "properties": { + "is_highest_and_widely_used_image_equal": { + "type": "boolean", + "description": "Boolean flag indicating if most widely used image and highest versioned image is same. If this flag is set, it means \u201cmostWidelyUsedImage\u201d and \u201chighestVersionImage\u201d of \u201cimageCategories\u201d will contain same software image as value otherwise it will contain different value.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` or empty means either there was an error fetching software specification of an ESXi host or the hosts in the cluster are ineligible to transition to vLCM." + }, + "most_widely_used_image": { + "description": "This image category contains the software image that is most prevalent among the hosts in the cluster.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` or empty means either there was an error fetching software specification of an ESXi host or the hosts in the cluster are ineligible to transition to vLCM.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.InstalledImages.InstalledImage" + } + ] + }, + "highest_versioned_image": { + "description": "This image category contains the software image which has highest ESXi version in the cluster.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` or empty means either there was an error fetching software specification of an ESXi host or the hosts in the cluster are ineligible to transition to vLCM.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.InstalledImages.InstalledImage" + } + ] + }, + "host_image_list": { + "type": "array", + "description": "This list will contain software image running on hosts in the cluster excluding \u201chighestVersionedImage\u201d and \u201cmostWidelyUsedImage\u201d\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` or empty means there is no ESXi hosts in the cluster running software specification which is different than the one specified by mostWidelyUsed or highestVersionedImage.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.InstalledImages.InstalledImage" + } + } + }, + "description": "The Esx.Settings.Clusters.InstalledImages.ImageCategories schema contains (@term fields) describing software image categorized on pre-defined criteria.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.Clusters.InstalledImages.InstalledImageInfo": { + "required": [ + "completion_time", + "failed_hosts", + "host_info", + "host_notifications", + "image_categories", + "notifications", + "orphaned_vibs", + "status", + "successful_hosts", + "uniform_image", + "unsupported_hosts" + ], + "type": "object", + "properties": { + "completion_time": { + "type": "string", + "description": "Timestamp describing the completion of generate candidate image operation\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "date-time" + }, + "uniform_image": { + "type": "boolean", + "description": "If this flag is set, it means all hosts in cluster are running the same software image. In this case, \u201cmostWidelyUsedImage\u201d and \u201chighestVersionImage\u201d of \u201cimageCategories\u201d will contain same software image as value and subsequently \u201cisHighestAndWidelyUsedImageEqual\u201d flag will also be set. If this flag is not set, then depending upon the software image running in hosts \u201cimageCategories\u201d fields will be filled.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "status": { + "type": "string", + "description": "Execution status of the task. If it's not SUCCESS then the *Esx.Settings.Clusters.InstalledImages.InstalledImageInfo.notifications* property of this schema can be inspected for more information.\n\nPossible values:\n - `UNAVAILABLE`: Indicates that the status of the task is unknown. This could be because the task failed before the eligibility check had the chance to run. Another reason could be if the cluster has no hosts or if every host in the cluster is running a base image version < 7.0.2.\n - `ELIGIBILITY_CHECK_FAILURE`: Indicates there was either an error during the execution of the eligibility check or the cluster is not eligible for vLCM management. In either case an error will be present in the #notifications field of the InstalledImageInfo schema.\n - `EXTRACT_INSTALLED_IMAGE_FAILURE`: Indicates there was an error during the execution of the extract installed images task. If this is the case an error will be present in the #notifications property of the InstalledImageInfo schema.\n - `SUCCESS`: Indicates the extract installed images task completed without error.\n\n\nFor more information see: *Esx.Settings.Clusters.InstalledImages.InstalledImageInfo.Status*.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "successful_hosts": { + "type": "array", + "description": "List of Hosts for which software image has extracted\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "failed_hosts": { + "type": "array", + "description": "List of hosts for which no software image has extracted\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "unsupported_hosts": { + "type": "array", + "description": "List of hosts that were skipped for extracting software image. Host will be skipped when software version is less than the supported version.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "image_categories": { + "description": "Various categories of software image running on hosts in the cluster\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.InstalledImages.ImageCategories" + } + ] + }, + "host_notifications": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + }, + "description": "Notifications stating any error or orphaned vibs etc on Hosts\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Information about the hosts in this cluster for which checks have been requested to be run.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "orphaned_vibs": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Information about the orphaned vibs available on the hosts underlying cluster. Here Key is the orphaned vibs and value is the list of hosts where these orphaned vibs have installed. orphaned vibs formats are orphaned vibs name(version).\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the value in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the value in the property map will be an identifier for the resource type: `HostSystem`." + }, + "notifications": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + }, + "description": "Various notifications received and segregated based on operation type while generating the report. If the task's status is ELIGIBILITY_CHECK_FAILURE then the notifications corresponding to the ELIGIBILITY_CHECK key can be inspected for more information. For any other task status the notifications corresponding to the EXTRACT_INSTALLED_IMAGE key can be inspected.\n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "The Esx.Settings.Clusters.InstalledImages.InstalledImageInfo schema contains properties describing software image running on hosts underneath the cluster and its relevant metadata.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.Clusters.InstalledImages.InstalledImageInfo.OperationType": { + "type": "string", + "description": "The Esx.Settings.Clusters.InstalledImages.InstalledImageInfo.OperationType enumerated type will be used to distinguish and categorize the notifications generated by various operations\n\nPossible values:\n - `ELIGIBILITY_CHECK`: Performs enablement check. This check the possibilities whether a cluster can be managed with single software image\n - `EXTRACT_INSTALLED_IMAGE`: Extract Installed image from all the hosts in the cluster. It will check for any unsupported hosts, failed hosts, host having orphaned vibs etc.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "ELIGIBILITY_CHECK", + "EXTRACT_INSTALLED_IMAGE" + ] + }, + "Esx.Settings.Clusters.InstalledImages.InstalledImageInfo.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.InstalledImages.InstalledImageInfo.Status enumerated type is used to convey the status of the extract installed images task. For example, whether it was successful or whether some issue occurred during its execution.\n\nPossible values:\n - `UNAVAILABLE`: Indicates that the status of the task is unknown. This could be because the task failed before the eligibility check had the chance to run. Another reason could be if the cluster has no hosts or if every host in the cluster is running a base image version < 7.0.2.\n - `ELIGIBILITY_CHECK_FAILURE`: Indicates there was either an error during the execution of the eligibility check or the cluster is not eligible for vLCM management. In either case an error will be present in the #notifications field of the InstalledImageInfo schema.\n - `EXTRACT_INSTALLED_IMAGE_FAILURE`: Indicates there was an error during the execution of the extract installed images task. If this is the case an error will be present in the #notifications property of the InstalledImageInfo schema.\n - `SUCCESS`: Indicates the extract installed images task completed without error.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "UNAVAILABLE", + "ELIGIBILITY_CHECK_FAILURE", + "EXTRACT_INSTALLED_IMAGE_FAILURE", + "SUCCESS" + ] + }, + "Esx.Settings.Clusters.Software.ExportType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.ExportType enumerated type defines the formats in which software specification document or image can be exported.\n\nPossible values:\n - `SOFTWARE_SPEC`: Export software specification document.\n - `ISO_IMAGE`: Export ISO image.\n - `OFFLINE_BUNDLE`: Export offline bundle.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SOFTWARE_SPEC", + "ISO_IMAGE", + "OFFLINE_BUNDLE" + ] + }, + "Esx.Settings.Clusters.Software.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Status enumerated type defines the status result for a particular check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "OK", + "WARNING", + "TIMEOUT", + "ERROR", + "RETRY" + ] + }, + "Esx.Settings.Clusters.Software.ExportSpec": { + "required": [ + "export_iso_image", + "export_offline_bundle", + "export_software_spec" + ], + "type": "object", + "properties": { + "export_software_spec": { + "type": "boolean", + "description": "Whether to export software specification document.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "export_iso_image": { + "type": "boolean", + "description": "Whether to export ISO image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "export_offline_bundle": { + "type": "boolean", + "description": "Whether to export offline bundle.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "export_only_default_image": { + "type": "boolean", + "description": "Whether to export only default image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "skip_reserved_vibs_export": { + "type": "boolean", + "description": "Skip packaging of reserved VIBs in the exported offline-bundle/ISO. During effective VIB computation, a VIB at a lower version can get replaced by the same VIB at a higher version coming from another release unit. vLCM caches the lower version VIB in ESX-OSData partition to support extraction of currently running image from the hosts. Setting this option means (a) export will not package reserved VIBs, (b) the exported depot will be partial and remediation of images from such depots must be accompanied with com.vmware.esx.settings.clusters.policies.Apply.ConfiguredPolicySpec#skipReservedVibsCaching. Otherwise, the remediation might fail. \n\nNOTE: Use this option with caution.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, reserved VIBs will be packaged." + } + }, + "description": "The Esx.Settings.Clusters.Software.ExportSpec schema contains information describing how a software specification or image should be exported.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.StageSpec": { + "type": "object", + "properties": { + "commit": { + "type": "string", + "description": "The minimum commit identifier of the desired software document to be used during the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` or empty the stage operation will use the latest commit to fetch the desired state document.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "The specific hosts within the cluster to be considered during the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` or empty the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation will stage all hosts within the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.StageSpec schema contains properties that describe the specification to be used for staging the desired software document to a cluster.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Clusters.Software.ApplySpec": { + "type": "object", + "properties": { + "commit": { + "type": "string", + "description": "The minimum commit identifier of the desired software document to be used during the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty the apply operation will use the latest commit to fetch the desired state document.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "The specific hosts within the cluster to be considered during the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation will remediate all hosts within the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "accept_eula": { + "type": "boolean", + "description": "Accept the VMware End User License Agreement (EULA) before starting the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation. \n\n The VMware EULA is available for download at, https://www.vmware.com/download/eula.html\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation could fail due to the EULA not being accepted." + } + }, + "description": "The Esx.Settings.Clusters.Software.ApplySpec schema contains properties that describe the specification to be used for applying the desired software document to a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.StageStatus": { + "required": [ + "end_time", + "notifications", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.StageStatus.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` for cluster StageStatus", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications providing additional information about the status of the operation.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.StageStatus schema contains properties that describe the status of a *POST /esx/settings/clusters/{cluster}/software?action=stage* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Clusters.Software.StageStatus.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.StageStatus.Status enumerated type contains the possible different status codes that can be returned while trying to *POST /esx/settings/clusters/{cluster}/software?action=stage* the desired software specification to hosts within the cluster.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "RUNNING", + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR", + "RETRY_PENDING" + ] + }, + "Esx.Settings.Clusters.Software.ApplyStatus": { + "required": [ + "end_time", + "notifications", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\nThis constant was added in __vSphere API 7.0.2.1__.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.ApplyStatus.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nmissing or `null` for cluster ApplyStatus", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications providing additional information about the status of the operation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.ApplyStatus schema contains properties that describe the status of an *POST /esx/settings/clusters/{cluster}/software?action=apply* operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.ApplyStatus.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.ApplyStatus.Status enumerated type contains the possible different status codes that can be returned while trying to *POST /esx/settings/clusters/{cluster}/software?action=apply* the desired software specification to hosts within the cluster.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\nThis constant was added in __vSphere API 7.0.2.1__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "RUNNING", + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR", + "RETRY_PENDING" + ] + }, + "Esx.Settings.Clusters.Software.StageResult": { + "required": [ + "commit", + "failed_hosts", + "host_info", + "host_status", + "skipped_hosts", + "successful_hosts" + ], + "type": "object", + "properties": { + "status": { + "description": "Specifies the aggregated status of the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` if the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation is in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.StageStatus" + } + ] + }, + "commit": { + "type": "string", + "description": "The identifier of the commit used to fetch the desired software document to be staged to all hosts within the cluster.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Information of the hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.StageResult.commit* should be staged to.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "host_status": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.StageStatus" + }, + "description": "Status of the hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.StageResult.commit* was staged to. Hosts on which the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation was successful are specified by *Esx.Settings.Clusters.Software.StageResult.successful_hosts*. Hosts on which the stage operation failed are specified by *Esx.Settings.Clusters.Software.StageResult.failed_hosts*. Hosts which were skipped by the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation are specified by *Esx.Settings.Clusters.Software.StageResult.skipped_hosts*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "successful_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.StageResult.commit* has been successfully staged to.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "failed_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.StageResult.commit* failed to be staged to.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "skipped_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster that were skipped by the *POST /esx/settings/clusters/{cluster}/software?action=stage* operation. For example hosts which are compliant, or are previously staged shall be skipped.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "notifications": { + "description": "Notifications providing additional information for *POST /esx/settings/clusters/{cluster}/software?action=stage* operation. These notifications are mutually exclusive with the notifications in Esx.Settings.Clusters.Software.StageStatus.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` if there are no notifications", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.StageResult schema contains properties that describe the result of a *POST /esx/settings/clusters/{cluster}/software?action=stage* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Clusters.Software.ApplyResult": { + "required": [ + "commit", + "failed_hosts", + "host_info", + "host_status", + "skipped_hosts", + "successful_hosts" + ], + "type": "object", + "properties": { + "status": { + "description": "Specifies the aggregated status of the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation is in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.ApplyStatus" + } + ] + }, + "commit": { + "type": "string", + "description": "The identifier of the commit used to fetch the desired software document to be applied to all hosts within the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Information of the hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.ApplyResult.commit* should be applied to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "host_status": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.ApplyStatus" + }, + "description": "Status of the hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.ApplyResult.commit* was applied to. Hosts on which the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation was successful are specified by *Esx.Settings.Clusters.Software.ApplyResult.successful_hosts*. Hosts on which the apply operation failed are specified by *Esx.Settings.Clusters.Software.ApplyResult.failed_hosts*. Hosts which were skipped by the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation are specified by *Esx.Settings.Clusters.Software.ApplyResult.skipped_hosts*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "successful_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.ApplyResult.commit* has been successfully applied to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "failed_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.ApplyResult.commit* failed to be applied to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "skipped_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster that were skipped by the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "notifications": { + "description": "Notifications providing additional information for *POST /esx/settings/clusters/{cluster}/software?action=apply* operation. These notifications are mutually exclusive with the notifications in Esx.Settings.Clusters.Software.ApplyStatus.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.ApplyResult schema contains properties that describe the result of an *POST /esx/settings/clusters/{cluster}/software?action=apply* operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.CheckSpec": { + "type": "object", + "properties": { + "commit": { + "type": "string", + "description": "The minimum commit identifier of the desired software document to be used during the check operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty the check operation will use the latest commit to fetch the desired state document.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "The specific hosts for which checks need to be performed\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty checks are run for all hosts within the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.CheckSpec schema contains properties that describe the specification to be used for running checks on the cluster before the *POST /esx/settings/clusters/{cluster}/software?action=apply* operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.CheckInfo": { + "required": [ + "check", + "description", + "name" + ], + "type": "object", + "properties": { + "check": { + "type": "string", + "description": "The check identifier.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "name": { + "description": "The check name.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "description": { + "description": "Human-readable check description.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "originator": { + "type": "string", + "description": "The service that performed the check.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nOnly set if there is an originator available for this check." + } + }, + "description": "The Esx.Settings.Clusters.Software.CheckInfo schema contains properties that describe a particular check.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.CheckIssue": { + "required": [ + "description" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the issue encountered.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "Possible resolution for the issue.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nCan be left missing or `null` if no meaningful resolution exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.CheckIssue schema contains properties that describe a particular check issue.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Settings.Clusters.Software.CheckStatus": { + "required": [ + "check", + "issues", + "status" + ], + "type": "object", + "properties": { + "check": { + "description": "Information about this check.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.CheckInfo" + } + ] + }, + "status": { + "type": "string", + "description": "The status of this check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "issues": { + "type": "array", + "description": "The issues encountered while running this check.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "check_issues": { + "type": "array", + "description": "List of *Esx.Settings.Clusters.Software.CheckIssue*s that the check reported.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf not set, the service is still using the {#member issues}.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.CheckIssue" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.CheckStatus schema contains properties that describe a check result.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.EntityCheckResult": { + "required": [ + "check_statuses", + "status", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The entity type for which these checks are being run.\n\nPossible values:\n - `CLUSTER`: Entity type Cluster\n - `HOST`: Entity type Host\n\n\nFor more information see: *Esx.Settings.Clusters.Software.EntityCheckResult.EntityType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "cluster": { + "type": "string", + "description": "If the entity type is CLUSTER then the cluster identifier for which the checks have been run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Software.EntityCheckResult.EntityType.CLUSTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host": { + "type": "string", + "description": "If the entity type is HOST then the host identifier for which the checks have been run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Software.EntityCheckResult.EntityType.HOST*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "status": { + "type": "string", + "description": "Aggregated status from all checks performed on this entity.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "check_statuses": { + "type": "array", + "description": "List of Esx.Settings.Clusters.Software.CheckStatus for all checks performed.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.CheckStatus" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.EntityCheckResult schema contains properties that describe aggregated status of all checks performed on a specific entity.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.EntityCheckResult.EntityType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.EntityCheckResult.EntityType enumerated type contains the entities on which checks can be performed.\n\nPossible values:\n - `CLUSTER`: Entity type Cluster\n - `HOST`: Entity type Host\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "CLUSTER", + "HOST" + ] + }, + "Esx.Settings.Clusters.Software.CheckResult": { + "required": [ + "commit", + "end_time", + "entity_results", + "host_info", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated status from all checks performed.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "commit": { + "type": "string", + "description": "The identifier of the commit on which checks have been run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Information about the hosts in this cluster for which checks have been requested to be run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "entity_results": { + "type": "array", + "description": "List of Esx.Settings.Clusters.Software.EntityCheckResult for all entities for which checks have been run.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.EntityCheckResult" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.CheckResult schema contains properties that describe aggregated status of all checks performed.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Info": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Info schema contains information about the display name of a software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Configuration.DocumentStructure": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.DocumentStructure enumerated type contains the possible structures of the configuration document.\n\nPossible values:\n - `HOST_ORIENTED`: The host-specific portions of the document are stored in the \"host-specific\" object at the top-level with entries for each host, organized by the host's BIOS UUID.\n - `PROFILE_ORIENTED`: The host-specific portions of the document are distributed through the \"profile\" object hierarchy. Each property that is host-specific will be an object with entries for each host where the property is defined. The hosts in the object are organized by BIOS UUID.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "HOST_ORIENTED", + "PROFILE_ORIENTED" + ] + }, + "Esx.Settings.Clusters.Configuration.ComplianceStatus": { + "type": "string", + "description": "This Esx.Settings.Clusters.Configuration.ComplianceStatus enumerated type represents the compliance status of desired configuration on the ESXi host.\n\nPossible values:\n - `COMPLIANT`: ESXi host is in compliance with Desired configuration.\n - `NON_COMPLIANT`: ESXi host is not in compliance with Desired configuration.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "COMPLIANT", + "NON_COMPLIANT" + ] + }, + "Esx.Settings.Clusters.Configuration.ImpactType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.ImpactType enumerated type contains information about the impact of applying desired configuration on the ESXi host.\n\nPossible values:\n - `NO_IMPACT`: Host has no impact.\n - `MAINTENANCE_MODE_REQUIRED`: Host requires maintenance mode to reach the desired state.\n - `REBOOT_REQUIRED`: Host requires reboot to reach the desired state.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "NO_IMPACT", + "MAINTENANCE_MODE_REQUIRED", + "REBOOT_REQUIRED" + ] + }, + "Esx.Settings.Clusters.Configuration.CompositeId": { + "type": "object", + "properties": { + "identifiers": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of identifiers as specified in schema. keys are the property names and values are expected values for the property to define a matching configuration instance.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.CompositeId (@term Structure} contains information to identify a non-singleton configuration instance.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.HostStatus": { + "required": [ + "end_time", + "notifications", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation.\n\nPossible values:\n - `OK`: The operation completed successfully.\n - `PENDING`: The operation is pending.\n - `RUNNING`: The operation is in progress.\n - `RETRY_PENDING`: The operation is pending a retry.\n - `SKIPPED`: The operation was skipped.\n - `CANCELED`: The operation was canceled.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.HostStatus.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "attempts": { + "type": "integer", + "description": "Number of the performed attempts of the operation.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` if it is not applicable.", + "format": "int64" + }, + "remaining_retries": { + "type": "integer", + "description": "Number of the remaining attempts of the operation.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` if it is not applicable.", + "format": "int64" + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications providing additional information about the status of the operation.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Configuration.HostStatus schema contains properties that describe the status of an operation.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.HostStatus.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.HostStatus.Status enumerated type contains the possible different status codes that can be returned while trying to perform an operation on the hosts within the cluster.\n\nPossible values:\n - `OK`: The operation completed successfully.\n - `PENDING`: The operation is pending.\n - `RUNNING`: The operation is in progress.\n - `RETRY_PENDING`: The operation is pending a retry.\n - `SKIPPED`: The operation was skipped.\n - `CANCELED`: The operation was canceled.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "OK", + "PENDING", + "RUNNING", + "RETRY_PENDING", + "SKIPPED", + "CANCELED", + "TIMED_OUT", + "ERROR" + ] + }, + "Esx.Settings.Clusters.Configuration.SettingCompliance": { + "required": [ + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Full path to the setting within the desired document.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "display_path": { + "type": "array", + "description": "A list of the display names for components of the value provided by *Esx.Settings.Clusters.Configuration.SettingCompliance.path* property.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is missing or `null` if the display names cannot be computed.", + "items": { + "type": "string" + } + }, + "current": { + "type": "string", + "description": "Value of setting on the ESXi host.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` if there is no host value to report." + }, + "target": { + "type": "string", + "description": "Value of setting in the desired document.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` if there is no value in the desired document to report." + }, + "type": { + "type": "string", + "description": "The data type of the property in document pointed by {#path}.\n\nPossible values:\n - `PRIMITIVE`: The property in drift is of primitive data type.\n - `OBJECT`: The property in drift is of type object.\n - `ARRAY_OF_OBJECTS`: The property in drift is of array of object data type.\n - `REFERENCE`: The drift is in reference configuration.\n - `ARRAY_OF_PRIMITIVES`: The property in drift is of array of primitive data type.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.SettingCompliance.Type*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is missing or `null` if the data type of the property is not available in the drift provided by the ESXi host." + }, + "reference_current": { + "type": "string", + "description": "Value of the reference configuration on the ESXi host encoded as JSON.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is missing or `null` if host does not have reference configuration." + }, + "reference_target": { + "type": "string", + "description": "Value of the reference configuration in the desired state encoded as JSON.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is missing or `null` if desired state does not have reference configuration." + }, + "error": { + "description": "This field contains an error message that describes the reason for the setting to be non compliant.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is missing or `null` if solution configuration is successfully realized.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notification" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Configuration.SettingCompliance schema contains properties that describe a drift in an ESXi host setting. This structure describes a change in configuration value(set) or addition of configuration or deletion of configuration. In addition this structure also describes error encountered in case realization of configuration fails. When used to describe addition or deletion of a setting, if the setting is an instance in an array without an instance ID, the whole instance object is populated in target or current, respectively. When used to describe a drift in primitive type, current and target values are populated when applicable.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.SettingCompliance.Type": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.SettingCompliance.Type enumerated type contains the possible data types of the property in drift.\n\nPossible values:\n - `PRIMITIVE`: The property in drift is of primitive data type.\n - `OBJECT`: The property in drift is of type object.\n - `ARRAY_OF_OBJECTS`: The property in drift is of array of object data type.\n - `REFERENCE`: The drift is in reference configuration.\n - `ARRAY_OF_PRIMITIVES`: The property in drift is of array of primitive data type.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "PRIMITIVE", + "OBJECT", + "ARRAY_OF_OBJECTS", + "REFERENCE", + "ARRAY_OF_PRIMITIVES" + ] + }, + "Esx.Settings.Clusters.Configuration.ComplianceInfo": { + "type": "object", + "properties": { + "sets": { + "type": "array", + "description": "List of configuration drifts represented by *Esx.Settings.Clusters.Configuration.SettingCompliance*. Each describing a configuration whose value on ESXi host or cluster solution is different to that in the desired document\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` if there are no drifts to report in this category.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.SettingCompliance" + } + }, + "adds": { + "type": "array", + "description": "List of configuration drifts represented by *Esx.Settings.Clusters.Configuration.SettingCompliance*. Each describing a configuration that is present in the desired document but absent on the ESXi host or cluster solution.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` if there are no drifts to report in this category.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.SettingCompliance" + } + }, + "deletes": { + "type": "array", + "description": "List of configuration drifts represented by *Esx.Settings.Clusters.Configuration.SettingCompliance*. Each describing a configuration that is present on the ESXi host or cluster solution but absent in the desired document.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` if there are no drifts to report in this category.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.SettingCompliance" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.ComplianceInfo schema contains properties that describe the configuration drift between the desired document and the configurations on the ESXi host or cluster solution.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.HostCompliance": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "This field indicates whether the ESXi host is compliant with the desired configuration specified in com.vmware.esx.settings_daemon.Configuration#CheckComplianceSpec. If COMPLIANT, no other information is available. If NON_COMPLAINT, drift information can be fetched from {#ComplianceInfo}\n\nPossible values:\n - `COMPLIANT`: ESXi host is in compliance with Desired configuration.\n - `NON_COMPLIANT`: ESXi host is not in compliance with Desired configuration.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.ComplianceStatus*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "compliance_info": { + "description": "Settings compliance information generated by the CheckCompliance operation.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Configuration.ComplianceStatus.NON_COMPLIANT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ComplianceInfo" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Configuration.HostCompliance schema contains properties that describe compliance information for the ESXi host on which the Check Compliance operation completed successfully.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.HostResult": { + "required": [ + "host_status", + "summary" + ], + "type": "object", + "properties": { + "host_status": { + "description": "This field represents the status of the check compliance operation. If status is OK, the result of operation can be retrieved from {#HostCompliance} {#Summary} field will summarize the status of the operation and if applicable, the specific error that occurred. Additionally, {#ValidationError} is populated if the operation fails due to host validation errors in desired document.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.HostStatus" + } + ] + }, + "summary": { + "description": "Summary of check compliance operation on the host.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "errors": { + "type": "array", + "description": "List of validation errors returned by either the host or the cluster solutions for that host. This is only set for a specific HostStatus ERROR case.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is set only if the document fails to validate on the host.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + }, + "host_compliance": { + "description": "This field provides compliance results for the host if the operation successfully completed on the host. That is, this field is populated only if HostStatus is OK.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` if check compliance could not be completed on the host.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.HostCompliance" + } + ] + } + }, + "description": "This Esx.Settings.Clusters.Configuration.HostResult schema contains properties that describe the result of the check compliance operation for an ESXi host and its cluster solutions.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.SolutionComplianceResult": { + "required": [ + "display_name", + "status", + "summary" + ], + "type": "object", + "properties": { + "display_name": { + "description": "Display name of Cluster Solution.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "status": { + "type": "string", + "description": "This field indicates whether the Cluster Solution is compliant with the desired cluster configuration specified in #com.vmware.esx.settings.clusters.configuration.ConfigurationSpec. If COMPLIANT, no other information is available. If NON_COMPLAINT, drift information can be fetched from {#ComplianceInfo}\n\nPossible values:\n - `COMPLIANT`: Solution is in compliance with Desired configuration.\n - `NON_COMPLIANT`: Solution is not in compliance with Desired configuration.\n - `ERROR`: Solution failed while checking for compliance.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.SolutionComplianceResult.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "compliance_info": { + "description": "Settings compliance information generated by the CheckCompliance operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set only when the *Esx.Settings.Clusters.Configuration.SolutionComplianceResult.status* is NON_COMPLAINT", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ComplianceInfo" + } + ] + }, + "host_compliance_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ComplianceInfo" + }, + "description": "Map of host IDs to ComplianceInfo. Settings compliance information generated by the CheckCompliance operation for host-specific configurations of cluster solutions.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set only when the *Esx.Settings.Clusters.Configuration.SolutionComplianceResult.status* is NON_COMPLAINT\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "errors": { + "type": "array", + "description": "List of validation errors returned by the Cluster solution. This is only set for *Esx.Settings.Clusters.Configuration.SolutionComplianceResult.ComplianceStatus.ERROR* case.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set only in case of solution plugin errors", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + }, + "summary": { + "description": "Summarizing check compliance operation for the cluster solution.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "Represents the result of CheckCompliance operation for Cluster Solution configurations.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.SolutionComplianceResult.ComplianceStatus": { + "type": "string", + "description": "This Esx.Settings.Clusters.Configuration.SolutionComplianceResult.ComplianceStatus enumerated type represents the compliance status of desired configuration for a Cluster Solution.\n\nPossible values:\n - `COMPLIANT`: Solution is in compliance with Desired configuration.\n - `NON_COMPLIANT`: Solution is not in compliance with Desired configuration.\n - `ERROR`: Solution failed while checking for compliance.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "COMPLIANT", + "NON_COMPLIANT", + "ERROR" + ] + }, + "Esx.Settings.Clusters.Configuration.ClusterCompliance": { + "required": [ + "cluster_status", + "compliant_hosts", + "end_time", + "failed_hosts", + "host_info", + "hosts", + "non_compliant_hosts", + "skipped_hosts", + "software_commit", + "summary" + ], + "type": "object", + "properties": { + "cluster_status": { + "type": "string", + "description": "Consolidated status of all host compliance checks.\n\nPossible values:\n - `RUNNING`: The task is in-progress.\n - `COMPLIANT`: All hosts in the cluster are compliant.\n - `NOT_COMPLIANT`\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.ClusterCompliance.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "commit": { + "type": "string", + "description": "This identifier refers to the commit action of importing the desired configuration document. It will not be set for a draft execution of check compliance.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "software_commit": { + "type": "string", + "description": "The current commit ID for the software associated with the cluster.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "summary": { + "description": "Summarizing check compliance operation on the hosts in the cluster and the Cluster Solution\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "validation_errors": { + "type": "array", + "description": "This field represents the validation errors if the desired configuration specified is not valid.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis field may be set if *Esx.Settings.Clusters.Configuration.ClusterCompliance.cluster_status* is NOT_COMPLIANT due to validation errors.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Map of host IDs to hostname.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "hosts": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.HostResult" + }, + "description": "Map of host IDs to their compliance results.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "cluster_solutions_result": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.SolutionComplianceResult" + }, + "description": "Compliance information for Cluster Solutions configurations generated by the CheckCompliance operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.configuration.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.configuration.component`." + }, + "compliant_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of compliant hosts.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "non_compliant_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of non-compliant hosts.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "failed_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of hosts where the operation failed.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "skipped_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of hosts where the operation was skipped. i.e disconnected hosts\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "end_time": { + "type": "string", + "description": "CheckCompliance completion time.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "date-time" + } + }, + "description": "This Esx.Settings.Clusters.Configuration.ClusterCompliance schema contains properties that describe the compliance result for each host in the cluster, for each cluster solutions, as well as overall cluster compliance status.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.ClusterCompliance.Status": { + "type": "string", + "description": "Consolidated compliance status of the cluster\n\nPossible values:\n - `RUNNING`: The task is in-progress.\n - `COMPLIANT`: All hosts in the cluster are compliant.\n - `NOT_COMPLIANT`\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "RUNNING", + "COMPLIANT", + "NOT_COMPLIANT" + ] + }, + "Esx.Settings.Clusters.Configuration.DependencyError": { + "required": [ + "possible_values", + "required_value" + ], + "type": "object", + "properties": { + "required_value": { + "type": "string", + "description": "The dependency required by a union tag.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "current_value": { + "type": "string", + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, it contains the current value of the dependency property." + }, + "possible_values": { + "type": "string", + "description": "The possible values of the dependency property that are compatible with this property.\n\nThis property was added in __vSphere API 8.0.2.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.DependencyError schema contains details of the validation error caused by dependency between different properties in the configuration.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.DetailedValidationError": { + "required": [ + "message", + "type" + ], + "type": "object", + "properties": { + "hosts": { + "type": "array", + "description": "If this error is from a host-level validation performed during a precheck, the hosts that experienced this error will be added here.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "message": { + "description": "A user-friendly description of the error.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "type": { + "type": "string", + "description": "The type of error. Additional information may be set for some types of errors.\n\nPossible values:\n - `GENERIC`: A generic error. Check the message property for more information.\n - `ADDITIONAL_PROPERTY`: A property that is not specified in the schema was found.\n - `INVALID_ENUM_OPTION`: The value of an enum property does not match one of the allowed values.\n - `INVALID_TYPE`: The value of a property is not the expected type.\n - `MAX_STRING_LENGTH`: The length of a string is larger than the maximum allowed.\n - `MIN_STRING_LENGTH`: The length of a string is smaller than the minimum allowed.\n - `MISSING_REQUIRED`: A required property is missing.\n - `INVALID_UNION_TAG`: A property that is dependent on another property is invalid.\n - `DUPLICATE_INSTANCE_ID`: An instance has an instance ID that was already used in another instance.\n - `MAX_ARRAY_LENGTH`: The length of an array is larger than the maximum allowed.\n - `MIN_ARRAY_LENGTH`: The length of an array is smaller than the minimum allowed.\n - `MAX_VALUE`: The value of a numeric property is larger than the maximum allowed.\n - `MIN_VALUE`: The value of a numeric property is smaller than the minimum allowed.\n - `PATTERN_MISMATCH`: The value of a string property does not match the allowed pattern.\n - `SCHEMA_NOT_FOUND`: A configuration was found for software that is not in the image associated with the cluster.\n - `NULL_VALUE`: A property has a null value.\n - `INVALID_DELETE_DEFAULT`: The property is only valid for mutable default configurations.\n - `HOST_SPECIFIC_IN_PROFILE`: The property is host-specific, but was found in the profile section.\n - `NOT_HOST_SPECIFIC`: The property is not host-specific, but was found in the host-specific section.\n - `MISSING_INSTANCE_ID`: An instance does not have the required ID property.\n - `EMPTY_PROPERTY`: An object or array property is empty.\n - `KEY_IN_HOST_OVERRIDE`: The configuration exists in both host-override and host-specific sections.\n - `PLACEHOLDER_FOUND`: The property contains a placeholder that must be replaced.\n - `PROPERTY_NAME_MISMATCH`: A property name does not match the required pattern.\n - `MISSING_REQUIRED_PROFILE_INSTANCE`: The host-specific configuration refers to an instance that does not exist in the profile section.\n - `MISSING_REQUIRED_PROFILE_KEY`: The host-specific configuration refers to a configuration key that does not exist in the profile section.\n - `HOST_SPECIFIC_KEY_IN_OVERRIDE`: A host-specific configuration was found in the host-override section.\n - `UNION_CASE_WITHOUT_UNION_TAG`: A union-case property was provided, but the corresponding union tag property was not set.\n - `MISSING_UNION_CASE`: A union-case property is missing when the corresponding union tag property is set.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType*.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "pattern": { + "type": "string", + "description": "The pattern the property is required to match.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.PATTERN_MISMATCH* or *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.PROPERTY_NAME_MISMATCH*." + }, + "expected_type": { + "type": "string", + "description": "The expected type of the property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.INVALID_TYPE*." + }, + "instance_id": { + "type": "string", + "description": "The instance ID that was duplicated or is missing from the profile section.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.DUPLICATE_INSTANCE_ID* or *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MISSING_REQUIRED_PROFILE_INSTANCE*." + }, + "property_name": { + "type": "string", + "description": "The name of the property that holds the instance ID.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MISSING_INSTANCE_ID*." + }, + "maximum_length": { + "type": "integer", + "description": "The maximum length allowed for a string or array property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MAX_STRING_LENGTH* or *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MAX_ARRAY_LENGTH*.", + "format": "int64" + }, + "minimum_length": { + "type": "integer", + "description": "The minimum length allowed for a string or array property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MIN_STRING_LENGTH* or *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MIN_ARRAY_LENGTH*.", + "format": "int64" + }, + "maximum_value": { + "type": "integer", + "description": "The maximum allowed value for a property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MAX_VALUE*.", + "format": "int64" + }, + "minimum_value": { + "type": "integer", + "description": "The minimum allowed value for a property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MIN_VALUE*.", + "format": "int64" + }, + "dependency_error": { + "description": "The dependency required by a union tag.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.INVALID_UNION_TAG* or *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.UNION_CASE_WITHOUT_UNION_TAG*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DependencyError" + } + ] + }, + "component": { + "type": "string", + "description": "For SCHEMA_NOT_FOUND errors, this will be the component portion of the unknown configuration.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.SCHEMA_NOT_FOUND*." + }, + "group": { + "type": "string", + "description": "For SCHEMA_NOT_FOUND errors, this will be the group portion of the unknown configuration.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.SCHEMA_NOT_FOUND*." + }, + "key": { + "type": "string", + "description": "For SCHEMA_NOT_FOUND errors, this will be the key portion of the unknown configuration.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.SCHEMA_NOT_FOUND*." + }, + "path": { + "type": "string", + "description": "The JSON-pointer to the configuration key in the profile section where the instance/key needs to be added.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MISSING_REQUIRED_PROFILE_INSTANCE* or *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MISSING_REQUIRED_PROFILE_KEY*." + }, + "required_property": { + "type": "string", + "description": "The name of the required property that is missing from the profile section for this instance/key.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MISSING_REQUIRED_PROFILE_INSTANCE* or *Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType.MISSING_REQUIRED_PROFILE_KEY*." + } + }, + "description": "The SchemaValidationError schema contains details of validation errors for a property.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.DetailedValidationError.ErrorType enum contains the possible types of errors related to property validation.\n\nPossible values:\n - `GENERIC`: A generic error. Check the message property for more information.\n - `ADDITIONAL_PROPERTY`: A property that is not specified in the schema was found.\n - `INVALID_ENUM_OPTION`: The value of an enum property does not match one of the allowed values.\n - `INVALID_TYPE`: The value of a property is not the expected type.\n - `MAX_STRING_LENGTH`: The length of a string is larger than the maximum allowed.\n - `MIN_STRING_LENGTH`: The length of a string is smaller than the minimum allowed.\n - `MISSING_REQUIRED`: A required property is missing.\n - `INVALID_UNION_TAG`: A property that is dependent on another property is invalid.\n - `DUPLICATE_INSTANCE_ID`: An instance has an instance ID that was already used in another instance.\n - `MAX_ARRAY_LENGTH`: The length of an array is larger than the maximum allowed.\n - `MIN_ARRAY_LENGTH`: The length of an array is smaller than the minimum allowed.\n - `MAX_VALUE`: The value of a numeric property is larger than the maximum allowed.\n - `MIN_VALUE`: The value of a numeric property is smaller than the minimum allowed.\n - `PATTERN_MISMATCH`: The value of a string property does not match the allowed pattern.\n - `SCHEMA_NOT_FOUND`: A configuration was found for software that is not in the image associated with the cluster.\n - `NULL_VALUE`: A property has a null value.\n - `INVALID_DELETE_DEFAULT`: The property is only valid for mutable default configurations.\n - `HOST_SPECIFIC_IN_PROFILE`: The property is host-specific, but was found in the profile section.\n - `NOT_HOST_SPECIFIC`: The property is not host-specific, but was found in the host-specific section.\n - `MISSING_INSTANCE_ID`: An instance does not have the required ID property.\n - `EMPTY_PROPERTY`: An object or array property is empty.\n - `KEY_IN_HOST_OVERRIDE`: The configuration exists in both host-override and host-specific sections.\n - `PLACEHOLDER_FOUND`: The property contains a placeholder that must be replaced.\n - `PROPERTY_NAME_MISMATCH`: A property name does not match the required pattern.\n - `MISSING_REQUIRED_PROFILE_INSTANCE`: The host-specific configuration refers to an instance that does not exist in the profile section.\n - `MISSING_REQUIRED_PROFILE_KEY`: The host-specific configuration refers to a configuration key that does not exist in the profile section.\n - `HOST_SPECIFIC_KEY_IN_OVERRIDE`: A host-specific configuration was found in the host-override section.\n - `UNION_CASE_WITHOUT_UNION_TAG`: A union-case property was provided, but the corresponding union tag property was not set.\n - `MISSING_UNION_CASE`: A union-case property is missing when the corresponding union tag property is set.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 8.0.2.0__.", + "enum": [ + "GENERIC", + "ADDITIONAL_PROPERTY", + "INVALID_ENUM_OPTION", + "INVALID_TYPE", + "MAX_STRING_LENGTH", + "MIN_STRING_LENGTH", + "MISSING_REQUIRED", + "INVALID_UNION_TAG", + "DUPLICATE_INSTANCE_ID", + "MAX_ARRAY_LENGTH", + "MIN_ARRAY_LENGTH", + "MAX_VALUE", + "MIN_VALUE", + "PATTERN_MISMATCH", + "SCHEMA_NOT_FOUND", + "NULL_VALUE", + "INVALID_DELETE_DEFAULT", + "HOST_SPECIFIC_IN_PROFILE", + "NOT_HOST_SPECIFIC", + "MISSING_INSTANCE_ID", + "EMPTY_PROPERTY", + "KEY_IN_HOST_OVERRIDE", + "PLACEHOLDER_FOUND", + "PROPERTY_NAME_MISMATCH", + "MISSING_REQUIRED_PROFILE_INSTANCE", + "MISSING_REQUIRED_PROFILE_KEY", + "HOST_SPECIFIC_KEY_IN_OVERRIDE", + "UNION_CASE_WITHOUT_UNION_TAG", + "MISSING_UNION_CASE" + ] + }, + "Esx.Settings.Clusters.Configuration.ValidationError": { + "required": [ + "messages", + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Full path to the configuration or the property within the configuration which was found to be invalid.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "display_path": { + "type": "array", + "description": "A list of the display names for components of *Esx.Settings.Clusters.Configuration.ValidationError.path* property.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is missing or `null` if the display names cannot be computed.", + "items": { + "type": "string" + } + }, + "messages": { + "type": "array", + "description": "Localized error message describing the validation error.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.ValidationError schema contains properties that describes a validation error in the configuration.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.ValidationResult": { + "required": [ + "valid" + ], + "type": "object", + "properties": { + "valid": { + "type": "boolean", + "description": "This boolean flag indicates whether the configuration document validated successfully with no validation errors.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "errors": { + "type": "array", + "description": "Lists all validation errors identified in the configuration document.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis is set when *Esx.Settings.Clusters.Configuration.ValidationResult.valid* is false.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + } + }, + "description": "This Esx.Settings.Clusters.Configuration.ValidationResult schema contains properties that describe the result of validating a configuration document.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.ImpactInfo": { + "required": [ + "impact", + "info" + ], + "type": "object", + "properties": { + "impact": { + "type": "string", + "description": "This field indicates the ESXi host impact or cluster solution impact on applying the desired configuration.\n\nPossible values:\n - `NO_IMPACT`: Host has no impact.\n - `MAINTENANCE_MODE_REQUIRED`: Host requires maintenance mode to reach the desired state.\n - `REBOOT_REQUIRED`: Host requires reboot to reach the desired state.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.ImpactType*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "info": { + "type": "array", + "description": "This field represents the list of impact information describing the configuration changes needed on the host or for a cluster solution to reach the desired state.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This Esx.Settings.Clusters.Configuration.ImpactInfo schema contains properties that describes the Impact if the host is not compliant against the desired configuration.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.HostPrecheckResult": { + "required": [ + "status", + "summary" + ], + "type": "object", + "properties": { + "status": { + "description": "This field represents the status of the precheck request for this host. {link HostStatus#status} is ERROR or SKIPPED, if precheck was not completed on the host due to some error or if health checks failed. If precheck failed due to host validation errors, details are specified in *Esx.Settings.Clusters.Configuration.HostPrecheckResult.validation_errors*. If precheck failed due to generic error, details are specified in the *Esx.Settings.Clusters.Configuration.HostPrecheckResult.summary*. Health check result is specified in *Esx.Settings.Clusters.Configuration.HostPrecheckResult.precheck_result*.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.HostStatus" + } + ] + }, + "summary": { + "description": "Summarizing precheck operation on the host.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "validation_errors": { + "type": "array", + "description": "This field represents the validation errors if the desired configuration specified is not valid.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is set if #HostStatus#status is ERROR due to host returning validation errors.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + }, + "impact": { + "description": "This field represents the impact on the host to reach the desired configuration state.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is set if there are no validation errors on the host. The *Esx.Settings.Clusters.Configuration.HostStatus.status* may be OK or ERROR.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ImpactInfo" + } + ] + }, + "precheck_result": { + "description": "This field represents the health check results from the host, if the host needs to be put in maintenance mode or to be rebooted.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is set if there are not validation errors and health checks are run on the host. The *Esx.Settings.Clusters.Configuration.HostStatus.status* may be OK or ERROR.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.StatusInfo" + } + ] + } + }, + "description": "This Esx.Settings.Clusters.Configuration.HostPrecheckResult schema contains properties that describes the Precheck API result on a host.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.SolutionPrecheckResult": { + "required": [ + "display_name", + "status", + "summary" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Overall solution precheck status for the cluster solution. Operation is successful when precheck is run for cluster solution successfully with no validation or precheck errors.\n\nPossible values:\n - `RUNNING`: The task is in-progress.\n - `OK`: The operation completed successfully.\n - `OK_REVIEW_REQUIRED`: The operation completed successfully. There are one or more solutions whose results #SolutionPrecheckResult indicate that the remediation of the drift is a destructive operation. Such drifts are specified in #SolutionPrecheckResult#driftReviews property. The #DriftReview need to be provided in the ApplySpec to acknowledge the remediation of these drifts. If the #SolutionPrecheckResult#driftReviews returned by PreCheck API is not provided as input to ApplySpec, these drifts will not be remediated.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `ERROR`: The operation failed with errors.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.ClusterPrecheckResult.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "display_name": { + "description": "Display name of Cluster Solution.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "summary": { + "description": "Summarizing precheck operation for the cluster solution.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "notifications": { + "description": "This field contains the impact information for a cluster solution to reach the desired configuration state. It shall also contain the errors set during impact operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set if there are no validation errors for cluster solution. The *Esx.Settings.Clusters.Configuration.SolutionPrecheckResult.status* may be OK or ERROR.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "drift_reviews": { + "type": "array", + "description": "This field contains the drifts that need review from the user before apply.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DriftReview" + } + } + }, + "description": "This Esx.Settings.Clusters.Configuration.SolutionPrecheckResult schema contains properties that describes the Precheck API result for a cluster solution.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.ClusterPrecheckResult": { + "required": [ + "end_time", + "failed_hosts", + "host_info", + "host_precheck", + "remediation_notes", + "remediation_summary", + "skipped_hosts", + "software_commit", + "status", + "successful_hosts", + "summary" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Overall status of precheck on the cluster. Operation is successful when precheck is run on all hosts successfully and no validation or precheck errors are detected.\n\nPossible values:\n - `RUNNING`: The task is in-progress.\n - `OK`: The operation completed successfully.\n - `OK_REVIEW_REQUIRED`: The operation completed successfully. There are one or more solutions whose results #SolutionPrecheckResult indicate that the remediation of the drift is a destructive operation. Such drifts are specified in #SolutionPrecheckResult#driftReviews property. The #DriftReview need to be provided in the ApplySpec to acknowledge the remediation of these drifts. If the #SolutionPrecheckResult#driftReviews returned by PreCheck API is not provided as input to ApplySpec, these drifts will not be remediated.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `ERROR`: The operation failed with errors.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.ClusterPrecheckResult.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "commit": { + "type": "string", + "description": "This identifier refers to the commit action of importing the desired configuration document.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is s not set for a precheck of a draft configuration.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "software_commit": { + "type": "string", + "description": "The current commit ID for the software associated with the cluster.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "end_time": { + "type": "string", + "description": "Precheck completion time.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "date-time" + }, + "summary": { + "description": "Summarizing precheck operation on the host and cluster.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "remediation_summary": { + "type": "array", + "description": "Summarizing remediation stating number of hosts needing reboot and maintenance mode during remediation and number of precheck errors on host and cluster.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "remediation_notes": { + "type": "array", + "description": "Static notes to the user describing steps that will be taken during remediation.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "validation_errors": { + "type": "array", + "description": "This field represents the validation errors if the desired configuration specified is not valid.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis field is set if *Esx.Settings.Clusters.Configuration.ClusterPrecheckResult.Status* is ERROR due to validation errors.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Map of host IDs to hostname\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "host_precheck": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.HostPrecheckResult" + }, + "description": "Map of host IDs to their precheck results. If *Esx.Settings.Clusters.Configuration.ClusterPrecheckResult.status* is ERROR, This field will contain Validation errors or Host Impact and Health Check errors. If *Esx.Settings.Clusters.Configuration.ClusterPrecheckResult.status* is OK, This field will contain Impact and Health Check information.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "solutions_precheck_result": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.SolutionPrecheckResult" + }, + "description": "Map of Solution IDs to their precheck results.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.configuration.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.configuration.component`." + }, + "precheck_result": { + "description": "This field represents the precheck results on the cluster, if any one host in the cluster needs to be put in maintenance mode or to be rebooted.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is set if cluster prechecks are invoked.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.StatusInfo" + } + ] + }, + "successful_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster where the precheck was successfully run.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "failed_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster where the precheck failed to run.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "skipped_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster where the precheck was not tried because the host was disconnected.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The PrecheckResult schema contains properties that describe precheck status of applying the desired document to a group of hosts.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.ClusterPrecheckResult.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.ClusterPrecheckResult.Status enumerated type contains the possible statuses of the Precheck API on the cluster.\n\nPossible values:\n - `RUNNING`: The task is in-progress.\n - `OK`: The operation completed successfully.\n - `OK_REVIEW_REQUIRED`: The operation completed successfully. There are one or more solutions whose results #SolutionPrecheckResult indicate that the remediation of the drift is a destructive operation. Such drifts are specified in #SolutionPrecheckResult#driftReviews property. The #DriftReview need to be provided in the ApplySpec to acknowledge the remediation of these drifts. If the #SolutionPrecheckResult#driftReviews returned by PreCheck API is not provided as input to ApplySpec, these drifts will not be remediated.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `ERROR`: The operation failed with errors.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "RUNNING", + "OK", + "OK_REVIEW_REQUIRED", + "ERROR" + ] + }, + "Esx.Settings.Clusters.Configuration.ImportResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Possible values:\n - `RUNNING`: The task is in-progress.\n - `OK`\n - `ERROR`\n - `CANCELED`\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.ImportResult.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "commit": { + "type": "string", + "description": "This identifier refers to the commit action of importing the desired configuration document. This identifier can be used in the apply API.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Configuration.ImportResult.Status.OK*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "errors": { + "type": "array", + "description": "Lists all validation errors identified in the configuration document.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis is set when #success is false.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + } + }, + "description": "This Esx.Settings.Clusters.Configuration.ImportResult schema contains properties that describe the result of importing a configuration document in the cluster.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.ImportResult.Status": { + "type": "string", + "description": "This enum indicates whether the configuration document was imported successfully in the cluster.\n\nPossible values:\n - `RUNNING`: The task is in-progress.\n - `OK`\n - `ERROR`\n - `CANCELED`\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "RUNNING", + "OK", + "ERROR", + "CANCELED" + ] + }, + "Esx.Settings.Clusters.Configuration.DraftImportResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of importing desired configuration.\n\nPossible values:\n - `RUNNING`: The task is in-progress.\n - `OK`: Desired configuration imported successfully.\n - `ERROR`: Desired configuration import failed with error.\n - `CANCELED`\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.DraftImportResult.Status*." + }, + "draft": { + "type": "string", + "description": "This identifier refers to the commit action of importing the desired configuration document. This identifier can be used in the apply API.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Configuration.DraftImportResult.Status.OK*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.draft`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.draft`." + }, + "error": { + "description": "Localized message describing the error encountered while importing desired configuration. The import operation will fail if the configuration document is an invalid JSON.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Configuration.DraftImportResult.Status.ERROR*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "warnings": { + "type": "array", + "description": "Any issues found during the import are reported in this list.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.DraftImportResult schema contains properties that describe the result of importing the desired configuration for a cluster into a draft." + }, + "Esx.Settings.Clusters.Configuration.DraftImportResult.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.DraftImportResult.Status enumerated type contains the possible status codes describing the result of importing desired configuration for a cluster.\n\nPossible values:\n - `RUNNING`: The task is in-progress.\n - `OK`: Desired configuration imported successfully.\n - `ERROR`: Desired configuration import failed with error.\n - `CANCELED`\n", + "enum": [ + "RUNNING", + "OK", + "ERROR", + "CANCELED" + ] + }, + "Esx.Settings.Clusters.Configuration.ExportResult": { + "required": [ + "config" + ], + "type": "object", + "properties": { + "config": { + "type": "string", + "description": "Configuration of the cluster encoded as JSON.\n\nThis property was added in __vSphere API 8.0.1.0__." + } + }, + "description": "This Esx.Settings.Clusters.Configuration.ExportResult schema contains properties that describe the result of exporting configuration from the cluster.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.ConfigurationSpec": { + "required": [ + "spec" + ], + "type": "object", + "properties": { + "spec": { + "type": "string", + "description": "Desired configuration document\n\nThis property was added in __vSphere API 8.0.1.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.ConfigurationSpec schema contains properties that describe the desired configuration that is associated with a cluster.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.DriftReviewPolicy": { + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Possible values:\n - `ENUM`\n - `STRING`\n - `LONG`\n - `BOOLEAN`\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.DriftReviewPolicy.ValueType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "name": { + "type": "string", + "description": "The name of the policy.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "possible_values": { + "uniqueItems": true, + "type": "array", + "description": "A set of possible values.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DriftReviewPolicy.ValueType.ENUM*.", + "items": { + "type": "string" + } + }, + "value_string": { + "type": "string", + "description": "This property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Clusters.Configuration.DriftReviewPolicy.ValueType.ENUM* or *Esx.Settings.Clusters.Configuration.DriftReviewPolicy.ValueType.STRING*." + }, + "value_long": { + "type": "integer", + "description": "This property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DriftReviewPolicy.ValueType.LONG*.", + "format": "int64" + }, + "value_boolean": { + "type": "boolean", + "description": "This property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Configuration.DriftReviewPolicy.ValueType.BOOLEAN*." + } + }, + "description": "The policy that is used to review the drift. The policy can have a number of options in possibleValues if the value type is set as enum and one of the options will be set in value and used in the solution apply operation. If the valueType is set as other value. The corresponding value field will be set.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.DriftReviewPolicy.ValueType": { + "type": "string", + "description": "Possible values:\n - `ENUM`\n - `STRING`\n - `LONG`\n - `BOOLEAN`\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "ENUM", + "STRING", + "LONG", + "BOOLEAN" + ] + }, + "Esx.Settings.Clusters.Configuration.DriftReview": { + "required": [ + "property_paths" + ], + "type": "object", + "properties": { + "property_paths": { + "uniqueItems": true, + "type": "array", + "description": "Set of property paths for the configuration which has drift and needs review. This can either be the path of a drift in cluster config which start with profile, or a drift in host-specific or host-override.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "drift_review_policy": { + "description": "The policy provided by the solution.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DriftReviewPolicy" + } + ] + }, + "notification": { + "description": "Notification that provides additional information about the drift.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notification" + } + ] + } + }, + "description": "Represents the drifts that need review.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.ReferenceHostInfo": { + "required": [ + "status", + "summary" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The current status of the reference host.\n\nPossible values:\n - `OK`: The reference host is in the cluster and connected.\n - `DISCONNECTED`: The reference host is in the cluster, but disconnected.\n - `UNAVAILABLE`: There is no reference host or it is no longer in the cluster.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.ReferenceHostInfo.Status*.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "host": { + "type": "string", + "description": "The ID of the reference host.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Esx.Settings.Clusters.Configuration.ReferenceHostInfo.Status.OK* or *Esx.Settings.Clusters.Configuration.ReferenceHostInfo.Status.DISCONNECTED*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "name": { + "type": "string", + "description": "The name of the reference host.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Esx.Settings.Clusters.Configuration.ReferenceHostInfo.Status.OK* or *Esx.Settings.Clusters.Configuration.ReferenceHostInfo.Status.DISCONNECTED*." + }, + "summary": { + "description": "A summary of the reference host status.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Configuration.ReferenceHostInfo schema contains properties that describe the host that was used as a reference for generating the schema.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.Clusters.Configuration.ReferenceHostInfo.Status": { + "type": "string", + "description": "The status of the reference host.\n\nPossible values:\n - `OK`: The reference host is in the cluster and connected.\n - `DISCONNECTED`: The reference host is in the cluster, but disconnected.\n - `UNAVAILABLE`: There is no reference host or it is no longer in the cluster.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "OK", + "DISCONNECTED", + "UNAVAILABLE" + ] + }, + "Esx.Settings.Clusters.Configuration.SchemaResult": { + "required": [ + "schema" + ], + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "The source of this schema.\n\nPossible values:\n - `IMAGE_PROFILE`: The schema was derived from a VLCM image profile.\n - `HOST`: The schema was extracted from a reference host.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.SchemaResult.Source*.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "schema": { + "type": "string", + "description": "The configuration schema associated with the cluster.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "reference_host": { + "description": "If the source of this schema was a reference, this field will be populated with the current status of the host.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional and it is only relevant when the value of source is *Esx.Settings.Clusters.Configuration.SchemaResult.Source.HOST*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ReferenceHostInfo" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Configuration.SchemaResult schema contains properties that describe the configuration schema associated with the cluster.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.SchemaResult.Source": { + "type": "string", + "description": "The possible sources of the schema.\n\nPossible values:\n - `IMAGE_PROFILE`: The schema was derived from a VLCM image profile.\n - `HOST`: The schema was extracted from a reference host.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "IMAGE_PROFILE", + "HOST" + ] + }, + "Esx.Settings.Clusters.Configuration.AuditRecords.OperationType": { + "type": "object", + "description": "The Esx.Settings.Clusters.Configuration.AuditRecords.OperationType schema contains constants used to represent all possible config manager operations.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.AuditRecords.TimePeriod": { + "required": [ + "end", + "start" + ], + "type": "object", + "properties": { + "start": { + "type": "string", + "description": "List of audit records that match the given start time i.e. occurred after the DateTime start.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "format": "date-time" + }, + "end": { + "type": "string", + "description": "List of audit records that match the given end time i.e. occurred before the DateTime end.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.Clusters.Configuration.AuditRecords.TimePeriod schema contains *Esx.Settings.Clusters.Configuration.AuditRecords.TimePeriod.start* and *Esx.Settings.Clusters.Configuration.AuditRecords.TimePeriod.end* to get audit records for a specific time period.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.AuditRecords.FilterSpec": { + "type": "object", + "properties": { + "time_duration": { + "type": "string", + "description": "List of audit records that match Esx.Settings.Clusters.Configuration.AuditRecords.FilterSpec.Timeframe, valid values are Timeframe. i.e. For ex: records within last 3 months.\n\nPossible values:\n - `THREE_MONTHS`: To indicate last 3 months audit records\n - `SIX_MONTHS`: To indicate last 6 months audit records\n - `YEAR`: To indicate last 1 year audit records\n - `CUSTOM`: To indicate custom time frame for getting audit records. Users can specify start time and end time\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.AuditRecords.FilterSpec.Timeframe*.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null` or empty, last one year audit records match the filter." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.AuditRecords.FilterSpec schema contains properties used to filter the audit records. If multiple properties are specified, only records matching all of the properties match the filter.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.AuditRecords.FilterSpec.Timeframe": { + "type": "string", + "description": "List of audit records that match the given time frame i.e. For ex: occurred within last 30 days.\n\nPossible values:\n - `THREE_MONTHS`: To indicate last 3 months audit records\n - `SIX_MONTHS`: To indicate last 6 months audit records\n - `YEAR`: To indicate last 1 year audit records\n - `CUSTOM`: To indicate custom time frame for getting audit records. Users can specify start time and end time\n\n\nThis enumeration was added in __vSphere API 8.0.2.0__.", + "enum": [ + "THREE_MONTHS", + "SIX_MONTHS", + "YEAR", + "CUSTOM" + ] + }, + "Esx.Settings.Clusters.Configuration.AuditRecords.OperationDetails": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "Error occurred during the operation\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nerror shall only be set if configmanager operation is a task" + }, + "task_id": { + "type": "string", + "description": "TaskId of the operation\n\nThis property was added in __vSphere API 8.0.2.0__.\n\ntaskId shall only be set if configmanager operation is a task\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "draft_id": { + "type": "string", + "description": "Draft ID of the draft operation\n\nThis property was added in __vSphere API 8.0.2.0__.\n\ndraftId shall only be set if this is an operation on draft\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.draft`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.draft`." + }, + "cancelled": { + "type": "boolean", + "description": "Indicates if the operation was cancelled\n\nThis property was added in __vSphere API 8.0.2.0__.\n\ncancelled shall only be set if configmanager operation is a task" + } + }, + "description": "The Esx.Settings.Clusters.Configuration.AuditRecords.OperationDetails schema contains Operation Details of an operation\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.AuditRecords.Info": { + "required": [ + "cluster_id", + "operation", + "status", + "username" + ], + "type": "object", + "properties": { + "cluster_id": { + "type": "string", + "description": "Identifier of the cluster.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "operation": { + "type": "string", + "description": "Name of the operation which can be one of \n - Import\n - Export\n - Remediate\n - Checkcompliance\n - Precheck\n - Transition-Enable\n - Draft-List\n - Draft-Create\n - Draft-ImportFromHost\n - Draft-Get\n - Draft-ExportConfig\n - Draft-Update\n - Draft-ShowChanges\n - Draft-CheckCompliance\n - Draft-Precheck\n - Draft-Delete\n - Draft-Apply\n - Draft-GetSchema\n \n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `Import`, `Export`, `Remediate`, `Checkcompliance`, `Precheck`, `Transition-Enable`, `Draft-List`, `Draft-Create`, `Draft-ImportFromHost`, `Draft-Get`, `Draft-ExportConfig`, `Draft-Update`, `Draft-ShowChanges`, `Draft-CheckCompliance`, `Draft-Precheck`, `Draft-Delete`, `Draft-Apply`, or `Draft-GetSchema`. When operations return a value of this schema as a response, the property will be one of `Import`, `Export`, `Remediate`, `Checkcompliance`, `Precheck`, `Transition-Enable`, `Draft-List`, `Draft-Create`, `Draft-ImportFromHost`, `Draft-Get`, `Draft-ExportConfig`, `Draft-Update`, `Draft-ShowChanges`, `Draft-CheckCompliance`, `Draft-Precheck`, `Draft-Delete`, `Draft-Apply`, or `Draft-GetSchema`." + }, + "username": { + "type": "string", + "description": "User who initiated the operation\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "start_time": { + "type": "string", + "description": "Time when the operation *Esx.Settings.Clusters.Configuration.AuditRecords.Info.operation* was started\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nstartTime might not be available for a task.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation *Esx.Settings.Clusters.Configuration.AuditRecords.Info.operation* was completed\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nendTime might not be available for a task.", + "format": "date-time" + }, + "status": { + "type": "string", + "description": "Status of the operation *Esx.Settings.Clusters.Configuration.AuditRecords.Info.operation*\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "operation_details": { + "description": "Details of the operation.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\noperationdetails might not be available for an operation which is not a task.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.AuditRecords.OperationDetails" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Configuration.AuditRecords.Info schema contains Audit Info of an operation for a cluster in vCenter Server.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.State": { + "type": "string", + "description": "The states of the draft configuration.\n\nPossible values:\n - `VALID`: Configuration draft is valid.\n - `INVALID`: Configuration draft is invalid.\n\n\nThis enumeration was added in __vSphere API 8.0.2.0__.", + "enum": [ + "VALID", + "INVALID" + ] + }, + "Esx.Settings.Clusters.Configuration.Drafts.Metadata": { + "required": [ + "creation_time", + "id", + "modified_time", + "owner", + "parent_id", + "revision", + "state" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The draft identifier\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.draft`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.draft`." + }, + "parent_id": { + "type": "string", + "description": "The identifier of the parent commit.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "owner": { + "type": "string", + "description": "Owner of the configuration draft.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "state": { + "type": "string", + "description": "State of the configuration draft.\n\nPossible values:\n - `VALID`: Configuration draft is valid.\n - `INVALID`: Configuration draft is invalid.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.Drafts.State*.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "revision": { + "type": "integer", + "description": "The current revision of this draft. Any updates to the draft will increment this value. This value should be included in calls to *POST /esx/settings/clusters/{cluster}/configuration/drafts/{draft}?action=update* so that concurrent changes can be detected.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "format": "int64" + }, + "creation_time": { + "type": "string", + "description": "Creation time of the configuration draft.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "format": "date-time" + }, + "modified_time": { + "type": "string", + "description": "Last modified time of the configuration draft.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "format": "date-time" + }, + "precheck_task": { + "type": "string", + "description": "The ID of the precheck task that was last run for this draft.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis field is missing or `null` if precheck has not been done since the last modification.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "image_reference_host": { + "type": "string", + "description": "The ID of the host that is used as a reference for the cluster image.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis field is missing or `null` if the cluster is managed by VLCM.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.Metadata schema defines the metadata information about configuration draft.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ValidationErrors": { + "required": [ + "display_path", + "errors" + ], + "type": "object", + "properties": { + "display_path": { + "type": "array", + "description": "A list of the display names for components of the property path.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "items": { + "type": "string" + } + }, + "errors": { + "type": "array", + "description": "Localized error message describing the validation error.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DetailedValidationError" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ValidationErrors schema contains schema-based validation errors for a given property.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ValidationDetails": { + "required": [ + "errors" + ], + "type": "object", + "properties": { + "errors": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ValidationErrors" + }, + "description": "Map of JSON-Pointers to properties in the draft configuration that have validation errors based on the schema and host-level validations.\n\nThis property was added in __vSphere API 8.0.2.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ValidationDetails schema contains all validation errors related to the draft configuration.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ModificationInfo": { + "required": [ + "display_path" + ], + "type": "object", + "properties": { + "display_path": { + "type": "array", + "description": "A list of the display names for components of the property path.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "items": { + "type": "string" + } + }, + "original_path": { + "type": "string", + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, it contains a JSON-Pointer to the corresponding property in the original document. Otherwise, this modification is an addition to the draft." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ModificationInfo schema contains information about a modification to a property in the configuration.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.DeletionInfo": { + "required": [ + "display_path" + ], + "type": "object", + "properties": { + "display_path": { + "type": "array", + "description": "A list of the display names for components of the property path.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.DeletionInfo schema contains information about a property that was deleted from the draft configuration.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ChangeDetails": { + "required": [ + "deleted_properties", + "modified_properties" + ], + "type": "object", + "properties": { + "modified_properties": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ModificationInfo" + }, + "description": "Captures the properties that were added/modified in this draft. The map keys are JSON-Pointers that refer to the properties in the draft that are modifications. The values contain information about the property and, in the case of a modification, the location of the corresponding property in the desired document.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "deleted_properties": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.DeletionInfo" + }, + "description": "Captures the properties that were deleted from this draft. The map keys are JSON-Pointers that refer to the properties in the desired document that were deleted.\n\nThis property was added in __vSphere API 8.0.2.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ChangeDetails schema contains information about changes made in the draft when compared against the current desired document.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ConflictPropertyInfo": { + "required": [ + "property_path" + ], + "type": "object", + "properties": { + "property_path": { + "type": "string", + "description": "The path refers to the conflicting property in the cluster configuration document.\n\nThis property was added in __vSphere API 8.0.2.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ConflictPropertyInfo schema contains information about conflicts that have been detected when attempting to merge configuration changes that have been committed by other users.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ConflictDetails": { + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ConflictPropertyInfo" + }, + "description": "Map of properties in the current draft that were changed and conflict with changes that were applied to the cluster configuration document since this draft was created.\n\nThis property was added in __vSphere API 8.0.2.0__." + } + }, + "description": "This schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.Info": { + "required": [ + "config", + "host_id_to_uuid", + "host_info", + "metadata" + ], + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the configuration draft.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.Metadata" + } + ] + }, + "errors": { + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, there were validation errors detected in the draft configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ValidationDetails" + } + ] + }, + "changes": { + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, there are changes in this draft configuration from the current desired configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ChangeDetails" + } + ] + }, + "conflicts": { + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, there are changes in this draft configuration that conflict with changes applied by a different user.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ConflictDetails" + } + ] + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "A mapping of BIOS UUIDs for every host in the cluster to information about that host. The host-specific/host-override sections of the configuration use BIOS UUIDs to identify hosts, so this information can be useful to get details about hosts mentioned there.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "host_id_to_uuid": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of host IDs to BIOS UUIDs.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "config": { + "type": "string", + "description": "Configuration specification associated with the draft, encoded as JSON.\n\nThis property was added in __vSphere API 8.0.2.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.Info schema defines the information about configuration draft.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.CreateSpec": { + "type": "object", + "properties": { + "config": { + "type": "string", + "description": "The initial configuration for the draft.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf not specified, the current desired configuration for the cluster will be used." + }, + "image_reference_host": { + "type": "string", + "description": "The host to use as the desired image for the cluster when VLCM is not in use.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf not specified, the previously used reference host will be carried over.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.CreateSpec schema contains information used when creating a draft.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.UpdateSpec": { + "required": [ + "config" + ], + "type": "object", + "properties": { + "expected_revision": { + "type": "integer", + "description": "When supplied, this revision value will be compared against the draft's current revision as returned in *Esx.Settings.Clusters.Configuration.Drafts.Metadata.revision* to ensure no other changes have been applied.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "format": "int64" + }, + "config": { + "type": "string", + "description": "The new cluster configuration for this draft, encoded as JSON.\n\nThis property was added in __vSphere API 8.0.2.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.UpdateSpec schema contains the new configuration for the draft.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ApplySpec": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message to include with the commit.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, message is set to empty string." + }, + "apply_policy_spec": { + "description": "The parameter can be used to override the default remediation policies for the apply task.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nif missing or `null` the default cluster remediation policies are used.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec" + } + ] + }, + "drift_reviews": { + "type": "array", + "description": "This field contains the drifts that need review from the user before apply.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DriftReview" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ApplySpec schema contains properties that are used to create a new commit.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ApplyResult": { + "required": [ + "commit" + ], + "type": "object", + "properties": { + "commit": { + "type": "string", + "description": "The ID of the commit created for this operation.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "apply_task": { + "type": "string", + "description": "If the cluster is not empty, this will be set to the ID of the Apply task.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ApplyResult schema contains the result of committing a draft.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ImportSpec": { + "required": [ + "host" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Identifier of the reference host to import ESX configuration from.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ImportSpec schema contains properties that are used to create/update a draft by importing cluster configuration.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty": { + "required": [ + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "A JSON-Pointer that refers to the property that has been changed.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "display_path": { + "type": "array", + "description": "A list of the display names for components of *Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty.path* property.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is missing or `null` if the display names cannot be computed.", + "items": { + "type": "string" + } + }, + "type": { + "type": "string", + "description": "The data type of the property pointed by {#path}.\n\nPossible values:\n - `PRIMITIVE`: The changed property is of primitive data type.\n - `OBJECT`: The changed property is of type object.\n - `ARRAY_OF_OBJECTS`: The changed property is of array of object data type.\n - `ARRAY_OF_PRIMITIVES`: The changed property is of array of primitive data type.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty.Type*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is missing or `null` if the data type of the property is not available." + }, + "current": { + "type": "string", + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, the current value of the property in the cluster configuration. If not set, the property does not exist in the current cluster configuration." + }, + "draft": { + "type": "string", + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, this is the new value for the property in this draft. If not set, the property has been deleted in this draft." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty schema contains information about a property that is different in this draft from the committed configuration.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty.Type": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty.Type enumerated type contains the possible data types of the changed property.\n\nPossible values:\n - `PRIMITIVE`: The changed property is of primitive data type.\n - `OBJECT`: The changed property is of type object.\n - `ARRAY_OF_OBJECTS`: The changed property is of array of object data type.\n - `ARRAY_OF_PRIMITIVES`: The changed property is of array of primitive data type.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "PRIMITIVE", + "OBJECT", + "ARRAY_OF_OBJECTS", + "ARRAY_OF_PRIMITIVES" + ] + }, + "Esx.Settings.Clusters.Configuration.Drafts.ChangesResult": { + "type": "object", + "properties": { + "sets": { + "type": "array", + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, this contains a list of properties that have been changed from one value to another in this draft.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty" + } + }, + "adds": { + "type": "array", + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, this contains a list of properties that have been added in this draft.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty" + } + }, + "deletes": { + "type": "array", + "description": "This property was added in __vSphere API 8.0.2.0__.\n\nIf set, this contains a list of properties that have been deleted in this draft.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Drafts.ChangedProperty" + } + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Drafts.ChangesResult schema contains a detailed description of the differences between this draft and the current desired configuration.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Esx.Settings.Clusters.Configuration.AvailableValues.PathSpec": { + "type": "object", + "properties": { + "host_id_type": { + "type": "string", + "description": "Type of host ID.\n\nPossible values:\n - `BIOS_UUID`: The identifier represents bios uuid of ESXi host.\n - `HOST_MOID`: The identifier represents host moid of ESXi host.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.AvailableValues.PathSpec.HostIdType*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set only for host specific paths to specify the type of host ID, either host moId or BIOS UUID." + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "List of host moids\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set to specify host moids in the cluster for which available values need to be computed for a path that represents host specific config.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "bios_uuids": { + "uniqueItems": true, + "type": "array", + "description": "List of host BIOS UUIDs\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set to specify BIOS UUIDs in the cluster for which available values need to be computed for a path that represents host specific config.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "input_spec": { + "type": "string", + "description": "Input spec, encoded as JSON.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set to provide a input spec that shall be used to compute available values for given path." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.AvailableValues.PathSpec schema contains properties that describe the input for path for which available values need to be computed.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.AvailableValues.PathSpec.HostIdType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.AvailableValues.PathSpec.HostIdType enumerated type contains the possible identifiers of a Host.\n\nPossible values:\n - `BIOS_UUID`: The identifier represents bios uuid of ESXi host.\n - `HOST_MOID`: The identifier represents host moid of ESXi host.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "BIOS_UUID", + "HOST_MOID" + ] + }, + "Esx.Settings.Clusters.Configuration.AvailableValues.RequestSpec": { + "required": [ + "path_specs" + ], + "type": "object", + "properties": { + "path_specs": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.AvailableValues.PathSpec" + }, + "description": "Map of paths to *Esx.Settings.Clusters.Configuration.AvailableValues.PathSpec* for getting available values.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.AvailableValues.RequestSpec schema contains paths for which available values need to be computed.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "cluster_values": { + "type": "string", + "description": "Available values for cluster configurations.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo.Status.OK*." + }, + "host_values": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Available values per host for host specific configurations.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo.Status.OK*.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "status": { + "type": "string", + "description": "Status for an input path.\n\nPossible values:\n - `OK`: The operation completed successfully.\n - `ERROR`: The operation encountered failed due to an error.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "error": { + "description": "Notifications for an input path.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo.Status.ERROR*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notification" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo schema contains available values for a path.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo.Status enumerated type contains the possible status codes for an input path.\n\nPossible values:\n - `OK`: The operation completed successfully.\n - `ERROR`: The operation encountered failed due to an error.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "OK", + "ERROR" + ] + }, + "Esx.Settings.Clusters.Configuration.AvailableValues.Info": { + "required": [ + "bios_uuid_to_host_id_map", + "hosts", + "results" + ], + "type": "object", + "properties": { + "results": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.AvailableValues.PathInfo" + }, + "description": "Contains available values for each input path\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "hosts": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "A mapping of BIOS UUID to the details of the host\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "bios_uuid_to_host_id_map": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of BIOS UUID to host moId\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the value in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the value in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.AvailableValues.Info schema contains available values for each input path passed to getAvailableValues API.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.Plugins.ClusterSolutionPrecheck": { + "required": [ + "display_name", + "status", + "summary" + ], + "type": "object", + "properties": { + "notifications": { + "description": "This field contains the impact information for a cluster solution to reach the desired configuration state. It shall also contain the errors set during impact operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set if there are no validation errors for cluster solution.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "drift_reviews": { + "type": "array", + "description": "This field contains the drifts that need review from the user before apply.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DriftReview" + } + }, + "display_name": { + "description": "Display name of Cluster Solution.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "status": { + "type": "string", + "description": "This field indicates whether the Cluster Solution is compliant with the desired cluster configuration specified in #com.vmware.esx.settings.clusters.configuration.ConfigurationSpec. If COMPLIANT, no other information is available. If NON_COMPLAINT, drift information can be fetched from {#ComplianceInfo}\n\nPossible values:\n - `COMPLIANT`: Solution is in compliance with Desired configuration.\n - `NON_COMPLIANT`: Solution is not in compliance with Desired configuration.\n - `ERROR`: Solution failed while checking for compliance.\n\n\nFor more information see: *Esx.Settings.Clusters.Configuration.SolutionComplianceResult.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "compliance_info": { + "description": "Settings compliance information generated by the CheckCompliance operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set only when the *Esx.Settings.Clusters.Configuration.SolutionComplianceResult.status* is NON_COMPLAINT", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ComplianceInfo" + } + ] + }, + "host_compliance_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ComplianceInfo" + }, + "description": "Map of host IDs to ComplianceInfo. Settings compliance information generated by the CheckCompliance operation for host-specific configurations of cluster solutions.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set only when the *Esx.Settings.Clusters.Configuration.SolutionComplianceResult.status* is NON_COMPLAINT\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "errors": { + "type": "array", + "description": "List of validation errors returned by the Cluster solution. This is only set for *Esx.Settings.Clusters.Configuration.SolutionComplianceResult.ComplianceStatus.ERROR* case.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis field is set only in case of solution plugin errors", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + }, + "summary": { + "description": "Summarizing check compliance operation for the cluster solution.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This Esx.Settings.Clusters.Configuration.Plugins.ClusterSolutionPrecheck schema contains properties that describes the impact result for a cluster solution.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Configuration.Reports.RecentTasks.DraftTasks": { + "type": "object", + "properties": { + "precheck": { + "type": "string", + "description": "The ID of the last precheck task to be executed for this draft.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Reports.RecentTasks.DraftTasks schema contains properties that specify the ID of the latest task to be executed for various operations on a draft.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Configuration.Reports.RecentTasks.Info": { + "required": [ + "draft_tasks" + ], + "type": "object", + "properties": { + "check_compliance": { + "type": "string", + "description": "The ID of the last check-compliance task to be executed.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "precheck": { + "type": "string", + "description": "The ID of the last precheck task to be executed.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "draft_tasks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.Reports.RecentTasks.DraftTasks" + }, + "description": "Map of draft IDs to the latest tasks executed for that draft.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.draft`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.draft`." + }, + "apply": { + "type": "string", + "description": "The ID of the last apply task to be executed.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + } + }, + "description": "The Esx.Settings.Clusters.Configuration.Reports.RecentTasks.Info schema contains properties that specify the ID of the latest task to be executed for various operations. If a task is currently running, that ID will be returned, otherwise the most recently finished task will be returned.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Info": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Status of the feature enablement True if feature is enabled, false otherwise\n\nThis property was added in __vSphere API 8.0.1.0__." + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Info schema contains information describing whether the feature is enabled.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Software.CheckType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Enablement.Software.CheckType enumerated type contains various checks to identify the possibility to enable the feature that manages the cluster with a single software specification.\n\nPossible values:\n - `SOFTWARE`: Perform host software check. This check is to report standalone VIBs (VIBs which are not part of any component) and the features on the given cluster that cannot coexist with the feature which manages the cluster with a single software specification.\n - `VERSION`: Perform host version check. This feature does not support hosts with version less than XYZ.\n - `STATELESSNESS`: Perform host statelessness check. This feature does not support stateless hosts.\n - `VUM_REMEDIATION`: Perform VUM active remediation check.\n - `SOFTWARE_SPECIFICATION_EXISTENCE`: Perform cluster's software specification existence check.\n - `VSAN_WITNESS_ELIGIBILITY`: Checks to verify if the cluster software specification can be used to manage any vSAN witness hosts in the cluster.\n\nThis constant was added in __vSphere API 7.0.2.1__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SOFTWARE", + "VERSION", + "STATELESSNESS", + "VUM_REMEDIATION", + "SOFTWARE_SPECIFICATION_EXISTENCE", + "VSAN_WITNESS_ELIGIBILITY" + ] + }, + "Esx.Settings.Clusters.Enablement.Software.Info": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Status of the feature enablement True if feature is enabled, false otherwise\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Software.Info schema contains information describing whether the feature is enabled.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Enablement.Software.CheckSpec": { + "required": [ + "checks_to_skip" + ], + "type": "object", + "properties": { + "checks_to_skip": { + "uniqueItems": true, + "type": "array", + "description": "Specifies the checks that should be skipped. If the set is empty, all checks will be performed.\n\nPossible values:\n - `SOFTWARE`: Perform host software check. This check is to report standalone VIBs (VIBs which are not part of any component) and the features on the given cluster that cannot coexist with the feature which manages the cluster with a single software specification.\n - `VERSION`: Perform host version check. This feature does not support hosts with version less than XYZ.\n - `STATELESSNESS`: Perform host statelessness check. This feature does not support stateless hosts.\n - `VUM_REMEDIATION`: Perform VUM active remediation check.\n - `SOFTWARE_SPECIFICATION_EXISTENCE`: Perform cluster's software specification existence check.\n - `VSAN_WITNESS_ELIGIBILITY`: Checks to verify if the cluster software specification can be used to manage any vSAN witness hosts in the cluster.\n\nThis constant was added in __vSphere API 7.0.2.1__.\n\n\nFor more information see: *Esx.Settings.Clusters.Enablement.Software.CheckType*.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Software.CheckSpec schema contains information describing what checks should be performed.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Enablement.Software.CheckResult": { + "required": [ + "notifications" + ], + "type": "object", + "properties": { + "notifications": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + }, + "description": "Notifications containing check results grouped by *Esx.Settings.Clusters.Enablement.Software.CheckType* type.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Software.CheckResult schema contains information that describes the results of the checks.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Enablement.Software.EnableSpec": { + "required": [ + "skip_software_check" + ], + "type": "object", + "properties": { + "skip_software_check": { + "type": "boolean", + "description": "Skip *Esx.Settings.Clusters.Enablement.Software.CheckType.SOFTWARE* check during feature enablement.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Software.EnableSpec schema contains information describing checks that should be skipped during enablement. Currently only *Esx.Settings.Clusters.Enablement.Software.CheckType.SOFTWARE* check can be skipped.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.Source": { + "type": "string", + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.Source enumerated type describes the possible sources for specifying the desired configuration of the cluster.\n\nPossible values:\n - `FILE`: This indicates that desired configuration originated from a file.\n - `HOST`: This indicates that desired configuration originated from a reference host.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "FILE", + "HOST" + ] + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.Hints": { + "type": "object", + "properties": { + "requires_reference_host": { + "type": "boolean", + "description": "This hint indicates whether a reference host is required to transition the cluster. This hint is set to true if the framework detects that cluster is not managed by vLCM. The value does not change based on the state of the transition workflow, or the value of the reference host, or status of the reference host.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf field is missing or `null` then the reference host is not required." + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.Hints contains properties that specifies additional information about the transition workflow. This data should be used as guidelines throughout the transition process.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.ReferenceHost": { + "required": [ + "host", + "host_info" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Reference host ID.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "host_info": { + "description": "Host Info for Reference host.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.ReferenceHost contains properties that specify the reference host information used by the transition process.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.State": { + "required": [ + "author", + "modified_time", + "source", + "start_time" + ], + "type": "object", + "properties": { + "author": { + "type": "string", + "description": "Author of transition.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "start_time": { + "type": "string", + "description": "The start time of the transition process.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "date-time" + }, + "modified_time": { + "type": "string", + "description": "Last modified time of the transition process.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "date-time" + }, + "source": { + "type": "string", + "description": "Source of reference configuration.\n\nPossible values:\n - `FILE`: This indicates that desired configuration originated from a file.\n - `HOST`: This indicates that desired configuration originated from a reference host.\n\n\nFor more information see: *Esx.Settings.Clusters.Enablement.Configuration.Transition.Source*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "host": { + "description": "Reference host.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of source is *Esx.Settings.Clusters.Enablement.Configuration.Transition.Source.HOST*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Configuration.Transition.ReferenceHost" + } + ] + }, + "filename": { + "type": "string", + "description": "Filename of the imported configuration.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of source is *Esx.Settings.Clusters.Enablement.Configuration.Transition.Source.FILE*." + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.State schema contains properties that describe the latest state of transitioning a cluster to desired configuration management platform.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.Info": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of transition on a cluster.\n\nPossible values:\n - `ENABLED`: Transition has completed successfully and the cluster is managed through the desired configuration management platform.\n - `ENABLE_IN_PROGRESS`: Transition has started and *POST /esx/settings/clusters/{cluster}/enablement/configuration/transition?action=enable* task is running on the cluster.\n - `NOT_ALLOWED_IN_CURRENT_STATE`: Cluster is not in a state to transition to desired configuration management platform. The cluster ends up in this state if another user identified by *Esx.Settings.Clusters.Enablement.Configuration.Transition.State.author* has already started transition.\n - `NOT_STARTED`: Transition has not started on the cluster.\n - `SOFTWARE_SPECIFICATION_NOT_SET`: Desired software specification is not set on the cluster. This is a pre-requisite to transition a cluster to desired configuration management platform.\n - `STARTED`: Transition has started on the cluster.\n\n\nFor more information see: *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "state": { + "description": "State of the transition. This field is set if the cluster is currently being transitioned to desired configuration management platform.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.STARTED* or *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.NOT_ALLOWED_IN_CURRENT_STATE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Configuration.Transition.State" + } + ] + }, + "fast_track": { + "type": "boolean", + "description": "Flag describing if fast transition workflow is eligible on the cluster. Fast transition allows user to enable desired configuration platform on the cluster with default configuration. The cluster is eligible if transition workflow is not started and the cluster is empty.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status.NOT_STARTED*." + }, + "hints": { + "description": "This field provides additional information about the transition workflow.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Enablement.Configuration.Transition.Hints" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.Info schema contains properties that describe the current status of transition process in the cluster.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.Info.Status enumerated type contains the possible status codes describing the transition state of the cluster.\n\nPossible values:\n - `ENABLED`: Transition has completed successfully and the cluster is managed through the desired configuration management platform.\n - `ENABLE_IN_PROGRESS`: Transition has started and *POST /esx/settings/clusters/{cluster}/enablement/configuration/transition?action=enable* task is running on the cluster.\n - `NOT_ALLOWED_IN_CURRENT_STATE`: Cluster is not in a state to transition to desired configuration management platform. The cluster ends up in this state if another user identified by *Esx.Settings.Clusters.Enablement.Configuration.Transition.State.author* has already started transition.\n - `NOT_STARTED`: Transition has not started on the cluster.\n - `SOFTWARE_SPECIFICATION_NOT_SET`: Desired software specification is not set on the cluster. This is a pre-requisite to transition a cluster to desired configuration management platform.\n - `STARTED`: Transition has started on the cluster.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "ENABLED", + "ENABLE_IN_PROGRESS", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_STARTED", + "SOFTWARE_SPECIFICATION_NOT_SET", + "STARTED" + ] + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.EligibilityResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of eligibility checks performed on a cluster.\n\nPossible values:\n - `ELIGIBLE`: This indicates that the cluster meets all the eligibility requirements.\n - `NOT_ELIGIBLE`: This indicates that the cluster does not meet the eligibility requirements.\n\n\nFor more information see: *Esx.Settings.Clusters.Enablement.Configuration.Transition.EligibilityResult.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "notifications": { + "description": "Notifications providing additional information about the status of eligibility checks.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis field is missing or `null` when *Esx.Settings.Clusters.Enablement.Configuration.Transition.EligibilityResult.status* is ELIGIBLE.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "This Esx.Settings.Clusters.Enablement.Configuration.Transition.EligibilityResult schema contains properties that describe the result of the eligibility checks performed on the cluster to determine if the cluster can transition to desired configuration management platform.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.EligibilityResult.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.EligibilityResult.Status enumerated type contains the possible status codes describing the result of eligibility checks.\n\nPossible values:\n - `ELIGIBLE`: This indicates that the cluster meets all the eligibility requirements.\n - `NOT_ELIGIBLE`: This indicates that the cluster does not meet the eligibility requirements.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "ELIGIBLE", + "NOT_ELIGIBLE" + ] + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.FileSpec": { + "required": [ + "config", + "filename" + ], + "type": "object", + "properties": { + "filename": { + "type": "string", + "description": "Filename of the imported configuration.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "config": { + "type": "string", + "description": "Configuration from the imported file.\n\nThis property was added in __vSphere API 8.0.1.0__." + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.FileSpec contain properties that contains the details of the file being imported during transition process.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableSpec": { + "type": "object", + "properties": { + "drift_reviews": { + "type": "array", + "description": "This field contains the drifts that need review from the user before enable.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.DriftReview" + } + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableSpec schema contain properties that describe the specification to be used to enable ConfigManager on the cluster.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.ValidateResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status indicating whether the configuration draft validated successfully.\n\nPossible values:\n - `INVALID`: This indicates that the configuration draft is invalid.\n - `VALID`: This indicates that the configuration draft is valid.\n\n\nFor more information see: *Esx.Settings.Clusters.Enablement.Configuration.Transition.ValidateResult.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "errors": { + "type": "array", + "description": "Lists all validation errors identified in the configuration draft.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Enablement.Configuration.Transition.ValidateResult.Status.INVALID*.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ValidationError" + } + }, + "compliance": { + "description": "Cluster Compliance result.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Enablement.Configuration.Transition.ValidateResult.Status.VALID*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Configuration.ClusterCompliance" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.ValidateResult schema contains properties that describe the validity of the imported desired configuration, and compliance information.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.ValidateResult.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.ValidateResult.Status enumerated type contains the possible status codes describing the result of validating configuration draft.\n\nPossible values:\n - `INVALID`: This indicates that the configuration draft is invalid.\n - `VALID`: This indicates that the configuration draft is valid.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "INVALID", + "VALID" + ] + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of enabling configmanager on a cluster.\n\nPossible values:\n - `ERROR`: Failed to enable ConfigManager on the cluster.\n - `RUNNING`: The task is in-progress.\n - `SUCCESS`: ConfigMnager enabled on the cluster.\n - `SUCCESS_APPLY_INITIATED`: ConfigMnager enabled on the cluster and remediation was initiated.\n\n\nFor more information see: *Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableResult.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "errors": { + "type": "array", + "description": "List of errors if any.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableResult.Status.ERROR*.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Notification" + } + }, + "apply_task_id": { + "type": "string", + "description": "ID of the Apply task invoked once ConfigManager is enabled on the cluster.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableResult.Status.SUCCESS_APPLY_INITIATED*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + } + }, + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableResult schema contains properties that describes the result of enabling configmanager on a cluster as part of the transition process.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableResult.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Enablement.Configuration.Transition.EnableResult.Status enumerated type contains the status of Enable API.\n\nPossible values:\n - `ERROR`: Failed to enable ConfigManager on the cluster.\n - `RUNNING`: The task is in-progress.\n - `SUCCESS`: ConfigMnager enabled on the cluster.\n - `SUCCESS_APPLY_INITIATED`: ConfigMnager enabled on the cluster and remediation was initiated.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "ERROR", + "RUNNING", + "SUCCESS", + "SUCCESS_APPLY_INITIATED" + ] + }, + "Esx.Settings.Clusters.Policies.ConfigManagerPolicySpec": { + "type": "object", + "properties": { + "serial_remediation": { + "type": "boolean", + "description": "Specifies whether the hosts in the cluster should be serially remediated.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, configured values will be unset." + }, + "auto_remediate_on_host_add": { + "type": "boolean", + "description": "Specifies whether newly added hosts in the cluster will be automatically remediated.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the configured value will be false." + } + }, + "description": "This specification defines the settings to manage the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* API behaviour.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.Clusters.Policies.ConfigManagerPolicySpecResetInfo": { + "required": [ + "from", + "to" + ], + "type": "object", + "properties": { + "from": { + "description": "The configured values of the com.vmware.esx.settings.clusters.policies.Apply.ConfigManagerPolicySpec.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.ConfigManagerPolicySpec" + } + ] + }, + "to": { + "description": "The values of the com.vmware.esx.settings.clusters.policies.Apply.ConfigManagerPolicySpec for when the configured value is reset.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.ConfigManagerPolicySpec" + } + ] + } + }, + "description": "Describes the outcome when the settings that govern the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* API behaviour are reset.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Esx.Settings.Clusters.Policies.Apply.FailureAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "What action (Action) is to be taken if entering maintenance mode fails on a single host within the cluster.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task *Esx.Settings.Clusters.Policies.Apply.FailureAction.retry_count* number of times on the failed host after *Esx.Settings.Clusters.Policies.Apply.FailureAction.retry_delay*.\n\n\nFor more information see: *Esx.Settings.Clusters.Policies.Apply.FailureAction.Action*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "retry_delay": { + "type": "integer", + "description": "Time to wait to retry the failed operation in seconds.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Clusters.Policies.Apply.FailureAction.Action.RETRY*.", + "format": "int64" + }, + "retry_count": { + "type": "integer", + "description": "Number of times to retry the failed operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Clusters.Policies.Apply.FailureAction.Action.RETRY*.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Clusters.Policies.Apply.FailureAction schema contains properties that describe the actions to be taken when entering maintenance mode fails on a single host within the cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Policies.Apply.FailureAction.Action": { + "type": "string", + "description": "The Esx.Settings.Clusters.Policies.Apply.FailureAction.Action enumerated type defines the actions to be taken when entering maintenance mode fails on a single host within the cluster.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task *Esx.Settings.Clusters.Policies.Apply.FailureAction.retry_count* number of times on the failed host after *Esx.Settings.Clusters.Policies.Apply.FailureAction.retry_delay*.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "Esx.Settings.Clusters.Policies.Apply.ParallelRemediationAction": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable parallel remediation for hosts in maintenance mode within a cluster.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "max_hosts": { + "type": "integer", + "description": "Maximum number of hosts that can be remediated in parallel. Setting *Esx.Settings.Clusters.Policies.Apply.ParallelRemediationAction.max_hosts* does not guarantee maxHosts to be remediated in parallel.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, number of hosts that can be remediated in parallel would be set to maximum number of hosts supported per cluster.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Clusters.Policies.Apply.ParallelRemediationAction schema contains properties that provide settings to remediate multiple hosts of a cluster in parallel. This schema will be deprecated in the future. It is recommended to use *Esx.Settings.ClusterParallelRemediationAction* instead. \n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec": { + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on a given host of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.FailureAction" + } + ] + }, + "pre_remediation_power_action": { + "type": "string", + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "enable_quick_boot": { + "type": "boolean", + "description": "Enable Quick Boot during remediation in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "disable_dpm": { + "type": "boolean", + "description": "Disable DPM on the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "disable_hac": { + "type": "boolean", + "description": "Disable HA Admission control on the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "evacuate_offline_vms": { + "type": "boolean", + "description": "Evacuate powered off/suspended VMs when attempting maintenance mode.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "enforce_hcl_validation": { + "type": "boolean", + "description": "Enforce HCL validation, when applicable, to prevent remediation if hardware compatibility issues are found.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, hardware compatibility issues will not prevent remediation. This field will be deprecated in the future. It is recommended to set the corresponding field in *Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.software_policy_spec* instead. " + }, + "parallel_remediation_action": { + "description": "Enable parallel remediation of hosts in maintenance mode. Set max hosts when applicable.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, parallel remediation will not happen. This field will be deprecated in the future. It is recommended to set the corresponding field in *Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.software_policy_spec* instead. ", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.ParallelRemediationAction" + } + ] + }, + "enforce_quick_patch": { + "type": "boolean", + "description": "Enforce quick patch on the cluster for images that support it.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, configured value would be unset. This field will be deprecated in the future. It is recommended to set Apply.ConfiguredPolicySpec.softwarePolicySpec#livePatchAction instead, which contains additional Live Patch modes. Only one of these two fields should be set. When this field is set to true, Apply.ConfiguredPolicySpec.softwarePolicySpec.livePatchAction#livePatchMode will be set to com.vmware.esx.settings.ClusterLivePatchAction.LivePatchMode#ENFORCE_LIVE_PATCH automatically. When this field is set to false, Apply.ConfiguredPolicySpec.softwarePolicySpec.livePatchAction#livePatchMode will be set to com.vmware.esx.settings.ClusterLivePatchAction.LivePatchMode#DISABLE_LIVE_PATCH automatically." + }, + "software_policy_spec": { + "description": "Software-specific policy settings applicable to the *POST /esx/settings/clusters/{cluster}/software?action=apply* API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, software-specific policy values will be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ClusterSoftwarePolicySpec" + } + ] + }, + "config_manager_policy_spec": { + "description": "Configure settings applicable to the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* API.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, configured values will be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.ConfigManagerPolicySpec" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec schema contains properties that describe the policies configured to be used when the software and configuration specification documents are applied to an ESXi cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction": { + "type": "string", + "description": "The Esx.Settings.Clusters.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction enumerated type defines the possible actions to be taken, before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "Esx.Settings.Clusters.Policies.Apply.Effective.FailureAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "What action (Action) is to be taken if entering maintenance mode fails on a single host within the cluster.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task Apply.FailureAction#retryCount number of times on the failed host after Apply.FailureAction#retryDelay.\n\n\nFor more information see: *Esx.Settings.Clusters.Policies.Apply.Effective.FailureAction.Action*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "retry_delay": { + "type": "integer", + "description": "Time to wait to retry the failed operation in seconds.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Clusters.Policies.Apply.Effective.FailureAction.Action.RETRY*.", + "format": "int64" + }, + "retry_count": { + "type": "integer", + "description": "Number of times to retry the failed operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Clusters.Policies.Apply.Effective.FailureAction.Action.RETRY*.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Clusters.Policies.Apply.Effective.FailureAction schema contains properties that describe the actions to be taken when entering maintenance mode fails on a single host within the cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Policies.Apply.Effective.FailureAction.Action": { + "type": "string", + "description": "The Esx.Settings.Clusters.Policies.Apply.Effective.FailureAction.Action enumerated type defines the actions to be taken when entering maintenance mode fails on a single host within the cluster.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task Apply.FailureAction#retryCount number of times on the failed host after Apply.FailureAction#retryDelay.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "Esx.Settings.Clusters.Policies.Apply.Effective.ParallelRemediationAction": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable parallel remediation for hosts in maintenance mode within a cluster.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "max_hosts": { + "type": "integer", + "description": "Maximum number of hosts that can be remediated in parallel. Setting *Esx.Settings.Clusters.Policies.Apply.ParallelRemediationAction.max_hosts* does not guarantee maxHosts to be remediated in parallel.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, number of hosts that can be remediated in parallel would be set to maximum number of hosts supported per cluster.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Clusters.Policies.Apply.Effective.ParallelRemediationAction schema contains properties that provide settings to remediate multiple hosts of a cluster in parallel. This schema will be deprecated in the future. It is recommended to use *Esx.Settings.ClusterParallelRemediationAction* instead. \n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec": { + "required": [ + "disable_dpm", + "disable_hac", + "enable_quick_boot", + "evacuate_offline_vms", + "failure_action", + "pre_remediation_power_action" + ], + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on a given host of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.Effective.FailureAction" + } + ] + }, + "pre_remediation_power_action": { + "type": "string", + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "enable_quick_boot": { + "type": "boolean", + "description": "Enable Quick Boot during remediation in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "disable_dpm": { + "type": "boolean", + "description": "Disable DPM on the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "disable_hac": { + "type": "boolean", + "description": "Disable HA Admission control on the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "evacuate_offline_vms": { + "type": "boolean", + "description": "Evacuate powered off/suspended VMs when attempting maintenance mode.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "enforce_hcl_validation": { + "type": "boolean", + "description": "Enforce HCL validation, when applicable, to prevent remediation if hardware compatibility issues are found. This field will be deprecated in the future. It is recommended to set the corresponding field in *Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec.software_policy_spec* instead. \n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "parallel_remediation_action": { + "description": "Enable parallel remediation of hosts in maintenance mode. This field will be deprecated in the future. It is recommended to set the corresponding field in *Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec.software_policy_spec* instead. \n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.Apply.Effective.ParallelRemediationAction" + } + ] + }, + "enforce_quick_patch": { + "type": "boolean", + "description": "Enforce quick patch on the cluster for images that support it. This field will be deprecated in the future. When its value is false, it does not necessarily mean Live Patch is disabled. Refer to Effective.EffectivePolicySpec.softwarePolicySpec#livePatchAction, which can be set to use one of several Live Patch modes in addition to enforce Live Patch, for the actual mode that is effective.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "software_policy_spec": { + "description": "Software-specific policy settings applicable to the *POST /esx/settings/clusters/{cluster}/software?action=apply* API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ClusterSoftwarePolicySpec" + } + ] + }, + "config_manager_policy_spec": { + "description": "Configure settings applicable to the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* API.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.ConfigManagerPolicySpec" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec schema contains properties that describe the effective policies to be used when the software and configuration specification documents are applied to an ESXi cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction": { + "type": "string", + "description": "The Esx.Settings.Clusters.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction enumerated type defines the possible actions to be taken, before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "Esx.Settings.Clusters.Software.AlternativeImages.ListResult": { + "required": [ + "alternative_images" + ], + "type": "object", + "properties": { + "alternative_images": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ImageInfo" + }, + "description": "The map of Image ID and ImageInfo of all the alternative images.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + } + }, + "description": "The ListResult schema contains the map of Image ID and ImageInfo of all the alternative images.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Commits.Info": { + "required": [ + "apply_status", + "author", + "commit_time", + "description" + ], + "type": "object", + "properties": { + "author": { + "type": "string", + "description": "Author of the commit.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "commit_time": { + "type": "string", + "description": "Creation time of the commit.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "Description accompanying this commit.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "apply_status": { + "type": "string", + "description": "Apply status of the commit.\n\nPossible values:\n - `APPLIED`: Commit has been applied to the cluster.\n - `NOT_APPLIED`: Commit hasn't been applied to the cluster.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Commits.Info.ApplyStatusType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Commits.Info schema defines the information about software draft.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Commits.Info.ApplyStatusType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Commits.Info.ApplyStatusType schema defines possible values regarding the application of this commit.\n\nPossible values:\n - `APPLIED`: Commit has been applied to the cluster.\n - `NOT_APPLIED`: Commit hasn't been applied to the cluster.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "APPLIED", + "NOT_APPLIED" + ] + }, + "Esx.Settings.Clusters.Software.Drafts.StatusType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Drafts.StatusType enumerated type defines possible values of status of a software draft.\n\nPossible values:\n - `VALID`: Software draft is valid.\n - `INVALID`: Software draft is invalid.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "VALID", + "INVALID" + ] + }, + "Esx.Settings.Clusters.Software.Drafts.SourceType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Drafts.SourceType enumerated type defines possible values of sources to import software specification.\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in {@link #pullLocation) can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n - `JSON_STRING`: The string representing the content of the software specification.\n - `LATEST_RECOMMENDATION`: Content is from recommended image specification based on latest base image version. Recommendations can be generated using *POST /esx/settings/clusters/{cluster}/software/recommendations?action=generate*.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CURRENT_SERIES_RECOMMENDATION`: Content is from recommended image specification based on latest base image patch or update of the current series. For example, a cluster's current desired base image is 7.0. Recommendation engine will look into any recommendable image specification with 7.0 series base images available at depot manager and try to recommend the highest version within 7.0 series if possible. Let's say in this example, depot manager has 7.0 patch a and 7.0 update 1 base images. Recommendation engine would first validate all possible images based on 7.0 update 1. If it finds a valid one, it will store the recommended content with that series. This enum value will point to that stored recommended image content. \n\n Recommendations can be generated using *POST /esx/settings/clusters/{cluster}/software/recommendations?action=generate*.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `SPECIFIED_BASE_IMAGE_RECOMMENDATION`: Content is from recommended image specification based on a specified base image version. Recommendations can be generated using *POST /esx/settings/clusters/{cluster}/software/recommendations?action=generate*.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "PULL", + "PUSH", + "JSON_STRING", + "LATEST_RECOMMENDATION", + "CURRENT_SERIES_RECOMMENDATION", + "SPECIFIED_BASE_IMAGE_RECOMMENDATION" + ] + }, + "Esx.Settings.Clusters.Software.Drafts.ValidateResult": { + "required": [ + "notifications" + ], + "type": "object", + "properties": { + "notifications": { + "description": "Notifications associated with the validation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.ValidateResult schema contains properties to describe result of validation of desired software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Metadata": { + "required": [ + "creation_time", + "owner", + "status" + ], + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "Owner of the software draft.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "status": { + "type": "string", + "description": "Status of the software draft.\n\nPossible values:\n - `VALID`: Software draft is valid.\n - `INVALID`: Software draft is invalid.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Drafts.StatusType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "creation_time": { + "type": "string", + "description": "Creation time of the software draft.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.Metadata schema defines the metadata information about software draft.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Info": { + "required": [ + "metadata", + "software" + ], + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the software draft.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Metadata" + } + ] + }, + "software": { + "description": "Software specification associated with the draft.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "display_name": { + "type": "string", + "description": "Display name of the software draft.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.Info schema defines the information about software draft.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Summary": { + "required": [ + "metadata" + ], + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the software draft.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Drafts.Metadata" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.Summary schema defines the summary information about software draft.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.FilterSpec": { + "type": "object", + "properties": { + "owners": { + "uniqueItems": true, + "type": "array", + "description": "Owners of the drafts.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, drafts from all owners will be returned.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.FilterSpec schema contains properties used to filter the results when listing software drafts. See *GET /esx/settings/clusters/{cluster}/software/drafts*.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.CommitSpec": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message to include with the commit.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, message is set to empty string." + }, + "orchestrator": { + "description": "Orchestrator specification of the commit.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no orchestrator details is provided with the commit. \n\nNote: \n\n1. It is used by vLCM orchestrators like SDDC Manager to manage the desired state. For a non-orchestrator user i.e. a VC user, it must be unset. \n\n2. Setting it prevents other users from modifying the committed desired state.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.OrchestratorSpec" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.CommitSpec schema contains properties that are used to create a new commit.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.ImportSpec": { + "required": [ + "source_type" + ], + "type": "object", + "properties": { + "source_type": { + "type": "string", + "description": "Type of the source to import the desired software specification\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in {@link #pullLocation) can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n - `JSON_STRING`: The string representing the content of the software specification.\n - `LATEST_RECOMMENDATION`: Content is from recommended image specification based on latest base image version. Recommendations can be generated using *POST /esx/settings/clusters/{cluster}/software/recommendations?action=generate*.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CURRENT_SERIES_RECOMMENDATION`: Content is from recommended image specification based on latest base image patch or update of the current series. For example, a cluster's current desired base image is 7.0. Recommendation engine will look into any recommendable image specification with 7.0 series base images available at depot manager and try to recommend the highest version within 7.0 series if possible. Let's say in this example, depot manager has 7.0 patch a and 7.0 update 1 base images. Recommendation engine would first validate all possible images based on 7.0 update 1. If it finds a valid one, it will store the recommended content with that series. This enum value will point to that stored recommended image content. \n\n Recommendations can be generated using *POST /esx/settings/clusters/{cluster}/software/recommendations?action=generate*.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `SPECIFIED_BASE_IMAGE_RECOMMENDATION`: Content is from recommended image specification based on a specified base image version. Recommendations can be generated using *POST /esx/settings/clusters/{cluster}/software/recommendations?action=generate*.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Drafts.SourceType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "location": { + "type": "string", + "description": "Location of the software specification file to be imported.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Clusters.Software.Drafts.SourceType.PULL*.", + "format": "uri" + }, + "file_id": { + "type": "string", + "description": "File identifier returned by the file upload endpoint after file is uploaded.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Clusters.Software.Drafts.SourceType.PUSH*." + }, + "software_spec": { + "type": "string", + "description": "The JSON string representing the desired software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Clusters.Software.Drafts.SourceType.JSON_STRING*." + }, + "display_name": { + "type": "string", + "description": "Display name of the desired software specification.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.ImportSpec schema defines the information used to import the desired software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Recommendations.ExplanationDetails": { + "required": [ + "display_name", + "display_version", + "explanation" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of an excluded image entity (base image, add-on etc.).\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Display version of an excluded image entity (base image, add-on etc.).\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "explanation": { + "type": "array", + "description": "List of explanations on why the image entity is excluded.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Recommendations.ExplanationDetails schema contains properties to describe the result of validation of desired software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Recommendations.Info": { + "required": [ + "base_image_explanation_details" + ], + "type": "object", + "properties": { + "latest_recommendation": { + "description": "Recommended image specification based on latest base image version.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if no recommended image based on latest base image version is available.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "current_series_recommendation": { + "description": "Recommended image specification based on latest base image patch or update of the current series.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if no recommended image based on latest base image patch or update of the current series is available.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "specified_base_image_version_recommendation": { + "description": "Recommended image specification based on a specified base image version.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nmissing or `null` if no recommendation image based on the specified base image version is available.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "base_image_explanation_details": { + "type": "array", + "description": "Details about why some base images are excluded in latest and current series recommendations. This is not applicable for specified base image recommendations.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Recommendations.ExplanationDetails" + } + }, + "check_time": { + "type": "string", + "description": "The most recent timestamp when check for recommended image is launched.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` if no recommendation check has ever been launched.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.Clusters.Software.Recommendations.Info schema defines the information about the most recent recommendation generation result.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Recommendations.FilterSpec": { + "type": "object", + "properties": { + "base_image_version": { + "type": "string", + "description": "Base image version string is used in generating the specified base image recommendations. Default recommendations are generated when the value is empty.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Recommendations.FilterSpec schema contains properties used to filter the generated recommendations (see *POST /esx/settings/clusters/{cluster}/software/recommendations?action=generate*) based on a specified base image version.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Settings.Clusters.Software.Solutions.UpdateSolutionsSpec": { + "required": [ + "solutions" + ], + "type": "object", + "properties": { + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.SolutionSpec" + }, + "description": "Mapping from solution identifier to the solution specification. The key is the solution name and the value is the specification detailing components registered by that solution.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + } + }, + "description": "The Esx.Settings.Clusters.Software.Solutions.UpdateSolutionsSpec schema contains properties that describe solutions registered in the software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.AlternativeImages.DisplayName.Info": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the alternative image.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.DisplayName.Info schema contains information about the display name of an alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.AlternativeImages.Software.ExportType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.ExportType enumerated type defines the formats in which software specification document or image can be exported.\n\nPossible values:\n - `SOFTWARE_SPEC`: Export software specification document.\n - `ISO_IMAGE`: Export ISO image.\n - `OFFLINE_BUNDLE`: Export offline bundle.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SOFTWARE_SPEC", + "ISO_IMAGE", + "OFFLINE_BUNDLE" + ] + }, + "Esx.Settings.Clusters.Software.AlternativeImages.Software.ExportSpec": { + "required": [ + "export_iso_image", + "export_offline_bundle", + "export_software_spec" + ], + "type": "object", + "properties": { + "export_software_spec": { + "type": "boolean", + "description": "Whether to export software specification document.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "export_iso_image": { + "type": "boolean", + "description": "Whether to export ISO image.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "export_offline_bundle": { + "type": "boolean", + "description": "Whether to export offline bundle.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "skip_reserved_vibs_export": { + "type": "boolean", + "description": "Skip packaging of reserved VIBs in the exported offline-bundle/ISO. During effective VIB computation, a VIB at a lower version can get replaced by the same VIB at a higher version coming from another release unit. vLCM caches the lower version VIB in ESX-OSData partition to support extraction of currently running image from the hosts. Setting this option means (a) export will not package reserved VIBs, (b) the exported depot will be partial and remediation of images from such depots must be accompanied with com.vmware.esx.settings.clusters.policies.Apply.ConfiguredPolicySpec#skipReservedVibsCaching. Otherwise, the remediation might fail. \n\nNOTE: Use this option with caution.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, reserved VIBs will be packaged." + } + }, + "description": "The Esx.Settings.Clusters.Software.AlternativeImages.Software.ExportSpec schema contains information describing how a software specification or image should be exported.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.DisplayName.Info": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.DisplayName.Info schema contains information about the display name of a software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.DisplayName.SetSpec": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.DisplayName.SetSpec schema contains information about the display name of a software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.CreateSpec": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the alternative image.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.CreateSpec schema contains information used when creating an alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.ListResult": { + "required": [ + "alternative_images" + ], + "type": "object", + "properties": { + "alternative_images": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ImageInfo" + }, + "description": "The map of Image ID and ImageInfo of all the alternative images.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + } + }, + "description": "The ListResult schema contains the map of Image ID and ImageInfo of all the alternative images.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Software.Components.UpdateSpec": { + "type": "object", + "properties": { + "components_to_set": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of components to be updated. If the component already exists in the draft, the version is updated, else it is added. If a component is provided without version, then its version will be chosen based on constraints in the system.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no components will be added or updated.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "components_to_delete": { + "uniqueItems": true, + "type": "array", + "description": "List of components to be removed.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no components will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.component`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.Components.UpdateSpec schema contains properties that are specified to update list of components in the draft.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName.Info": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the alternative image.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName.Info schema contains information about the display name of an alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName.SetSpec": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the alternative image.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.DisplayName.SetSpec schema contains information about the display name of an alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components.UpdateSpec": { + "type": "object", + "properties": { + "components_to_set": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of components to be updated. If the component already exists in the draft, the version is updated, else it is added. If a component is provided without version, then its version will be chosen based on constraints in the system.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no components will be added or updated.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "components_to_delete": { + "uniqueItems": true, + "type": "array", + "description": "List of components to be removed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no components will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.component`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Drafts.Software.AlternativeImages.Software.Components.UpdateSpec schema contains properties that are specified to update list of components of the alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail enumerated type contains the essential status values for compliance with respect to target Broadcom Compatibility Guide (BCG)\n\nPossible values:\n - `CERTIFIED`: Hardware is specifically certified for target vSphere version according to the BCG/HCL\n - `NOT_CERTIFIED`: Hardware is specifically not certified for target vSphere version according to the BCG/HCL\n - `HCL_DATA_UNAVAILABLE`: HCL data can not be fetched to validate cluster hardware.\n - `HOSTS_UNAVAILABLE`: Hosts in cluster are not available to validate cluster hardware.\n - `FIRMWARE_VERSION_UNKNOWN`: No firmware version information is available (for example no Hardware Support Manager, HSM, configured in the cluster's Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema or the system failed to retrieve the current firmware version of a device using the specified HSM.\n - `UNKNOWN`: When given hardware may be certified for a release but its status can't be definitively determined due to ambiguity in server model, CPU series, or BIOS version\n - `VENDOR_UPDATE`: When BIOS or firmware has been updated from a certified entry found in the Broadcom Compatibility Guide (BCG)\n - `USER_VERIFIED`: When a server or device's HCL compliance status has been overridden by the user to mark the system as compliant\n - `USER_FLAGGED`: When a server or device's HCL compliance status has been overridden by the user to mark the system as non-compliant\n - `MUTED`: When a user requests a non-compliance or HCL compliance unavailable warning to be suppressed\n\n\nThis enumeration was added in __vSphere API 7.0.2.1__.", + "enum": [ + "CERTIFIED", + "NOT_CERTIFIED", + "HCL_DATA_UNAVAILABLE", + "HOSTS_UNAVAILABLE", + "FIRMWARE_VERSION_UNKNOWN", + "UNKNOWN", + "VENDOR_UPDATE", + "USER_VERIFIED", + "USER_FLAGGED", + "MUTED" + ] + }, + "Esx.Settings.Clusters.Software.Reports.Service": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.Service enumerated type specifies information about vSphere solutions that have solution specific Broadcom Compatibility Guide certification\n\nPossible values:\n - `VSAN`: VSAN Service for mapping to features.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "VSAN" + ] + }, + "Esx.Settings.Clusters.Software.Reports.ComplianceStatus": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.ComplianceStatus enumerated type contains the possible different status of compliance with respect to target version.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with Broadcom Compatibility Guide (BCG)\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with Broadcom Compatibility Guide (BCG)\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with Broadcom Compatibility Guide (BCG) cannot be determined.\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "COMPATIBLE", + "INCOMPATIBLE", + "HCL_DATA_UNAVAILABLE", + "UNAVAILABLE", + "NO_FIRMWARE_PROVIDER" + ] + }, + "Esx.Settings.Clusters.Software.Reports.FirmwareVersionMatchingCriteria": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.FirmwareVersionMatchingCriteria enumerated type contains the criteria for firmware version comparison\n\nPossible values:\n - `EXACT`: Firmware version is matched to exact version specified\n - `MINIMUM`: Firmware version is matched to be at least minimum version specified\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "EXACT", + "MINIMUM" + ] + }, + "Esx.Settings.Clusters.Software.Reports.ImageHostDetails": { + "required": [ + "hosts" + ], + "type": "object", + "properties": { + "image": { + "description": "This property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` for the default image.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ImageInfo" + } + ] + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "This property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.ImageHostDetails schema contains details about the image and the list of hosts on which it will be applied.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.DriverFirmwareVersion": { + "required": [ + "driver_name", + "driver_version", + "firmware_version" + ], + "type": "object", + "properties": { + "driver_version": { + "type": "string", + "description": "Driver Version.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "firmware_version": { + "type": "string", + "description": "Firmware Version. This will be an empty string if the target firmware version cannot be determined.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "driver_name": { + "type": "string", + "description": "Driver Name.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.DriverFirmwareVersion schema contains information about device's driver and firmware version combination from Hardware Compatibility List or from the target versions from the desired state.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.ImageDriverFirmwareDetails": { + "required": [ + "image_host_details", + "target" + ], + "type": "object", + "properties": { + "image_host_details": { + "description": "This property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.ImageHostDetails" + } + ] + }, + "target": { + "description": "This property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.DriverFirmwareVersion" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.ImageDriverFirmwareDetails schema contains details about the target image, driver and firmware versions for a given PCI device.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.PciDeviceConstraint": { + "required": [ + "supported_features" + ], + "type": "object", + "properties": { + "firmware_version": { + "type": "string", + "description": "Certified Firmware Version.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` - If there is no firmware version specified for the device" + }, + "firmware_version_match": { + "type": "string", + "description": "Criteria for matching firmware version\n\nPossible values:\n - `EXACT`: Firmware version is matched to exact version specified\n - `MINIMUM`: Firmware version is matched to be at least minimum version specified\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.FirmwareVersionMatchingCriteria*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` when firmware version is not set" + }, + "driver_name": { + "type": "string", + "description": "Certified Driver Name.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` If there is no driver certification for the device" + }, + "driver_version": { + "type": "string", + "description": "Certified Driver Version(Exact Matching criteria).\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` If there is no driver certification for the device." + }, + "supported_features": { + "type": "object", + "additionalProperties": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Map of solutions and the corresponding features that the device is certified for in the Broadcom Compatibility Guide If map is empty, device is not certified for any specific solutions like vSAN. If Service is set but features are empty, means device is certified for solution. If Service is set and features is also set, means device is certified for specific features\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.PciDeviceConstraint schema contain information about PCI device's hardware compatibility certification including details like driver and/or firmware versions and the set of validated features supported\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Clusters.Software.Reports.StorageDeviceConstraint": { + "type": "object", + "properties": { + "firmware_version": { + "type": "string", + "description": "Certified Firmware Version.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null`- If there is no firmware version specified for the device" + }, + "firmware_version_match": { + "type": "string", + "description": "Criteria for matching firmware version\n\nPossible values:\n - `EXACT`: Firmware version is matched to exact version specified\n - `MINIMUM`: Firmware version is matched to be at least minimum version specified\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.FirmwareVersionMatchingCriteria*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` when firmware version is not set" + }, + "driver_name": { + "type": "string", + "description": "Certified Driver Name.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` If there is no driver certification for the device" + }, + "driver_version": { + "type": "string", + "description": "Certified Driver Version.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` If there is no driver certification for the device" + }, + "supported_features": { + "type": "object", + "additionalProperties": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Map of solutions and the corresponding features that the device is certified for in the Broadcom Compatibility Guide If map is empty, device is not certified for any specific solutions like vSAN If Service is set but features are empty, means device is certified for solution. If Service is set and features is also set, means device is certified for specific features.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The StorageHclConstraint schema contains information about Storage device's hardware compatibility certification including details like driver and/or firmware versions and the set of validated features supported\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Clusters.Software.Reports.PciDevice": { + "required": [ + "did", + "display_name", + "driver_name", + "ssid", + "svid", + "vendor", + "vid" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the device.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "driver_name": { + "type": "string", + "description": "Driver Name of the device.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor Name of the device.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vid": { + "type": "string", + "description": "PCI VID of the device.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "did": { + "type": "string", + "description": "PCI DID of the device.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "svid": { + "type": "string", + "description": "PCI SVID of the device.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ssid": { + "type": "string", + "description": "PCI SSID of the device.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.PciDevice schema contains information about a PCI Device.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.PciDeviceComplianceInfo": { + "required": [ + "compatible_versions", + "device", + "host_info", + "status", + "supported", + "target" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "High-level compliance status of the device.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with Broadcom Compatibility Guide (BCG)\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with Broadcom Compatibility Guide (BCG)\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with Broadcom Compatibility Guide (BCG) cannot be determined.\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "device": { + "description": "Pci Device Details\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.PciDevice" + } + ] + }, + "compatible_versions": { + "type": "array", + "description": "List of vSphere Versions compatible for this device. This field is populated only for device found INCOMPATIBLE\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Affected List of Host IDs where this device is found.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "target": { + "description": "Driver and Firmware Version from default image Specification.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.DriverFirmwareVersion" + } + ] + }, + "default_image_host_details": { + "description": "This property contains information about the default image and the hosts on which it will be applied.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.ImageHostDetails" + } + ] + }, + "alternative_image_driver_fw_details": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.ImageDriverFirmwareDetails" + }, + "description": "This property contains target driver and firmware information for every alternative image that will be applied on its corresponding host.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + }, + "validated_features_in_use": { + "type": "object", + "additionalProperties": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Validated features in use on this device If Service is set but features is empty, device is active for solution Subset of validated features for which we provide certification - for example RDMA, not IPV6 Inclusion in this set of features is independent of the certification status of device. In other words it's possible a device is configured to use a feature it is not certified.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "supported": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.0.1__.\n\nList of Supported Driver and Firmware Version combination from Hardware Compatibility List.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "deprecated": true, + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.DriverFirmwareVersion" + } + }, + "constraints": { + "type": "array", + "description": "List of Supported Driver and Firmware Version combination and corresponding supportedFeatures from Broadcom Compatibility Guide (BCG) listing for the given vSphere version\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.PciDeviceConstraint" + } + }, + "compatibility_guide_link": { + "type": "string", + "description": "Provides link to the Broadcom Compatibility Guide for further information on the compatibility.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` there is no Broadcom Compatibility link available as this is device used by VSAN.", + "format": "uri" + }, + "notifications": { + "description": "Device Specific notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if there are no notifications", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.PciDeviceComplianceInfo schema contains information that describe the compliance of a pci device with respect to the component present in the target software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.PciDeviceCompliance": { + "required": [ + "compatible_devices", + "incompatible_devices", + "incompatible_driver_firmware", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Over all Compliance status of PCI Devices in Cluster with respective to all hosts in the cluster.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with Broadcom Compatibility Guide (BCG)\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with Broadcom Compatibility Guide (BCG)\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with Broadcom Compatibility Guide (BCG) cannot be determined.\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "compatible_devices": { + "type": "array", + "description": "Compatible Device Compliance result for all devices present on all hosts in the cluster compared with the corresponding component in the software specification. The key is the DeviceName and value is the PciDeviceComplianceInfo object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.PciDeviceComplianceInfo" + } + }, + "incompatible_devices": { + "type": "array", + "description": "Incompatible Device Compliance result for all devices present on all hosts in the cluster compared with the corresponding component in the software specification. The key is the DeviceName and value is the PciDeviceComplianceInfo object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.PciDeviceComplianceInfo" + } + }, + "incompatible_driver_firmware": { + "type": "array", + "description": "Incompatible Driver Firmware combination Compliance result for all devices present on hosts in the cluster compared with the corresponding component in the software specification. The key is the DeviceName and value is the PciDeviceComplianceInfo object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.PciDeviceComplianceInfo" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.PciDeviceCompliance schema contains information that describe the compliance result of all pci device from all hosts in the clsuter with respect to the component present in the target software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.StorageDeviceInfo": { + "required": [ + "capacity", + "model", + "vendor" + ], + "type": "object", + "properties": { + "model": { + "type": "string", + "description": "Storage device model\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "vendor": { + "type": "string", + "description": "Storage device vendor\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "part_number": { + "type": "string", + "description": "Hardware part number of the storage device\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property will be unest if part number information is not available for the storage device." + }, + "capacity": { + "type": "integer", + "description": "Capacity of the storage device in bytes\n\nThis property was added in __vSphere API 7.0.2.1__.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.StorageDeviceInfo schema contains properties describing a storage device.\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.StorageDeviceCompatibility": { + "required": [ + "compatibility_guide_link", + "model", + "partner", + "status", + "used_for_compliance", + "user_selected", + "vcg_product" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the storage device, when computed based on this Broadcom Compatibility Guide (BCG) listing.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with Broadcom Compatibility Guide (BCG)\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with Broadcom Compatibility Guide (BCG)\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with Broadcom Compatibility Guide (BCG) cannot be determined.\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "compatible_versions": { + "type": "array", + "description": "List of vSphere Versions compatible for this storage device.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property will be missing or `null` if the storage device is certified for the target ESXi version.", + "items": { + "type": "string" + } + }, + "supported_firmware_versions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.0.1__.\n\nList of minimum firmware versions supported from Broadcom Compatibility Guide (BCG) listing for the given vSphere version.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property will be missing or `null` if the storage device is not certified for the target ESXi version or the storage device is only certified in combination with specific driver versions, in which case listedDriverFirmwareVersions below will be set.", + "deprecated": true, + "items": { + "type": "string" + } + }, + "constraints": { + "type": "array", + "description": "List of Supported Firmware Versions and corresponding supported features from Broadcom Compatibility Guide (BCG) listing for the given vSphere version.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.StorageDeviceConstraint" + } + }, + "vcg_product": { + "type": "string", + "description": "Identifier of the Broadcom Compatibility Guide (BCG) listing for the product.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.vcg_product`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.vcg_product`." + }, + "model": { + "type": "string", + "description": "Model name of the storage device as listed in the Broadcom Compatibility Guide (BCG) listing. This may not be the same as the *Esx.Settings.Clusters.Software.Reports.StorageDeviceInfo.model*\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "partner": { + "type": "string", + "description": "OEM partner name of the storage device as listed in the Broadcom Compatibility Guide (BCG) listing.\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "compatibility_guide_link": { + "type": "string", + "description": "Provides link to the Broadcom Compatibility Guide (BCG) listing for further information on the compatibility.\n\nThis property was added in __vSphere API 7.0.2.1__.", + "format": "uri" + }, + "used_for_compliance": { + "type": "boolean", + "description": "Flag to indicate whether this Broadcom Compatibility Guide (BCG) listing was used to compute the overall compatibility of the storage device.\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "user_selected": { + "type": "boolean", + "description": "Flag to indicate if the user has selected this Broadcom Compatibility Guide (BCG) listing to be considered to compute the overall compatibility of the storage device.\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "notifications": { + "description": "Broadcom Compatibility Guide (BCG) listing specific notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property will be missing or `null` if there are no notifications", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.StorageDeviceCompatibility schema contains information that describe the compliance of a storage device with respect to the component present in the target software specification.\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.StorageDeviceComplianceInfo": { + "required": [ + "detail", + "host_info", + "matches", + "status", + "storage_device_info", + "used_by_vsan" + ], + "type": "object", + "properties": { + "storage_device_info": { + "description": "Information of the storage device.\n\nThis property was added in __vSphere API 7.0.2.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.StorageDeviceInfo" + } + ] + }, + "device_count": { + "type": "integer", + "description": "Indicate the number of actual physical storage devices represented by this info.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "format": "int64" + }, + "status": { + "type": "string", + "description": "Compliance status of the storage device. When there are multiple possible Broadcom Compatibility Guide (BCG) matches for the storage device, the compliance status would be set to *Esx.Settings.Clusters.Software.Reports.ComplianceStatus.UNAVAILABLE* Each match found would be listed under *Esx.Settings.Clusters.Software.Reports.StorageDeviceComplianceInfo.matches* with the corresponding compliance status of the storage device if compared against the constraints specified in the match.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with Broadcom Compatibility Guide (BCG)\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with Broadcom Compatibility Guide (BCG)\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with Broadcom Compatibility Guide (BCG) cannot be determined.\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "detail": { + "type": "string", + "description": "Detailed compliance status of the storage device.\n\nPossible values:\n - `CERTIFIED`: Hardware is specifically certified for target vSphere version according to the BCG/HCL\n - `NOT_CERTIFIED`: Hardware is specifically not certified for target vSphere version according to the BCG/HCL\n - `HCL_DATA_UNAVAILABLE`: HCL data can not be fetched to validate cluster hardware.\n - `HOSTS_UNAVAILABLE`: Hosts in cluster are not available to validate cluster hardware.\n - `FIRMWARE_VERSION_UNKNOWN`: No firmware version information is available (for example no Hardware Support Manager, HSM, configured in the cluster's Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema or the system failed to retrieve the current firmware version of a device using the specified HSM.\n - `UNKNOWN`: When given hardware may be certified for a release but its status can't be definitively determined due to ambiguity in server model, CPU series, or BIOS version\n - `VENDOR_UPDATE`: When BIOS or firmware has been updated from a certified entry found in the Broadcom Compatibility Guide (BCG)\n - `USER_VERIFIED`: When a server or device's HCL compliance status has been overridden by the user to mark the system as compliant\n - `USER_FLAGGED`: When a server or device's HCL compliance status has been overridden by the user to mark the system as non-compliant\n - `MUTED`: When a user requests a non-compliance or HCL compliance unavailable warning to be suppressed\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail*.\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Affected List of Host IDs where this device is found.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "default_image_host_details": { + "description": "This property contains information about the default image and the hosts on which it will be applied.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.ImageHostDetails" + } + ] + }, + "alternative_image_host_details": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.ImageHostDetails" + }, + "description": "Specifies the alternative Image ID and its corresponding details along with hosts for a given storage device.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + }, + "firmware_version": { + "type": "string", + "description": "Firmware version on the storage device.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property will be missing or `null` if the firmware version on the storage device is unknown or cannot be determined." + }, + "validated_features_in_use": { + "type": "object", + "additionalProperties": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Validated Features in use on the storage device If Service is set but features is empty, device is active for solution Subset of validated features for which we provide certification - for example RDMA, not IPV6 Inclusion in this set of features is independent of the certification status of device. In other words it's possible a device is configured to use a feature it is not certified.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "driver_name": { + "type": "string", + "description": "Driver name on the storage device\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` if there is no driver associated with the device." + }, + "driver_version": { + "type": "string", + "description": "Driver Version on the storage device\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` if there is no driver associated with the device." + }, + "matches": { + "type": "array", + "description": "Provides information about possible compatibility matches for the given storage device. \n\n There could be multiple possible matches available in the compatibility data.\n\nThis property was added in __vSphere API 7.0.2.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.StorageDeviceCompatibility" + } + }, + "used_by_vsan": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.0.1__.\n\nIndicates if the storage device is in use by vSAN. When this flag is set to true, the hardware compatibility is computed against vSAN HCL constraints.\n\nThis property was added in __vSphere API 7.0.2.1__.", + "deprecated": true + }, + "notifications": { + "description": "Device Specific notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property will be missing or `null` if there are no notifications", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.StorageDeviceComplianceInfo schema contains properties that describe the compliance information of a storage device.\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.StorageDeviceCompliance": { + "required": [ + "compatible_devices", + "incompatible_devices", + "status", + "unknown_devices" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Overall compliance status of storage devices in the cluster with respect to all hosts in the cluster.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with Broadcom Compatibility Guide (BCG)\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with Broadcom Compatibility Guide (BCG)\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with Broadcom Compatibility Guide (BCG) cannot be determined.\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.2.1__." + }, + "compatible_devices": { + "type": "array", + "description": "Lists compliance information for storage devices found to be compliant with Broadcom Compatibility Guide (BCG) during the last check operation. \n\n Note that complianceStatus of every device is not necessarily COMPATIBLE due to changes made after this check was run; entries are only rearranged when a new check operation is invoked. lastOverrideTime being greater than the scanTime is an indication that there were changes made after the last check operation\n\nThis property was added in __vSphere API 7.0.2.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.StorageDeviceComplianceInfo" + } + }, + "incompatible_devices": { + "type": "array", + "description": "Lists compliance information for storage devices found to be non-compliant with Broadcom Compatibility Guide (BCG) during the last check operation. \n\n Note that complianceStatus of every device is not necessarily INCOMPATIBLE due to changes made after this check was run; entries are only rearranged when a new check operation is invoked. lastOverrideTime being greater than the scanTime is an indication that there were changes made after the last check operation\n\nThis property was added in __vSphere API 7.0.2.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.StorageDeviceComplianceInfo" + } + }, + "unknown_devices": { + "type": "array", + "description": "Lists storage devices whose compliance information could not be computed successfully during the last check operation. \n\n Note that complianceStatus of every device is not necessarily UNAVAILABLE due to changes made after this check was run; entries are only rearranged when a new check operation is invoked. lastOverrideTime being greater than the scanTime is an indication that there were changes made after the last check operation\n\nThis property was added in __vSphere API 7.0.2.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.StorageDeviceComplianceInfo" + } + }, + "notifications": { + "description": "Storage device compliance specific notifications describing the compliance result.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property will be missing or `null` if there are no notifications", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.StorageDeviceCompliance schema contains information that describe the compliance result of all storage devices from all hosts in the cluster with respect to the storage device model and the firmware certification\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.CheckResult": { + "required": [ + "base_image_version", + "note", + "notifications", + "scan_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Overall compliance status of Cluster with respective to all hosts in the cluster.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with Broadcom Compatibility Guide (BCG)\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with Broadcom Compatibility Guide (BCG)\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with Broadcom Compatibility Guide (BCG) cannot be determined.\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "scan_time": { + "type": "string", + "description": "HCL Validation check time.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "updated_since_last_check": { + "type": "boolean", + "description": "Flag to indicate if there were any hardware compatibility overrides were performed after the last check operation.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "v_san_data_only": { + "type": "boolean", + "description": "HCL Validation Computed only for vSAN Clusters.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nmissing or `null` to show vSAN in UI" + }, + "commit": { + "type": "string", + "description": "Spec Identifier of the desired configuration on which the HCL scan is performed to generate this result, populated by the HCL validation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if validation was performed against a draft.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "base_image_version": { + "type": "string", + "description": "Target default base image version E.g., version = BaseImageSpec->Version *Esx.Settings.BaseImageSpec.version* schema\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "has_alternative_images": { + "type": "boolean", + "description": "Boolean flag to indicate that desired state contains alternative images or not. If set to true, it signifies the desired state contains alternative images. If unset or set to false, it signifies the desired state contains single image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "pci_device_compliance": { + "description": "Compliance result for the Pci Devices that are present in all hosts of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if Pci device compliance was not computed.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.PciDeviceCompliance" + } + ] + }, + "storage_device_compliance": { + "description": "Compliance result for storage devices in all the hosts of the cluster. Currently only includes SAS/SATA storage devices.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property will be missing or `null` if storage device compliance was not computed.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.StorageDeviceCompliance" + } + ] + }, + "notifications": { + "description": "Notifications returned by the HCL Validation operation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "note": { + "description": "Localizable disclaimer notice to show on the UI detailing the type of checks are done by the HCL Validation. Example : HCL Validation is only done on storage and network controllers.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.CheckResult schema contains information to describe HCL compliance result of a cluster on target software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.ApplyImpact.ApplyImpactSpec": { + "type": "object", + "properties": { + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "The specific hosts for which an impact is to be generated.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty impact is generated for all hosts within the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.ApplyImpact.ApplyImpactSpec schema contains properties that describe the specification to be used for getting the impact of an apply operation on an ESXi cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.ApplyImpact.Impact": { + "required": [ + "message" + ], + "type": "object", + "properties": { + "message": { + "description": "Description of the impact.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.ApplyImpact.Impact schema contains properties that describe what the impact is of a particular step during the apply operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.ApplyImpact.ClusterImpact": { + "required": [ + "commit", + "host_impact", + "host_info", + "impact" + ], + "type": "object", + "properties": { + "impact": { + "type": "array", + "description": "Impact of steps performed during the setup and cleanup phase of the apply operation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.ApplyImpact.Impact" + } + }, + "host_impact": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.ApplyImpact.Impact" + } + }, + "description": "Impact summary for each host within the clsuter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "commit": { + "type": "string", + "description": "Identifier of the commit on which the impact is generated.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Information of hosts within the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.ApplyImpact.ClusterImpact schema contains properties that describe the summary of how hosts within a cluster will be impacted during an apply operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.ComplianceStatus": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.ComplianceStatus enumerated type contains the possible different status of compliance with respect to target version.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with BCG/HCL. This includes (from the *Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail*: \n\n \n - COMPLIANT \n - VENDOR_UPDATE \n - USER_OVERRIDE \n\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with BCG/HCL This includes (from the *Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail*): \n\n \n - NONCOMPLIANT \n - USER_FLAGGED \n - NONCOMPLIANCE_MUTED \n\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with BCG/HCL cannot be determined This includes (from the *Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail*): \n\n \n - HCL_DATA_UNAVAILABLE \n - UNAVAILABLE \n - NO_FIRMWARE_PROVIDER \n - UNKNOWN \n\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "COMPATIBLE", + "INCOMPATIBLE", + "HCL_DATA_UNAVAILABLE", + "UNAVAILABLE", + "NO_FIRMWARE_PROVIDER" + ] + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.CheckSummary": { + "required": [ + "base_image_version", + "notifications", + "scan_time", + "status", + "summary_result" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Overall compliance status of the cluster with respective to all hosts in the cluster.\n\nPossible values:\n - `COMPATIBLE`: Target hardware is compliant with BCG/HCL. This includes (from the *Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail*: \n\n \n - COMPLIANT \n - VENDOR_UPDATE \n - USER_OVERRIDE \n\n - `INCOMPATIBLE`: Target hardware is not (recognizably) compliant with BCG/HCL This includes (from the *Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail*): \n\n \n - NONCOMPLIANT \n - USER_FLAGGED \n - NONCOMPLIANCE_MUTED \n\n - `HCL_DATA_UNAVAILABLE`: Never returned by the HCL compliance APIs\n\nHCL data can not be fetched to validate cluster hardware.\n - `UNAVAILABLE`: Target hardware compliance with BCG/HCL cannot be determined This includes (from the *Esx.Settings.Clusters.Software.Reports.ComplianceStatusDetail*): \n\n \n - HCL_DATA_UNAVAILABLE \n - UNAVAILABLE \n - NO_FIRMWARE_PROVIDER \n - UNKNOWN \n\n - `NO_FIRMWARE_PROVIDER`: Never returned by the HCL compliance APIs\n\nNo Firmware HSM present in Software Spec to get Firmware Details *Esx.Settings.HardwareSupportPackageInfo* schema\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.ComplianceStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "scan_time": { + "type": "string", + "description": "HCL Validation check time.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "commit": { + "type": "string", + "description": "Spec Identifier of the desired configuration on which the HCL scan is performed to generate this result, populated by the HCL validation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if validation was performed against a draft.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "base_image_version": { + "type": "string", + "description": "Target base image version E.g., version = BaseImageSpec->Version *Esx.Settings.BaseImageSpec.version* schema\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "summary_result": { + "description": "Over all Compliance result for cluster for the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "notifications": { + "description": "Notifications returned by the HCL Validation operation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.CheckSummary schema contains information to describe the HCL compliance summary result of a cluster on target software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyStatus": { + "required": [ + "end_time", + "notifications", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation.\n\nPossible values:\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\nThis constant was added in __vSphere API 7.0.2.1__.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyStatus.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nmissing or `null` for #ApplyStatus of the cluster", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications providing additional information about the status of the operation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyStatus schema contains properties that describe the status of an apply operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyStatus.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyStatus.Status enumerated type contains the possible different status codes that can be returned while trying to apply the desired software specification to hosts within the cluster.\n\nPossible values:\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\nThis constant was added in __vSphere API 7.0.2.1__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR", + "RETRY_PENDING" + ] + }, + "Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult": { + "required": [ + "commit", + "failed_hosts", + "host_info", + "host_status", + "skipped_hosts", + "status", + "successful_hosts" + ], + "type": "object", + "properties": { + "status": { + "description": "Specifies the aggregated status of the apply operation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyStatus" + } + ] + }, + "commit": { + "type": "string", + "description": "The identifier of the commit used to fetch the desired software document to be applied to all hosts within the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Information of the hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult.commit* should be applied to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "host_status": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyStatus" + }, + "description": "Status of the hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult.commit* was applied to. Hosts on which the apply operation was successful are specified by *Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult.successful_hosts*. Hosts on which the apply operation failed are specified by *Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult.failed_hosts*. Hosts which were skipped by the apply operation are specified by *Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult.skipped_hosts*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "successful_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult.commit* has been successfully applied to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "failed_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster to which the desired software document specified by the *Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult.commit* failed to be applied to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "skipped_hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts in this cluster that were skipped by the apply operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "notifications": { + "description": "Notifications providing additional information for *POST /esx/settings/clusters/{cluster}/software?action=apply* operation. These notifications are mutually exclusive with the notifications in Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyStatus.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.LastApplyResult.ApplyResult schema contains properties that describe the result of an apply operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.LastCheckResult.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.LastCheckResult.Status enumerated type defines the status result for a particular check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "OK", + "WARNING", + "TIMEOUT", + "ERROR" + ] + }, + "Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckInfo": { + "required": [ + "check", + "description", + "name" + ], + "type": "object", + "properties": { + "check": { + "type": "string", + "description": "The check identifier.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "name": { + "description": "The check name.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "description": { + "description": "Human-readable check description.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckInfo schema contains properties that describe a particular check.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckIssue": { + "required": [ + "description" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the issue encountered.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "Possible resolution for the issue.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nCan be left missing or `null` if no meaningful resolution exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckIssue schema contains properties that describe a particular issue.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckStatus": { + "required": [ + "check", + "issues", + "status" + ], + "type": "object", + "properties": { + "check": { + "description": "Information about this check.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckInfo" + } + ] + }, + "status": { + "type": "string", + "description": "The status of this check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.LastCheckResult.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "issues": { + "type": "array", + "description": "The issues encountered while running this check. \n\n Note: This property will be deprecated in the future release. Clients are recommended to use {#member checkIssues} field.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "check_issues": { + "type": "array", + "description": "List of *Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckIssue*s that the check reported.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf not set, the service is still using the {#member issues}.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckIssue" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckStatus schema contains properties that describe a check result.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult": { + "required": [ + "check_statuses", + "status", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The entity type for which these checks are being run.\n\nPossible values:\n - `CLUSTER`: Entity type Cluster\n - `HOST`: Entity type Host\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult.EntityType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "cluster": { + "type": "string", + "description": "If the entity type is CLUSTER then the cluster identifier for which the checks have been run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult.EntityType.CLUSTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "host": { + "type": "string", + "description": "If the entity type is HOST then the host identifier for which the checks have been run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult.EntityType.HOST*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "status": { + "type": "string", + "description": "Aggregated status from all checks performed on this entity.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.LastCheckResult.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "check_statuses": { + "type": "array", + "description": "List of Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckStatus for all checks performed.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckStatus" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult schema contains properties that describe aggregated status of all checks performed on a specific entity.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult.EntityType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult.EntityType enumerated type contains the entities on which checks can be performed.\n\nPossible values:\n - `CLUSTER`: Entity type Cluster\n - `HOST`: Entity type Host\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "CLUSTER", + "HOST" + ] + }, + "Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckResult": { + "required": [ + "commit", + "end_time", + "entity_results", + "host_info", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated status from all checks performed.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.LastCheckResult.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "commit": { + "type": "string", + "description": "The identifier of the commit on which checks have been run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + }, + "description": "Information about the hosts in this cluster for which checks have been requested to be run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + }, + "entity_results": { + "type": "array", + "description": "List of Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult for all entities for which checks have been run.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.LastCheckResult.EntityCheckResult" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.LastCheckResult.CheckResult schema contains properties that describe aggregated status of all checks performed.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.PciDeviceIdentifier": { + "required": [ + "did", + "ssid", + "svid", + "vid" + ], + "type": "object", + "properties": { + "vid": { + "type": "string", + "description": "The PCI device's Vendor ID (VID). \n\n The VID is a unique number assigned by the PCI SIG to every PCI device vendor to identify the chipset manufacturer (e.g. for a NIC that might be Broadcom or Atheros). The VID and the Device ID (DID) below typically determine the choice of device driver.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "did": { + "type": "string", + "description": "The PCI device's Device ID (DID). \n\n The DID is assigned by the vendor to identify a particular device.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "svid": { + "type": "string", + "description": "The PCI device's sub-vendor ID (SVID). \n\n Where the VID identifies the chipset of a given card, the SVID identifies the card manufacturer (e.g. for a NIC, the card manufacturer might be Netgear or D-Link). \n\n May be 0 to indicate the override should apply to all PCI devices of the specified VID/DID\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "ssid": { + "type": "string", + "description": "The PCI device's Subsystem ID (SSID). \n\n The Subsystem ID is assigned by the subsystem vendor from the sam number space as the Device ID. The SVID and SSID together provide information the driver might use to apply a small card-specific changes in operation based on the card's unique characteristics. \n\n May be 0 to indicate the override should apply to all PCI devices of the specified VID/DID\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.PciDeviceIdentifier schema specifies a particular PCI device product its characteristic ID (VID/DID/SVID/SSID)\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.Key": { + "required": [ + "device" + ], + "type": "object", + "properties": { + "device": { + "description": "The PCI device ID\n\nThis property was added in __vSphere API 7.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.PciDeviceIdentifier" + } + ] + }, + "firmware_version": { + "type": "string", + "description": "The device firmware version\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nif not specified, the override applies to devices with an unknown firmware version." + }, + "part_number": { + "type": "string", + "description": "OEM part number for device as used in BCG\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nif missing or `null` the override applies to devices without a part number." + }, + "driver_name": { + "type": "string", + "description": "The name of the device driver for which this override applies\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nif missing or `null` the override applies to the specified device regardless of driver name." + }, + "driver_version": { + "type": "string", + "description": "The version of the device driver for which this override applies (only accepted if 'driverName' is also specified)\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nif missing or `null` the override applies to the specified device regardless of driver version." + }, + "product_id": { + "type": "string", + "description": "The Product ID for the device which this override applies (as presented by the device itself). May be left missing or `null` for devices that don't present a model number/product ID.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nif missing or `null` the override applies to the specified device regardless of product ID." + }, + "capacity": { + "type": "integer", + "description": "Storage device capacity (in bytes)\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nif missing or `null` the override applies to the specified device regardless of capacity.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.Key schema specifies a particular combination of PCI ID, specific FW version if known, Driver name, Driver version, and vSphere release for which a given override applies.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.ProductSelectionSpec": { + "required": [ + "target" + ], + "type": "object", + "properties": { + "target": { + "description": "The PCI device this update should apply to.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.Key" + } + ] + }, + "vcg_product": { + "type": "string", + "description": "The BCG Product ID to be used.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nif missing or `null`, the override is removed and the system reverts to matching the device to a BCG/HCL entry by PCI ID, device FW, driver, and driver version.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.vcg_product`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.vcg_product`." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.ProductSelectionSpec schema describes overrides for a given PCI device.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.UpdateSpec": { + "required": [ + "product_selections" + ], + "type": "object", + "properties": { + "product_selections": { + "type": "array", + "description": "The overrides to be applied for the specified targets.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.ProductSelectionSpec" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.PciDeviceOverrides.VcgEntries.UpdateSpec schema describes the override(s) to be applied for a set of PCI devices\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.ComplianceAction": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.ComplianceAction enumerated type enumerates the possible compliance status overrides for a storage device.\n\nPossible values:\n - `MARK_AS_VERIFIED`: Specifying this override for a storage device would ignore the compatibility issues if any, and treat the drive as compliant with Broadcom Compatibility Guide (BCG)\n - `FLAG_AS_INCOMPATIBLE`: Specifying this override for a storage device would flag the drive as non-compliant with Broadcom Compatibility Guide (BCG)\n - `SUPPRESS_WARNING`: Specifying this override for a storage device would suppress the compatibility issues if any.\n\n\nThis enumeration was added in __vSphere API 7.0.2.1__.", + "enum": [ + "MARK_AS_VERIFIED", + "FLAG_AS_INCOMPATIBLE", + "SUPPRESS_WARNING" + ] + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.Service": { + "type": "string", + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.Service enumerated type specifies information about vSphere services that have service specific Broadcom Compatibility Guide certification\n\nPossible values:\n - `VSAN`\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "VSAN" + ] + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.Key": { + "required": [ + "capacity", + "model", + "vendor" + ], + "type": "object", + "properties": { + "model": { + "type": "string", + "description": "This property was added in __vSphere API 7.0.2.1__." + }, + "vendor": { + "type": "string", + "description": "This property was added in __vSphere API 7.0.2.1__." + }, + "capacity": { + "type": "integer", + "description": "This property was added in __vSphere API 7.0.2.1__.", + "format": "int64" + }, + "part_number": { + "type": "string", + "description": "storage device part number\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nIf missing or `null` the override will be applied to the entries without a part number." + }, + "firmware_version": { + "type": "string", + "description": "storage device firmware version\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nIf missing or `null` the override is applied to the entries with an unknown firmware version." + }, + "driver_name": { + "type": "string", + "description": "Driver name of this storage device if applicable/available.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` if there is no driver associated with the device." + }, + "driver_version": { + "type": "string", + "description": "Driver version of this storage device if applicable/available.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` if there is no driver associated with the device." + }, + "release": { + "type": "string", + "description": "vSphere release that an override must be applied to.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nIf this property is unset, *Vapi.Std.Errors.InvalidArgument* is thrown. The field is left optional to support wildcard matching in a future release." + }, + "validated_features_in_use": { + "type": "object", + "additionalProperties": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Validated features for which this override applies If a service is specified but no specific features are included, the device is taken to be in use by the service.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf this property is missing or `null` this is taken to mean that the device is active for the vSAN service (and no specific features). This is done in order to support 7.0 U3 clients which do not set this field. Subset of validated features for which we provide certification - for example RDMA, not IPV6 Note that this list represents the features in actual current use, which could include features for which the device is not certified" + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.Key schema specifies information about the storage device for which this override must be applied to.\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.ReclassificationSpec": { + "required": [ + "key" + ], + "type": "object", + "properties": { + "key": { + "description": "Information about the storage device for which this override must be applied to.\n\nThis property was added in __vSphere API 7.0.2.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.Key" + } + ] + }, + "override": { + "type": "string", + "description": "Compliance status override for the storage device.\n\nPossible values:\n - `MARK_AS_VERIFIED`: Specifying this override for a storage device would ignore the compatibility issues if any, and treat the drive as compliant with Broadcom Compatibility Guide (BCG)\n - `FLAG_AS_INCOMPATIBLE`: Specifying this override for a storage device would flag the drive as non-compliant with Broadcom Compatibility Guide (BCG)\n - `SUPPRESS_WARNING`: Specifying this override for a storage device would suppress the compatibility issues if any.\n\n\nFor more information see: *Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.ComplianceAction*.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nIf this property is missing or `null` any existing compliance override for the specified device will be reset." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.ReclassificationSpec schema contains information about the storage device and the corresponding override that must be applied to the specified device. Note: This data structure is specifically limited to a 'Key'/'Value' pair to model smaller changes to the larger overall set of overrides applicable to a given storage device\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.UpdateSpec": { + "required": [ + "device_reclassifications" + ], + "type": "object", + "properties": { + "device_reclassifications": { + "type": "array", + "description": "List of compatibility overrides to be applied for the storage devices in a cluster.\n\nThis property was added in __vSphere API 7.0.2.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.ReclassificationSpec" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.ComplianceStatus.UpdateSpec schema describes the updates to be made to the compatibility overrides for storage devices in a cluster.\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.Key": { + "required": [ + "capacity", + "model", + "vendor" + ], + "type": "object", + "properties": { + "model": { + "type": "string", + "description": "This property was added in __vSphere API 7.0.2.1__." + }, + "vendor": { + "type": "string", + "description": "This property was added in __vSphere API 7.0.2.1__." + }, + "capacity": { + "type": "integer", + "description": "This property was added in __vSphere API 7.0.2.1__.", + "format": "int64" + }, + "part_number": { + "type": "string", + "description": "storage device part number\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nIf missing or `null` the override will be applied to the entries without a part number." + }, + "firmware_version": { + "type": "string", + "description": "storage device firmware version\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nIf missing or `null` the override is applied to all firmware versions." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.Key schema specifies information about the storage device for which this override must be applied to.\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.ProductSelectionSpec": { + "required": [ + "key" + ], + "type": "object", + "properties": { + "key": { + "description": "Information about the storage device for which this override must be applied to.\n\nThis property was added in __vSphere API 7.0.2.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.Key" + } + ] + }, + "vcg_product": { + "type": "string", + "description": "Broadcom Compatibility Guide (BCG) product selection that must be applied to the specified storage device.\n\nThis property was added in __vSphere API 7.0.2.1__.\n\nif missing or `null` any existing vcg selection for the storage device will be removed\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.vcg_product`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.vcg_product`." + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.ProductSelectionSpec schema contains information about the storage device and the corresponding Broadcom Compatibility Guide (BCG) product override that must be applied to the specified device.\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.UpdateSpec": { + "required": [ + "product_selections" + ], + "type": "object", + "properties": { + "product_selections": { + "type": "array", + "description": "List of Broadcom Compatibility Guide (BCG) overrides to be applied for the storage devices in a cluster.\n\nThis property was added in __vSphere API 7.0.2.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.ProductSelectionSpec" + } + } + }, + "description": "The Esx.Settings.Clusters.Software.Reports.HardwareCompatibility.StorageDeviceOverrides.VcgEntries.UpdateSpec schema describes the updates to be made to the compatibility overrides for storage devices in a cluster.\n\nThis schema was added in __vSphere API 7.0.2.1__." + }, + "Esx.Settings.Clusters.Vms.LifecycleState": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.LifecycleState enumerated type contains the different VM lifecycle states a solution can hook into. See *Esx.Settings.Clusters.Vms.LifecycleHooks* and *Esx.Settings.Clusters.Vms.SolutionSpec*.\n\nPossible values:\n - `POST_PROVISIONING`: Post VM provisioning, reached once immediately after a VM is created.\n - `POST_POWER_ON`: Post VM power-on, reached immediately after every VM power-on.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "POST_PROVISIONING", + "POST_POWER_ON" + ] + }, + "Esx.Settings.Clusters.Vms.DiskType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.DiskType enumerated type contains the supported disk provisioning types for VMs.\n\nPossible values:\n - `DEFAULT`: Denotes no specific type for disk provisioning. Disks are provisioned as defaulted by vCenter.\n - `THIN`: Disks are provisioned with only used space allocated.\n - `THICK`: Disks are provisioned with full size and the space is zeroed on demand.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "DEFAULT", + "THIN", + "THICK" + ] + }, + "Esx.Settings.Clusters.Vms.StoragePolicy": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.StoragePolicy enumerated type defines the different storage policies that can be used for VMs.\n\nPossible values:\n - `DEFAULT`: The default storage policy defined by the Storage Policy Based Management.\n - `PROFILE`: Profile storage policy.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "DEFAULT", + "PROFILE" + ] + }, + "Esx.Settings.Clusters.Vms.VmCloneConfig": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.VmCloneConfig enumerated type defines the different configurations for VM cloning.\n\nPossible values:\n - `ALL_CLONES`: The system creates a snapshot of the first deployed VM and after that uses one of the available VM clone methods to deploy others.\n - `FULL_CLONES_ONLY`: The system creates a snapshot of the first deployed VM and after that uses full VM clone method to deploy others.\n - `NO_CLONES`: The system does not use VM clone methods to deploy VMs.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "ALL_CLONES", + "FULL_CLONES_ONLY", + "NO_CLONES" + ] + }, + "Esx.Settings.Clusters.Vms.DeploymentType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.DeploymentType enumerated type defines the different solution deployment types.\n\nPossible values:\n - `EVERY_HOST_PINNED`: The solution requires exactly one VM deployed to any host in the cluster. Every solution VM is pinned (has affinity) to the host and cannot be migrated or restarted on another host inside the cluster.\n - `CLUSTER_VM_SET`: The solution requires a set of VMs to be deployed inside the cluster.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "EVERY_HOST_PINNED", + "CLUSTER_VM_SET" + ] + }, + "Esx.Settings.Clusters.Vms.AuthenticationScheme": { + "type": "string", + "description": "Supported authentication schemes used to access a resource (e.g. OVF).\n\nPossible values:\n - `NONE`: Access doesn't require authentication.\n - `VMWARE_SESSION_ID`: Access requires VMware client sessionID.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NONE", + "VMWARE_SESSION_ID" + ] + }, + "Esx.Settings.Clusters.Vms.RedeploymentPolicy": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.RedeploymentPolicy enumerated type defines the different remediation policies which require redeployment of the System VMs.\n\nPossible values:\n - `RECREATE`: The default policy used by vLCM for System VM redeployment. System VMs are redeployed as follows: Once the new replica is provisioned, the old replica is powered off and deleted. Then the new replica is powered on and it's setup is completed to have the System VM fully operational. \n\n This policy causes a downtime. \n - `BLUE_GREEN`: Follows a standard blue-green strategy. System VMs are redeployed as follows: Once the new replica is provisioned, it is powered on. Then the new replica setup is completed to have the System VM fully operational. Then the old replica is powered off and deleted. \n\n This policy provides zero-downtime. \n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "RECREATE", + "BLUE_GREEN" + ] + }, + "Esx.Settings.Clusters.Vms.VmPlacementPolicy": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.VmPlacementPolicy enumerated type defines the DRS placement policies applied on the VMs.\n\nPossible values:\n - `VM_VM_ANTI_AFFINITY`: VMs are anti-affined to each other.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "VM_VM_ANTI_AFFINITY" + ] + }, + "Esx.Settings.Clusters.Vms.RemediationPolicy": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.RemediationPolicy enumerated type defines the remediation policies applied to entities.\n\nPossible values:\n - `PARALLEL`: Default remediation policy. Entities are remediated in parallel.\n - `SEQUENTIAL`: Entities are remediated sequentially, one at a time.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "PARALLEL", + "SEQUENTIAL" + ] + }, + "Esx.Settings.Clusters.Vms.LifecycleHookConfig": { + "type": "object", + "properties": { + "timeout": { + "type": "integer", + "description": "The maximum time in seconds for vLCM to wait for a hook to be processed by the solution. An issue is raised if the time elapsed and the hook is still not processed. See *Esx.Settings.Clusters.Vms.Solutions.IssueInfo*. The issue is attached to the *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo* structure that holds the VM for which the hook was activated.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, defaults to 10 hours.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Clusters.Vms.LifecycleHookConfig schema contains properties that describe a VM lifecycle hook configuration. See *Esx.Settings.Clusters.Vms.LifecycleHooks*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.LifecycleHookInfo": { + "required": [ + "configuration", + "hook_activated", + "lifecycle_state", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of the VM for which the hook is activated.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "lifecycle_state": { + "type": "string", + "description": "VM lifecycle state of the VM specified by vm\n\nPossible values:\n - `POST_PROVISIONING`: Post VM provisioning, reached once immediately after a VM is created.\n - `POST_POWER_ON`: Post VM power-on, reached immediately after every VM power-on.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.LifecycleState*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "configuration": { + "description": "Configuration of the hook.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.LifecycleHookConfig" + } + ] + }, + "hook_activated": { + "type": "string", + "description": "The vLCM system time when the hook is activated.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "dynamic_update_processed": { + "type": "boolean", + "description": "This property represents if the DynamicUpdateSpec given with *POST /esx/settings/clusters/{cluster}/vms/lifecycle-hooks?action=process-dynamic-update* is applied successfully for the {#member lifecycleState} of the given {#member vm}. \n\n Defaults to False. \n\n See *POST /esx/settings/clusters/{cluster}/vms/lifecycle-hooks?action=process-dynamic-update* about how to process the dynamic update for a given Esx.Settings.Clusters.Vms.LifecycleState.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Clusters.Vms.LifecycleHookInfo schema contains properties that describe a VM lifecycle hook that is activated for a given VM.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.OvfResource": { + "required": [ + "location_type" + ], + "type": "object", + "properties": { + "location_type": { + "type": "string", + "description": "Location type of OVF package.\n\nPossible values:\n - `REMOTE_FILE`: The OVF package is hosted on a file server.\n - `LOCAL_FILE`: The OVF package is located on the local VC file system.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.OvfResource.LocationType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "url": { + "type": "string", + "description": "URL to the file server or the local VC file system where the OVF package can be downloaded. The supported URI schemes are http, https, and file.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of location_type is one of *Esx.Settings.Clusters.Vms.OvfResource.LocationType.REMOTE_FILE* or *Esx.Settings.Clusters.Vms.OvfResource.LocationType.LOCAL_FILE*.", + "format": "uri" + }, + "ssl_certificate_validation": { + "type": "string", + "description": "Configuration for SSL Certificate validation of the URL specified by the url.\n\nPossible values:\n - `ENABLED`: The certificate must be fully validated by the system.\n - `DISABLED`: The certificate validation is disabled. The system trusts any certificate.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.OvfResource.SslCertificateValidation*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of location_type is *Esx.Settings.Clusters.Vms.OvfResource.LocationType.REMOTE_FILE*." + }, + "certificate": { + "type": "string", + "description": "The ssl certificate that is to be trusted by vLCM when downloading the OVF package from a file server.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the system validates the file server certificate against the system trusted CAs." + }, + "authentication_scheme": { + "type": "string", + "description": "The authentication scheme needed to access the OVF URL. \n\n The supported schemes are listed in *Esx.Settings.Clusters.Vms.AuthenticationScheme*. \n\n If the scheme is not missing or `null` and is not set to *Esx.Settings.Clusters.Vms.AuthenticationScheme.NONE* then *Esx.Settings.Clusters.Vms.OvfResource.url* must point to the VC.\n\nPossible values:\n - `NONE`: Access doesn't require authentication.\n - `VMWARE_SESSION_ID`: Access requires VMware client sessionID.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.AuthenticationScheme*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` default value is *Esx.Settings.Clusters.Vms.AuthenticationScheme.NONE*." + } + }, + "description": "The Esx.Settings.Clusters.Vms.OvfResource schema contains properties that describe the location of an OVF package and a configuration for its download.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.OvfResource.LocationType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.OvfResource.LocationType enumerated type defines the supported locations of OVF packages.\n\nPossible values:\n - `REMOTE_FILE`: The OVF package is hosted on a file server.\n - `LOCAL_FILE`: The OVF package is located on the local VC file system.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "REMOTE_FILE", + "LOCAL_FILE" + ] + }, + "Esx.Settings.Clusters.Vms.OvfResource.SslCertificateValidation": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.OvfResource.SslCertificateValidation enumerated type defines the supported configurations for SSL Certificate validation.\n\nPossible values:\n - `ENABLED`: The certificate must be fully validated by the system.\n - `DISABLED`: The certificate validation is disabled. The system trusts any certificate.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Esx.Settings.Clusters.Vms.HostSolutionSpec": { + "type": "object", + "properties": { + "prefer_host_configuration": { + "type": "boolean", + "description": "Describes whether the VM datastore and network configured through vim.host.EsxAgentHostManager take precedence over the networks and datastores specified by the vmNetworks and vmDatastores properties when configuring the VMs. \n\n NOTE: This option is reserved only for NSX and future plans are to be deprecated.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to `false`." + }, + "vm_networks": { + "type": "array", + "description": "Networks to be configured on the VMs. The first available network on the host is used. \n\n If the prefer_host_configuration is set to `true`, the default network configured through vim.host.EsxAgentHostManager will take precedence over the specified by the vm_networks. \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the network configured through vim.host.EsxAgentHostManager is used.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "items": { + "type": "string" + } + }, + "vm_datastores": { + "type": "array", + "description": "Datastores to be configured as a storage of the VMs. The first available datastore on the host is used. \n\n If the prefer_host_configuration is set to `true`, the default datastore configured through vim.host.EsxAgentHostManager will take precedence over the ones specified by vm_datastores. \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the datastore configured through vim.host.EsxAgentHostManager is used.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.HostSolutionSpec schema contains properties that describe solution configuration only applicable for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.VmSelectionSpec": { + "required": [ + "selection_type" + ], + "type": "object", + "properties": { + "selection_type": { + "type": "string", + "description": "Selection type for this Esx.Settings.Clusters.Vms.VmSelectionSpec.\n\nPossible values:\n - `VM_EXTRA_CONFIG`: Select System VMs that have a specific property configured in the VM extra configuration. The property has a key='com.vmware.vim.eam.selection'. The value represents a unique identifier used for VM selection and is provided by the client.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.VmSelectionSpec.VmSelectionType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "extra_config_value": { + "type": "string", + "description": "Unique VM extra configuration property value. The recommended usage is with an UUID. \n\n See *Esx.Settings.Clusters.Vms.VmSelectionSpec.VmSelectionType.VM_EXTRA_CONFIG*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of selection_type is *Esx.Settings.Clusters.Vms.VmSelectionSpec.VmSelectionType.VM_EXTRA_CONFIG*." + } + }, + "description": "The Esx.Settings.Clusters.Vms.VmSelectionSpec schema contains properties to describe the criteria used to select System VMs to which an Esx.Settings.Clusters.Vms.AlternativeVmSpec configuration is applied.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Vms.VmSelectionSpec.VmSelectionType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.VmSelectionSpec.VmSelectionType enumerated type defines the different System VM selection criteria types.\n\nPossible values:\n - `VM_EXTRA_CONFIG`: Select System VMs that have a specific property configured in the VM extra configuration. The property has a key='com.vmware.vim.eam.selection'. The value represents a unique identifier used for VM selection and is provided by the client.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "VM_EXTRA_CONFIG" + ] + }, + "Esx.Settings.Clusters.Vms.AlternativeVmSpec": { + "required": [ + "selection_criteria" + ], + "type": "object", + "properties": { + "selection_criteria": { + "description": "Selection criteria to match System VMs for which to apply this Esx.Settings.Clusters.Vms.AlternativeVmSpec.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.VmSelectionSpec" + } + ] + }, + "devices": { + "type": "object", + "description": "Devices of the VMs not defined in the OVF descriptor. This property takes precedence over *Esx.Settings.Clusters.Vms.ClusterSolutionSpec.devices* property. \n\n If *Esx.Settings.Clusters.Vms.ClusterSolutionSpec.vm_datastores* is not set, the devices of the VMs not defined in the OVF descriptor should be provided to {#member devices} and not as part of a VM lifecycle hook (VM reconfiguration). Otherwise, the compatibility of the devices with the selected host and datastore where the VM is deployed needs to be ensured by the client. \n\n 1. For VM initial placement the devices are added to the VM configuration. 2. For the reconfiguration it is checked what devices need to be added, removed, and edited on the existing VMs. NOTE: No VM relocation is executed before the VM reconfiguration. \n\n The supported property of vim.vm.ConfigSpec is vim.vm.ConfigSpec.deviceChange. The supported vim.vm.device.VirtualDeviceSpec.operation is Operation#add. For vim.vm.device.VirtualEthernetCard the unique identifier is vim.vm.device.VirtualDevice#unitNumber. *Esx.Settings.Clusters.Vms.ClusterSolutionSpec.vm_networks* and {#member devices} are mutually exclusive. \n\n\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, *Esx.Settings.Clusters.Vms.ClusterSolutionSpec.devices* is used." + } + }, + "description": "The Esx.Settings.Clusters.Vms.AlternativeVmSpec schema contains properties to describe alternative VM configuration to be applied on VMs that matches a given selection criteria defined as Esx.Settings.Clusters.Vms.VmSelectionSpec.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Vms.ClusterSolutionSpec": { + "required": [ + "vm_count" + ], + "type": "object", + "properties": { + "vm_count": { + "type": "integer", + "description": "The number of instances of the specified VM to be deployed across the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "vm_placement_policies": { + "uniqueItems": true, + "type": "array", + "description": "VM placement policies to be configured on the VMs.\n\nPossible values:\n - `VM_VM_ANTI_AFFINITY`: VMs are anti-affined to each other.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.VmPlacementPolicy*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no VM placement policies are configured.", + "items": { + "type": "string" + } + }, + "vm_networks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Networks to be configured on the VMs. The map keys represent the logical network names defined in the OVF descriptor while the map values represent the VM network identifiers.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no VM networks are configured.\n\nWhen clients pass a value of this schema as a parameter, the value in the property map must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the value in the property map will be an identifier for the resource type: `Network`." + }, + "vm_datastores": { + "type": "array", + "description": "Datastores to be configured as a storage of the VMs. The first datastore from the list available in the cluster is used.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the system automatically selects the datastore. The selection takes into account the other properties of the desired state specification (the provided VM storage policies and VM devices) and the runtime state of the datastores in the cluster. It is required DRS to be enabled on the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "items": { + "type": "string" + } + }, + "devices": { + "type": "object", + "description": "Devices of the VMs not defined in the OVF descriptor. \n\n If {#member vmDatastores} is not set, the devices of the VMs not defined in the OVF descriptor should be provided to {#member devices} and not as part of a VM lifecycle hook (VM reconfiguration). Otherwise, the compatibility of the devices with the selected host and datastore where the VM is deployed needs to be ensured by the client. \n\n 1. For VM initial placement the devices are added to the VM configuration. 2. For the reconfiguration it is checked what devices need to be added, removed, and edited on the existing VMs. NOTE: No VM relocation is executed before the VM reconfiguration. \n\n The supported property of vim.vm.ConfigSpec is vim.vm.ConfigSpec.deviceChange. The supported vim.vm.device.VirtualDeviceSpec.operation is Operation#add. For vim.vm.device.VirtualEthernetCard the unique identifier is vim.vm.device.VirtualDevice#unitNumber. {#member vmNetworks} and {#member devices} are mutually exclusive. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no additional devices will be added to the VMs." + }, + "remediation_policy": { + "type": "string", + "description": "Remediation policy to be configured for the deployment units.\n\nPossible values:\n - `PARALLEL`: Default remediation policy. Entities are remediated in parallel.\n - `SEQUENTIAL`: Entities are remediated sequentially, one at a time.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.RemediationPolicy*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, defaults to *Esx.Settings.Clusters.Vms.RemediationPolicy.PARALLEL*." + }, + "alternative_vm_specs": { + "type": "array", + "description": "List of Esx.Settings.Clusters.Vms.AlternativeVmSpecs to be applied on the System VMs. \n\n\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` no Esx.Settings.Clusters.Vms.AlternativeVmSpecs will be applied to the System VMs.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.AlternativeVmSpec" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.ClusterSolutionSpec schema contains properties that describe solution configuration only applicable for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.VmNameTemplate": { + "required": [ + "prefix", + "suffix" + ], + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "VM name prefix.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "suffix": { + "type": "string", + "description": "VM name suffix format.\n\nPossible values:\n - `UUID`: UUID suffix format.\n - `COUNTER`: Suffix in the format \"(counter)\" where \"counter\" is monotonically growing integer.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.VmNameTemplate.SuffixFormat*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Vms.VmNameTemplate schema contains properties that describe a template for VM names\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.VmNameTemplate.SuffixFormat": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.VmNameTemplate.SuffixFormat enumerated type defines the types of VM name suffixes.\n\nPossible values:\n - `UUID`: UUID suffix format.\n - `COUNTER`: Suffix in the format \"(counter)\" where \"counter\" is monotonically growing integer.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "UUID", + "COUNTER" + ] + }, + "Esx.Settings.Clusters.Vms.VmResourceSpec": { + "type": "object", + "properties": { + "ovf_deployment_option": { + "type": "string", + "description": "The VM deployment option that corresponds to the Configuration element of the DeploymentOptionSection in the OVF descriptor (e.g. \"small\", \"medium\", \"large\").\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the default deployment options as specified in the OVF descriptor is used." + } + }, + "description": "The Esx.Settings.Clusters.Vms.VmResourceSpec schema contains properties that describe the VM resource configurations.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.SolutionSpec": { + "required": [ + "deployment_type", + "display_name", + "display_version", + "ovf_resource", + "vm_name_template", + "vm_storage_policy" + ], + "type": "object", + "properties": { + "deployment_type": { + "type": "string", + "description": "Deployment type of the solution.\n\nPossible values:\n - `EVERY_HOST_PINNED`: The solution requires exactly one VM deployed to any host in the cluster. Every solution VM is pinned (has affinity) to the host and cannot be migrated or restarted on another host inside the cluster.\n - `CLUSTER_VM_SET`: The solution requires a set of VMs to be deployed inside the cluster.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.DeploymentType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "display_name": { + "type": "string", + "description": "Display name of the solution.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Display version of the solution.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm_name_template": { + "description": "VM name template.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.VmNameTemplate" + } + ] + }, + "host_solution_spec": { + "description": "Configuration that is only applicable for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of deployment_type is *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.HostSolutionSpec" + } + ] + }, + "cluster_solution_spec": { + "description": "Configuration that is only applicable for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of deployment_type is *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.ClusterSolutionSpec" + } + ] + }, + "hook_configurations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.LifecycleHookConfig" + }, + "description": "VM lifecycle hooks configurations. See *Esx.Settings.Clusters.Vms.LifecycleHooks*. The map keys represent *Esx.Settings.Clusters.Vms.LifecycleState*s while the map values represent their configurations.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty, no hooks are configured." + }, + "ovf_resource": { + "description": "Information about the OVF resource that to be used for the VM deployments.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.OvfResource" + } + ] + }, + "ovf_descriptor_properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "OVF properties that to be assigned to the VMs' OVF properties when powered on. The keys of the map must not include any white-space characters. The map keys represent the names of properties while the map values represent the values of those properties.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty, no properties are assigned." + }, + "vm_clone_config": { + "type": "string", + "description": "VM cloning configuration.\n\nPossible values:\n - `ALL_CLONES`: The system creates a snapshot of the first deployed VM and after that uses one of the available VM clone methods to deploy others.\n - `FULL_CLONES_ONLY`: The system creates a snapshot of the first deployed VM and after that uses full VM clone method to deploy others.\n - `NO_CLONES`: The system does not use VM clone methods to deploy VMs.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.VmCloneConfig*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, defaults to *Esx.Settings.Clusters.Vms.VmCloneConfig.ALL_CLONES*." + }, + "vm_storage_policy": { + "type": "string", + "description": "Storage policies to be configured on the VMs.\n\nPossible values:\n - `DEFAULT`: The default storage policy defined by the Storage Policy Based Management.\n - `PROFILE`: Profile storage policy.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.StoragePolicy*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm_storage_profiles": { + "type": "array", + "description": "Storage policy profiles to be configured on the VMs. The profiles are passed to vim.vm.ConfigSpec#vmProfile without any interpretation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of vm_storage_policy is *Esx.Settings.Clusters.Vms.StoragePolicy.PROFILE*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.spbm.StorageProfile`.", + "items": { + "type": "string" + } + }, + "vm_disk_type": { + "type": "string", + "description": "Disk provisioning type of the VMs.\n\nPossible values:\n - `DEFAULT`: Denotes no specific type for disk provisioning. Disks are provisioned as defaulted by vCenter.\n - `THIN`: Disks are provisioned with only used space allocated.\n - `THICK`: Disks are provisioned with full size and the space is zeroed on demand.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.DiskType*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, defaults to *Esx.Settings.Clusters.Vms.DiskType.DEFAULT*." + }, + "vm_resource_pool": { + "type": "string", + "description": "Identifier of the resource pool where the VMs to be deployed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the VMs for each compute resource will be deployed under top level nested resource pool created for the solutions. If unable to create a nested resource pool, the root resource pool of the compute resource will be used.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "vm_folder": { + "type": "string", + "description": "Identifier of the folder inventory object where the VMs to be deployed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the VMs are deployed inside the top level folder created in each datacenter for solutions.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "vm_resource_spec": { + "description": "VMs resource configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the default resource configuration specified in the OVF descriptor is used.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.VmResourceSpec" + } + ] + }, + "redeployment_policy": { + "type": "string", + "description": "Specifies System VMs redeployment policy. \n\n *Esx.Settings.Clusters.Vms.RedeploymentPolicy.BLUE_GREEN* is supported only for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*. \n\nPossible values:\n - `RECREATE`: The default policy used by vLCM for System VM redeployment. System VMs are redeployed as follows: Once the new replica is provisioned, the old replica is powered off and deleted. Then the new replica is powered on and it's setup is completed to have the System VM fully operational. \n\n This policy causes a downtime. \n - `BLUE_GREEN`: Follows a standard blue-green strategy. System VMs are redeployed as follows: Once the new replica is provisioned, it is powered on. Then the new replica setup is completed to have the System VM fully operational. Then the old replica is powered off and deleted. \n\n This policy provides zero-downtime. \n\n\nFor more information see: *Esx.Settings.Clusters.Vms.RedeploymentPolicy*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, defaults to *Esx.Settings.Clusters.Vms.RedeploymentPolicy.RECREATE*." + } + }, + "description": "The Esx.Settings.Clusters.Vms.SolutionSpec schema contains properties that describe the desired specification of a System VM solution that is to be installed or updated in a given cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.LifecycleHooks.ProcessedHookSpec": { + "required": [ + "lifecycle_state", + "processed_successfully", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of the VM whose hook needs to be marked as processed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "lifecycle_state": { + "type": "string", + "description": "Expected VM lifecycle state of the VM specified by the vm for which the hook is activated.\n\nPossible values:\n - `POST_PROVISIONING`: Post VM provisioning, reached once immediately after a VM is created.\n - `POST_POWER_ON`: Post VM power-on, reached immediately after every VM power-on.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.LifecycleState*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "processed_successfully": { + "type": "boolean", + "description": "Result of the client hook processing. True if processed successfully, false otherwise.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Clusters.Vms.LifecycleHooks.ProcessedHookSpec schema contains properties that describe a specification for marking a hook as processed.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec": { + "required": [ + "lifecycle_state", + "solution", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of the VM whose Esx.Settings.Clusters.Vms.LifecycleState hook needs a dynamic update to be processed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "solution": { + "type": "string", + "description": "Identifier of the Solution whose Esx.Settings.Clusters.Vms.LifecycleState hook needs a dynamic update to be processed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`." + }, + "lifecycle_state": { + "type": "string", + "description": "Expected lifecycle state of the VM specified by the {#member vm} whose hook needs a dynamic update to be processed.\n\nPossible values:\n - `POST_PROVISIONING`: Post VM provisioning, reached once immediately after a VM is created.\n - `POST_POWER_ON`: Post VM power-on, reached immediately after every VM power-on.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.LifecycleState*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "alternative_vm_spec": { + "description": "Alternative VM spec to be applied to the given {#member vm} while in the given {member# lifecycleState}. \n\n If the provided {member# alternativeVmSpec} is not present in the solution desired state specification (i.e. extraConfigValue is not present in @link ClusterSolutionSpec#alternativeVmSpecs}), vLCM will add the {member# alternativeVmSpec} to the *Esx.Settings.Clusters.Vms.ClusterSolutionSpec.alternative_vm_specs*. \n\n If the provided {member# alternativeVmSpec} already exists in the solution desired state specification (i.e. extraConfigValue is present in @link ClusterSolutionSpec#alternativeVmSpecs}), the {#member alternativeVmSpec} is overridden in the *Esx.Settings.Clusters.Vms.ClusterSolutionSpec.alternative_vm_specs*. \n\n\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` no Esx.Settings.Clusters.Vms.AlternativeVmSpec will be applied for the {member# vm} and the *Esx.Settings.Clusters.Vms.ClusterSolutionSpec.alternative_vm_specs* will be unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.AlternativeVmSpec" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.LifecycleHooks.DynamicUpdateSpec schema contains properties to describe a System VM desired state to be applied dynamically by vLCM. \n\n Can be used only with Solutions that has *Esx.Settings.Clusters.Vms.ClusterSolutionSpec*.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Vms.LifecycleHooks.ListResult": { + "required": [ + "hooks" + ], + "type": "object", + "properties": { + "hooks": { + "type": "array", + "description": "Activated Hooks that the system is waiting for solutions to process.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.LifecycleHookInfo" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.LifecycleHooks.ListResult schema contains properties that describe all activated hooks that the system is waiting to be processed by a given solution.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ComplianceStatus": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.Solutions.ComplianceStatus enumerated type describes the possible compliance status.\n\nPossible values:\n - `COMPLIANT`: The status is compliant with the desired solution specification.\n - `NON_COMPLIANT`: The status is __non__-compliant with the desired solution specification.\n - `INCOMPATIBLE`: Target state is incompatible with the system.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "COMPLIANT", + "NON_COMPLIANT", + "INCOMPATIBLE" + ] + }, + "Esx.Settings.Clusters.Vms.Solutions.ValidateResult": { + "required": [ + "notifications" + ], + "type": "object", + "properties": { + "notifications": { + "description": "Notifications associated with the validation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ValidateResult schema contains properties that describe the validation result during the execution of a *PUT /esx/settings/clusters/{cluster}/vms/solutions/{solution}* or *DELETE /esx/settings/clusters/{cluster}/vms/solutions/{solution}* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.HostSolutionInfo": { + "required": [ + "prefer_host_configuration", + "vm_datastores", + "vm_networks" + ], + "type": "object", + "properties": { + "prefer_host_configuration": { + "type": "boolean", + "description": "Describes whether the VM datastore and network configured through vim.host.EsxAgentHostManager take precedence over the networks and datastores specified by the vmNetworks and vmDatastores properties when configuring the VMs. \n\n NOTE: This option is reserved only for NSX and future plans are to be deprecated.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm_networks": { + "type": "array", + "description": "Networks to be configured on the VMs. The first available network on the host is used. \n\n If the prefer_host_configuration is set to `true`, the default network configured through vim.host.EsxAgentHostManager will take precedence over the specified by the vm_networks. \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "items": { + "type": "string" + } + }, + "vm_datastores": { + "type": "array", + "description": "Datastores to be configured as a storage of the VMs. The first available datastore on the host is used. \n\n If the prefer_host_configuration is set to `true`, the default datastore configured through vim.host.EsxAgentHostManager will take precedence over the specified by vm_datastores. \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.HostSolutionInfo schema contains properties that describe solution configuration only applicable for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionInfo": { + "required": [ + "vm_count", + "vm_datastores", + "vm_networks", + "vm_placement_policies" + ], + "type": "object", + "properties": { + "vm_count": { + "type": "integer", + "description": "The number of instances of the specified VM to be deployed across the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "vm_placement_policies": { + "uniqueItems": true, + "type": "array", + "description": "VM placement policies to be configured on the VMs.\n\nPossible values:\n - `VM_VM_ANTI_AFFINITY`: VMs are anti-affined to each other.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.VmPlacementPolicy*.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "vm_networks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Networks to be configured on the VMs. The map keys represent the logical network names defined in the OVF descriptor while the map values represent the VM network identifiers.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the value in the property map must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the value in the property map will be an identifier for the resource type: `Network`." + }, + "vm_datastores": { + "type": "array", + "description": "Datastores to be configured as a storage of the VMs. The first datastore from the list available in the cluster is used.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "items": { + "type": "string" + } + }, + "devices": { + "type": "object", + "description": "Devices of the VMs not defined in the OVF descriptor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no additional devices will be added to the VMs." + }, + "remediation_policy": { + "type": "string", + "description": "Remediation policy to be configured for the deployment units.\n\nPossible values:\n - `PARALLEL`: Default remediation policy. Entities are remediated in parallel.\n - `SEQUENTIAL`: Entities are remediated sequentially, one at a time.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.RemediationPolicy*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "alternative_vm_specs": { + "type": "array", + "description": "List of Esx.Settings.Clusters.Vms.AlternativeVmSpecs to be applied on the System VMs. \n\n\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` no Esx.Settings.Clusters.Vms.AlternativeVmSpecs will be applied to the System VMs.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.AlternativeVmSpec" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionInfo schema contains properties that describe solution configuration only applicable for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.SolutionInfo": { + "required": [ + "deployment_type", + "display_name", + "display_version", + "hook_configurations", + "ovf_descriptor_properties", + "ovf_resource", + "vm_clone_config", + "vm_disk_type", + "vm_name_template", + "vm_storage_policy" + ], + "type": "object", + "properties": { + "deployment_type": { + "type": "string", + "description": "Deployment type of the solution.\n\nPossible values:\n - `EVERY_HOST_PINNED`: The solution requires exactly one VM deployed to any host in the cluster. Every solution VM is pinned (has affinity) to the host and cannot be migrated or restarted on another host inside the cluster.\n - `CLUSTER_VM_SET`: The solution requires a set of VMs to be deployed inside the cluster.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.DeploymentType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "display_name": { + "type": "string", + "description": "Display name of the solution.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Display version of the solution.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm_name_template": { + "description": "VM name template.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.VmNameTemplate" + } + ] + }, + "host_solution_info": { + "description": "Information about a configuration that is only applicable to solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of deployment_type is *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.HostSolutionInfo" + } + ] + }, + "cluster_solution_info": { + "description": "Information about a configuration that is only applicable to solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of deployment_type is *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionInfo" + } + ] + }, + "hook_configurations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.LifecycleHookConfig" + }, + "description": "VM lifecycle hooks configurations. See *Esx.Settings.Clusters.Vms.LifecycleHooks*. The map keys represent *Esx.Settings.Clusters.Vms.LifecycleState*s while the map values represent their configurations.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "ovf_resource": { + "description": "Information about the OVF resource that is used for the VM deployments.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.OvfResource" + } + ] + }, + "ovf_descriptor_properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "OVF properties that are assigned to the VMs' OVF properties when powered on. The keys of the map must not include any white-space characters. The map keys represent the names of properties while the map values represent the values of those properties.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm_clone_config": { + "type": "string", + "description": "VM cloning configuration.\n\nPossible values:\n - `ALL_CLONES`: The system creates a snapshot of the first deployed VM and after that uses one of the available VM clone methods to deploy others.\n - `FULL_CLONES_ONLY`: The system creates a snapshot of the first deployed VM and after that uses full VM clone method to deploy others.\n - `NO_CLONES`: The system does not use VM clone methods to deploy VMs.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.VmCloneConfig*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm_storage_policy": { + "type": "string", + "description": "Storage policies that are configured on the VMs.\n\nPossible values:\n - `DEFAULT`: The default storage policy defined by the Storage Policy Based Management.\n - `PROFILE`: Profile storage policy.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.StoragePolicy*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm_storage_profiles": { + "type": "array", + "description": "Storage policy profiles that are configured on the VMs. The profiles are passed to vim.vm.ConfigSpec#vmProfile without any interpretation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of vm_storage_policy is *Esx.Settings.Clusters.Vms.StoragePolicy.PROFILE*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.spbm.StorageProfile`.", + "items": { + "type": "string" + } + }, + "vm_disk_type": { + "type": "string", + "description": "Disk provisioning type of the VMs.\n\nPossible values:\n - `DEFAULT`: Denotes no specific type for disk provisioning. Disks are provisioned as defaulted by vCenter.\n - `THIN`: Disks are provisioned with only used space allocated.\n - `THICK`: Disks are provisioned with full size and the space is zeroed on demand.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.DiskType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm_resource_pool": { + "type": "string", + "description": "Identifier of the resource pool where the VMs are deployed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the VMs for each compute resource will be deployed under top level nested resource pool created for the solutions. If unable to create a nested resource pool, the root resource pool of the compute resource will be used.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "vm_folder": { + "type": "string", + "description": "Identifier of the folder inventory object where VMs are deployed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the VMs are deployed inside the top level folder created in each datacenter for solutions.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "vm_resource_spec": { + "description": "VMs resource configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the default resource configuration specified in the OVF descriptor is used.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.VmResourceSpec" + } + ] + }, + "redeployment_policy": { + "type": "string", + "description": "Specifies System VMs redeployment policy.\n\nPossible values:\n - `RECREATE`: The default policy used by vLCM for System VM redeployment. System VMs are redeployed as follows: Once the new replica is provisioned, the old replica is powered off and deleted. Then the new replica is powered on and it's setup is completed to have the System VM fully operational. \n\n This policy causes a downtime. \n - `BLUE_GREEN`: Follows a standard blue-green strategy. System VMs are redeployed as follows: Once the new replica is provisioned, it is powered on. Then the new replica setup is completed to have the System VM fully operational. Then the old replica is powered off and deleted. \n\n This policy provides zero-downtime. \n\n\nFor more information see: *Esx.Settings.Clusters.Vms.RedeploymentPolicy*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.SolutionInfo schema contains properties that describe the desired specification of a System VM solution.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ListResult": { + "required": [ + "solutions" + ], + "type": "object", + "properties": { + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.SolutionInfo" + }, + "description": "Map of solution identifiers to their desired specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ListResult schema contains properties that describe the desired specification of the solutions in a given cluster specified by the *Esx.Settings.Clusters.Vms.Solutions.FilterSpec* of the corresponding *GET /esx/settings/clusters/{cluster}/vms/solutions* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.FilterSpec": { + "type": "object", + "properties": { + "solutions": { + "uniqueItems": true, + "type": "array", + "description": "Solutions to return desired specification for.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty the desired specification of all solutions in the cluster to be returned.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.FilterSpec schema contains properties that are used to filter the desired specification that to be returned. See *GET /esx/settings/clusters/{cluster}/vms/solutions*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.HostSolutionsApplyFilterSpec": { + "type": "object", + "properties": { + "solutions": { + "uniqueItems": true, + "type": "array", + "description": "Specific solutions within the cluster to be considered during the execution of the apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty, all solutions are applied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "items": { + "type": "string" + } + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts on which solutions that are specified by this structure need to be applied.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty, the solutions are applied on all of the hosts in the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.HostSolutionsApplyFilterSpec schema contains properties that describe a filter that to be used for applying the desired specification of solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED* to a given cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsApplyFilterSpec": { + "type": "object", + "properties": { + "solutions": { + "uniqueItems": true, + "type": "array", + "description": "Specific solutions within the cluster to be considered during the execution of the apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty, all solutions are applied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "items": { + "type": "string" + } + }, + "deployment_units": { + "type": "array", + "description": "Deployment units on which solutions that are specified by this structure need to be applied. \n\n The deployment unit represents a single VM instance deployment. It is returned by the #checkCompliance operation. \n\n This filtering is not supported in case of subsequent LifecycleHook#processDynamicUpdate is invoked. \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty, the configured solutions by solutions are applied on all of the deployment units in the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmDeploymentUnit`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmDeploymentUnit`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsApplyFilterSpec schema contains properties that describe a filter that to be used for applying the desired specification of solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET* to a given cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ApplySpec": { + "type": "object", + "properties": { + "host_solutions": { + "description": "Apply filter for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty and {#member clusterSolutions} is missing or `null` or empty, all solutions are applied on the cluster.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.HostSolutionsApplyFilterSpec" + } + ] + }, + "cluster_solutions": { + "description": "Apply filter for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty and {#member hostSolutions} is missing or `null` or empty, all solutions are applied on the cluster.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsApplyFilterSpec" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ApplySpec schema contains properties that describe a specification to be used for applying the desired solution specification to a given cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ApplyStatus": { + "required": [ + "start_time" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation.\n\nPossible values:\n - `SUCCESS`: The apply operation completed successfully.\n - `ERROR`: The apply operation encountered an error.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.ApplyStatus.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the operation is not completed." + }, + "start_time": { + "type": "string", + "description": "The vLCM system time when the operation started.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "The vLCM system time when the operation completed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Esx.Settings.Clusters.Vms.Solutions.ApplyStatus.Status.SUCCESS* or *Esx.Settings.Clusters.Vms.Solutions.ApplyStatus.Status.ERROR*.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ApplyStatus schema contains properties that describe the status of an *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ApplyStatus.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.Solutions.ApplyStatus.Status enumerated type contains the status codes of an *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* operation.\n\nPossible values:\n - `SUCCESS`: The apply operation completed successfully.\n - `ERROR`: The apply operation encountered an error.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SUCCESS", + "ERROR" + ] + }, + "Esx.Settings.Clusters.Vms.Solutions.HostApplyStatus": { + "required": [ + "solution_statuses" + ], + "type": "object", + "properties": { + "status": { + "description": "Aggregated apply status of the solutions on the host.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the apply operation is not completed for the specified host.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ApplyStatus" + } + ] + }, + "solution_statuses": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ApplyStatus" + }, + "description": "The apply status of the different solutions on the host.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.HostApplyStatus schema contains properties that describe the apply status for a specific host.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.HostSolutionsApplyStatus": { + "required": [ + "host_statuses" + ], + "type": "object", + "properties": { + "status": { + "description": "Aggregated apply status of the solutions.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the apply operation is not completed for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ApplyStatus" + } + ] + }, + "host_statuses": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.HostApplyStatus" + }, + "description": "The apply status of the hosts that were part of the apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.HostSolutionsApplyStatus schema contains properties that describe the apply status of solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionApplyStatus": { + "required": [ + "deployment_unit_statuses" + ], + "type": "object", + "properties": { + "status": { + "description": "Aggregated apply status for the deployment units of the solution.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the apply operation is not completed for the specified deployment unit.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ApplyStatus" + } + ] + }, + "deployment_unit_statuses": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ApplyStatus" + }, + "description": "The apply status for the different deployment units of the solution.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmDeploymentUnit`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmDeploymentUnit`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionApplyStatus schema contains properties that describe the apply status for a specific solution.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsApplyStatus": { + "required": [ + "solution_statuses" + ], + "type": "object", + "properties": { + "status": { + "description": "Aggregated apply status of the solutions.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the apply operation is not completed for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ApplyStatus" + } + ] + }, + "solution_statuses": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionApplyStatus" + }, + "description": "The apply status of the solutions that were part of the apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsApplyStatus schema contains properties that describe the apply status of solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ApplyResult": { + "required": [ + "cluster_solutions_status", + "host_solutions_status" + ], + "type": "object", + "properties": { + "status": { + "description": "Aggregated status of an apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the apply operation is in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ApplyStatus" + } + ] + }, + "host_solutions_status": { + "description": "The apply status of all solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED* that were part of the apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.HostSolutionsApplyStatus" + } + ] + }, + "cluster_solutions_status": { + "description": "The apply status of all solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET* that were part of the apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsApplyStatus" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ApplyResult schema contains properties that describe the result of an *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.CheckComplianceFilterSpec": { + "type": "object", + "properties": { + "solutions": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the solutions that to be checked for compliance.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the compliance is checked for all solutions in the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`.", + "items": { + "type": "string" + } + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the hosts that to be checked for compliance of all solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty and {#member deploymentUnits} is missing or `null` or empty, the compliance is checked for all hosts in the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "deployment_units": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the deployment units that to be checked for compliance of all solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*. \n\n The deployment unit represents a single VM instance deployment.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty and {#member hosts} is missing or `null` or empty, the compliance is checked for all deployment units in the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmDeploymentUnit`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.vms.SystemVmDeploymentUnit`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.CheckComplianceFilterSpec schema contains properties that describe a filter for compliance check in a given cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.IssueInfo": { + "required": [ + "notifications", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the issue.\n\nPossible values:\n - `VM_POWERED_ON`: The System VM is expected to be powered-off, but it is powered-on. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM power-off the System VM.\n - `VM_POWERED_OFF`: The System VM is expected to be powered-on, but it is powered-off. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM power-on the System VM.\n - `VM_SUSPENDED`: The System VM is expected to be powered-on, but it is suspended. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM power-on the System VM.\n - `VM_INACCESSIBLE`: The System VM is expected to be connected, but it is inaccessible. To remediate the deployment, remove the VM and re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM or do the necessary changes to ensure that the connection state of the VM is (vim.ConnectionState#connected). \n\n NOTE: When the HA is enabled on the cluster this may be transient state and automatically remediated.\n - `VM_CORRUPTED`: The System VM is corrupted. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM delete the System VM and redeploys it.\n - `VM_NOT_DEPLOYED`: The System VM has not been deployed because of an unexpected error. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `VM_NOT_REMOVED`: The System VM has not been deployed because of an unexpected error. To remediate the deployment, manually remove the VM or re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the System VM removal.\n - `VM_DATASTORE_MISSING`: The System VM has not been deployed because the configured datastore for it is missing on the host. To unblock the System VM deployment, provide a proper datastore in the Esx.Settings.Clusters.Vms.SolutionSpec. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM to redeploy the System VM.\n - `VM_NETWORK_MISSING`: The System VM has not been deployed because the configured network for it is missing on the host. To unblock the System VM deployment provide a proper network in the Esx.Settings.Clusters.Vms.SolutionSpec. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `OVF_INVALID_FORMAT`: The System VM has not been deployed because the provided Esx.Settings.Clusters.Vms.OvfResource part of Esx.Settings.Clusters.Vms.SolutionSpec contains an invalid OVF. To unblock the System VM deployment provide a new Esx.Settings.Clusters.Vms.OvfResource with valid OVF. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `OVF_INVALID_PROPERTY`: The System VM is expected to be deployed or reconfigured, but an OVF property is either missing or has an invalid value. To unblock the System VM deployment or reconfiguration, provide a new ovfDescriptorProperties in the Esx.Settings.Clusters.Vms.SolutionSpec. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy or reconfigure the System VM.\n - `OVF_CANNOT_ACCESS`: The System VM has not been deployed because vLCM is not able to access the OVF package. To unblock the System VM deployment, provide a proper accessible Esx.Settings.Clusters.Vms.OvfResource. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `OVF_CERTIFICATE_NOT_TRUSTED`: The System VM has not been deployed because vLCM is not able to make successful SSL trust verification of the server certificate when establishing connection to the provided OVF package. To unblock the System VM deployment, provide a valid certificate or ensure the server certificate is signed by a CA trusted by the system. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `INSUFFICIENT_SPACE`: The System VM has not been deployed because the configured System VM datastore does not have enough free space. To unblock the System VM deployment, make enough free space on the datastore or provide a new datastore in the Esx.Settings.Clusters.Vms.SolutionSpec. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `INSUFFICIENT_RESOURCES`: The System VM has not been powered-on because the cluster does not have enough free CPU or memory resources. To unblock the System VM power-on, make enough CPU and memory resources available. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM power-on the System VM.\n - `HOST_IN_MAINTENANCE_MODE`: A System VM operation has not been initiated because the host is in maintenance mode. To unblock the System VM operation, move the host out of maintenance mode. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `HOST_IN_PARTIAL_MAINTENANCE_MODE`: A System VM operation has not been initiated because the host is in partial maintenance mode. To unblock the System VM operation, move the host out of partial maintenance mode. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `HOST_IN_STAND_BY_MODE`: A System VM operation has not been initiated because the host is in stand by mode. To unblock the System VM operation, move the host out of stand by mode. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `HOST_NOT_REACHABLE`: A System VM operation has not been initiated because the host is not reachable from vCenter Server. Any operation on the affected host is not possible. Typical reasons are disconnected or powered-off host. To unblock the System VM operation, reconnect and powered-on the host. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `VM_INVALID_CONFIG`: A System VM operation has not been initiated because the System VM has an invalid configuration. To unblock the System VM operation, inspect and correct the System VM configuration as necessary. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `VMS_DISABLED`: System VMs are disabled on the cluster via internal ESX Agent Manager (EAM) API (eam.EsxtAgentManager#disable). The present System VMs in the cluster are powered-off. No new System VMs are created. Modifications of the desired speification are not permitted. \n\n This issue cannot be remediated via vLCM API. Remediation requires the System VMs to be enabled on the cluster via internal EAM API (eam.EsxAgentManager#enable). As result, the present System VMs are powered-on, Modifications of the desired specification are permitted. \n\n Enabling and disabling the System VMs operations on the cluster is operated by vSAN Cluster Shutdown and Start-up workflows. Refer to vSAN Cluster Shutdown and Start-up documentation. \n\n NOTE: In future versions of vLCM, Enabling and disabling the System VM operations will happen via internal vLCM APIs.\n - `VM_LIFECYCLE_HOOK_TIMED_OUT`: The System VM deployment is not completed because the System VM lifecycle hook has not been processed in the configured *Esx.Settings.Clusters.Vms.LifecycleHookConfig.timeout*. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* and process again the VM lifecycle hook.\n - `VM_LIFECYCLE_HOOK_FAILED`: The System VM deployment is not completed because the System VM lifecycle hook has been failed by the client. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* and process again the VM lifecycle hook.\n - `VM_PROTECTED`: The System VM deployment is not completed because the System VM is protected from modifications (example: VM is in a process of vSphere HA recovery). To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `VM_LIFECYCLE_HOOK_DYNAMIC_UPDATE_FAILED`: The System VM deployment is not completed because the System VM lifecycle hook dynamic update has failed. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `CLUSTER_TRANSITION_FAILED`: The System VM deployment is not completed because the System VM failed to transition to the target cluster. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `TRANSITION_FAILED`: The System VM deployment is not completed because the Agent failed to transition to a System VM. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.IssueInfo.IssueType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Provides additional information about the issue.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.IssueInfo schema contains properties that describe an issue that blocks the system to reach the desired specification of a given VM deployment.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.IssueInfo.IssueType": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.Solutions.IssueInfo.IssueType enumerated type defines the type of the issues.\n\nPossible values:\n - `VM_POWERED_ON`: The System VM is expected to be powered-off, but it is powered-on. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM power-off the System VM.\n - `VM_POWERED_OFF`: The System VM is expected to be powered-on, but it is powered-off. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM power-on the System VM.\n - `VM_SUSPENDED`: The System VM is expected to be powered-on, but it is suspended. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM power-on the System VM.\n - `VM_INACCESSIBLE`: The System VM is expected to be connected, but it is inaccessible. To remediate the deployment, remove the VM and re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM or do the necessary changes to ensure that the connection state of the VM is (vim.ConnectionState#connected). \n\n NOTE: When the HA is enabled on the cluster this may be transient state and automatically remediated.\n - `VM_CORRUPTED`: The System VM is corrupted. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM delete the System VM and redeploys it.\n - `VM_NOT_DEPLOYED`: The System VM has not been deployed because of an unexpected error. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `VM_NOT_REMOVED`: The System VM has not been deployed because of an unexpected error. To remediate the deployment, manually remove the VM or re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the System VM removal.\n - `VM_DATASTORE_MISSING`: The System VM has not been deployed because the configured datastore for it is missing on the host. To unblock the System VM deployment, provide a proper datastore in the Esx.Settings.Clusters.Vms.SolutionSpec. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM to redeploy the System VM.\n - `VM_NETWORK_MISSING`: The System VM has not been deployed because the configured network for it is missing on the host. To unblock the System VM deployment provide a proper network in the Esx.Settings.Clusters.Vms.SolutionSpec. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `OVF_INVALID_FORMAT`: The System VM has not been deployed because the provided Esx.Settings.Clusters.Vms.OvfResource part of Esx.Settings.Clusters.Vms.SolutionSpec contains an invalid OVF. To unblock the System VM deployment provide a new Esx.Settings.Clusters.Vms.OvfResource with valid OVF. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `OVF_INVALID_PROPERTY`: The System VM is expected to be deployed or reconfigured, but an OVF property is either missing or has an invalid value. To unblock the System VM deployment or reconfiguration, provide a new ovfDescriptorProperties in the Esx.Settings.Clusters.Vms.SolutionSpec. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy or reconfigure the System VM.\n - `OVF_CANNOT_ACCESS`: The System VM has not been deployed because vLCM is not able to access the OVF package. To unblock the System VM deployment, provide a proper accessible Esx.Settings.Clusters.Vms.OvfResource. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `OVF_CERTIFICATE_NOT_TRUSTED`: The System VM has not been deployed because vLCM is not able to make successful SSL trust verification of the server certificate when establishing connection to the provided OVF package. To unblock the System VM deployment, provide a valid certificate or ensure the server certificate is signed by a CA trusted by the system. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `INSUFFICIENT_SPACE`: The System VM has not been deployed because the configured System VM datastore does not have enough free space. To unblock the System VM deployment, make enough free space on the datastore or provide a new datastore in the Esx.Settings.Clusters.Vms.SolutionSpec. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM redeploy the System VM.\n - `INSUFFICIENT_RESOURCES`: The System VM has not been powered-on because the cluster does not have enough free CPU or memory resources. To unblock the System VM power-on, make enough CPU and memory resources available. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM power-on the System VM.\n - `HOST_IN_MAINTENANCE_MODE`: A System VM operation has not been initiated because the host is in maintenance mode. To unblock the System VM operation, move the host out of maintenance mode. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `HOST_IN_PARTIAL_MAINTENANCE_MODE`: A System VM operation has not been initiated because the host is in partial maintenance mode. To unblock the System VM operation, move the host out of partial maintenance mode. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `HOST_IN_STAND_BY_MODE`: A System VM operation has not been initiated because the host is in stand by mode. To unblock the System VM operation, move the host out of stand by mode. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `HOST_NOT_REACHABLE`: A System VM operation has not been initiated because the host is not reachable from vCenter Server. Any operation on the affected host is not possible. Typical reasons are disconnected or powered-off host. To unblock the System VM operation, reconnect and powered-on the host. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `VM_INVALID_CONFIG`: A System VM operation has not been initiated because the System VM has an invalid configuration. To unblock the System VM operation, inspect and correct the System VM configuration as necessary. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `VMS_DISABLED`: System VMs are disabled on the cluster via internal ESX Agent Manager (EAM) API (eam.EsxtAgentManager#disable). The present System VMs in the cluster are powered-off. No new System VMs are created. Modifications of the desired speification are not permitted. \n\n This issue cannot be remediated via vLCM API. Remediation requires the System VMs to be enabled on the cluster via internal EAM API (eam.EsxAgentManager#enable). As result, the present System VMs are powered-on, Modifications of the desired specification are permitted. \n\n Enabling and disabling the System VMs operations on the cluster is operated by vSAN Cluster Shutdown and Start-up workflows. Refer to vSAN Cluster Shutdown and Start-up documentation. \n\n NOTE: In future versions of vLCM, Enabling and disabling the System VM operations will happen via internal vLCM APIs.\n - `VM_LIFECYCLE_HOOK_TIMED_OUT`: The System VM deployment is not completed because the System VM lifecycle hook has not been processed in the configured *Esx.Settings.Clusters.Vms.LifecycleHookConfig.timeout*. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* and process again the VM lifecycle hook.\n - `VM_LIFECYCLE_HOOK_FAILED`: The System VM deployment is not completed because the System VM lifecycle hook has been failed by the client. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* and process again the VM lifecycle hook.\n - `VM_PROTECTED`: The System VM deployment is not completed because the System VM is protected from modifications (example: VM is in a process of vSphere HA recovery). To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n - `VM_LIFECYCLE_HOOK_DYNAMIC_UPDATE_FAILED`: The System VM deployment is not completed because the System VM lifecycle hook dynamic update has failed. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `CLUSTER_TRANSITION_FAILED`: The System VM deployment is not completed because the System VM failed to transition to the target cluster. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `TRANSITION_FAILED`: The System VM deployment is not completed because the Agent failed to transition to a System VM. To remediate the deployment, re-invoke *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* to have vLCM retry the operation.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "VM_POWERED_ON", + "VM_POWERED_OFF", + "VM_SUSPENDED", + "VM_INACCESSIBLE", + "VM_CORRUPTED", + "VM_NOT_DEPLOYED", + "VM_NOT_REMOVED", + "VM_DATASTORE_MISSING", + "VM_NETWORK_MISSING", + "OVF_INVALID_FORMAT", + "OVF_INVALID_PROPERTY", + "OVF_CANNOT_ACCESS", + "OVF_CERTIFICATE_NOT_TRUSTED", + "INSUFFICIENT_SPACE", + "INSUFFICIENT_RESOURCES", + "HOST_IN_MAINTENANCE_MODE", + "HOST_IN_PARTIAL_MAINTENANCE_MODE", + "HOST_IN_STAND_BY_MODE", + "HOST_NOT_REACHABLE", + "VM_INVALID_CONFIG", + "VMS_DISABLED", + "VM_LIFECYCLE_HOOK_TIMED_OUT", + "VM_LIFECYCLE_HOOK_FAILED", + "VM_PROTECTED", + "VM_LIFECYCLE_HOOK_DYNAMIC_UPDATE_FAILED", + "CLUSTER_TRANSITION_FAILED", + "TRANSITION_FAILED" + ] + }, + "Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo": { + "required": [ + "issues", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the deployment.\n\nPossible values:\n - `NOT_APPLIED`: The desired specification of the solution has never been applied.\n - `IN_PROGRESS`: The system is actively working to reach the desired specification.\n - `COMPLIANT`: The deployment is in full compliance with the desired specification.\n - `ISSUE`: The system has hit issues that do not allow the deployment to reach the desired specification. See *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.issues*.\n - `IN_LIFECYCLE_HOOK`: The system is waiting on an activated VM lifecycle hook to be processed by the solution in order to continue attempting to reach the desired specification. See *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.lifecycle_hook*.\n - `BLOCKED`: The system is blocked from reaching the desired specification. For example, this can occur if *Esx.Settings.Clusters.Vms.RemediationPolicy.SEQUENTIAL* is set and another deployment is in ISSUE status.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `OBSOLETE_SPEC`: The current desired specification of the solution is newer than the applied. \n This state should take precedence over: - BLOCKED\n - IN_PROGRESS\n - ISSUE\n - IN_LIFECYCLE_HOOK\n \n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vm": { + "type": "string", + "description": "Identifier of the currently deployed VM. More information about the runtime state of the VM can be observed through the VIM API.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is missing or `null` if: \n - The VM deployment is not started yet.\n - There are issues specified by the issues that prevents the VM to be deployed.\n \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "replacement_vm": { + "type": "string", + "description": "Identifier of the VM that is going to replace the current deployed VM. More information about the runtime state of the VM can be observed through the VIM API.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is missing or `null` if there is no ongoing VM upgrade for the current VM deployment.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "issues": { + "type": "array", + "description": "List of *Esx.Settings.Clusters.Vms.Solutions.IssueInfo* which do not allow the deployment to reach the desired specification specified by the solution_info. In order to remediate these issues an apply operation *POST /esx/settings/clusters/{cluster}/vms/solutions?action=apply* need to be initiated.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.IssueInfo" + } + }, + "lifecycle_hook": { + "description": "The activated VM lifecycle hook for the VM specified by the vm that the system is waiting to be processed by the solution in order to continue attempting to reach the desired specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is missing or `null` if there is no activated hook for the VM.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.LifecycleHookInfo" + } + ] + }, + "solution_info": { + "description": "Describes the current desired solution specification of the deployment.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status.BLOCKED*, *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status.IN_PROGRESS*, *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status.COMPLIANT*, *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status.ISSUE*, *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status.IN_LIFECYCLE_HOOK*, or *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status.OBSOLETE_SPEC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.SolutionInfo" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo schema contains properties that describe the state of a single VM deployment of a solution.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status": { + "type": "string", + "description": "The Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.Status enumerated type defines how well a deployment conforms to the desired specification that is specified by the solution_info.\n\nPossible values:\n - `NOT_APPLIED`: The desired specification of the solution has never been applied.\n - `IN_PROGRESS`: The system is actively working to reach the desired specification.\n - `COMPLIANT`: The deployment is in full compliance with the desired specification.\n - `ISSUE`: The system has hit issues that do not allow the deployment to reach the desired specification. See *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.issues*.\n - `IN_LIFECYCLE_HOOK`: The system is waiting on an activated VM lifecycle hook to be processed by the solution in order to continue attempting to reach the desired specification. See *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo.lifecycle_hook*.\n - `BLOCKED`: The system is blocked from reaching the desired specification. For example, this can occur if *Esx.Settings.Clusters.Vms.RemediationPolicy.SEQUENTIAL* is set and another deployment is in ISSUE status.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n - `OBSOLETE_SPEC`: The current desired specification of the solution is newer than the applied. \n This state should take precedence over: - BLOCKED\n - IN_PROGRESS\n - ISSUE\n - IN_LIFECYCLE_HOOK\n \n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "NOT_APPLIED", + "IN_PROGRESS", + "COMPLIANT", + "ISSUE", + "IN_LIFECYCLE_HOOK", + "BLOCKED", + "OBSOLETE_SPEC" + ] + }, + "Esx.Settings.Clusters.Vms.Solutions.DeploymentCompliance": { + "required": [ + "deployment", + "notifications", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Compliance status of the deployment.\n\nPossible values:\n - `COMPLIANT`: The status is compliant with the desired solution specification.\n - `NON_COMPLIANT`: The status is __non__-compliant with the desired solution specification.\n - `INCOMPATIBLE`: Target state is incompatible with the system.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Notifications describing the compliance result.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "deployment": { + "description": "The current VM deployment.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.DeploymentCompliance schema contains properties that describe the compliance of a given VM deployment. See *Esx.Settings.Clusters.Vms.Solutions.DeploymentInfo*\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.HostCompliance": { + "required": [ + "compliances", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated compliance status for all solutions for which compliance check was requested.\n\nPossible values:\n - `COMPLIANT`: The status is compliant with the desired solution specification.\n - `NON_COMPLIANT`: The status is __non__-compliant with the desired solution specification.\n - `INCOMPATIBLE`: Target state is incompatible with the system.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compliances": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.DeploymentCompliance" + }, + "description": "Compliance for the solutions for which a compliance check was requested.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.HostCompliance schema contains properties that describe the compliance for a specific host.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.HostSolutionsCompliance": { + "required": [ + "compliances", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated compliance status for all solutions for which a compliance check was requested.\n\nPossible values:\n - `COMPLIANT`: The status is compliant with the desired solution specification.\n - `NON_COMPLIANT`: The status is __non__-compliant with the desired solution specification.\n - `INCOMPATIBLE`: Target state is incompatible with the system.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compliances": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.HostCompliance" + }, + "description": "Compliance status of the hosts that were part of the check compliance operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.HostSolutionsCompliance schema contains properties that describe the compliance of solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionCompliance": { + "required": [ + "compliances", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated compliance status for all deployment units for which a compliance check was requested.\n\nPossible values:\n - `COMPLIANT`: The status is compliant with the desired solution specification.\n - `NON_COMPLIANT`: The status is __non__-compliant with the desired solution specification.\n - `INCOMPATIBLE`: Target state is incompatible with the system.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compliances": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.DeploymentCompliance" + }, + "description": "Compliance status for the deployment units for which a compliance check was requested.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmDeploymentUnit`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmDeploymentUnit`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionCompliance schema contains properties that describe the compliance for a specific solution.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsCompliance": { + "required": [ + "compliances", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated compliance status for all solutions for which a compliance check was requested.\n\nPossible values:\n - `COMPLIANT`: The status is compliant with the desired solution specification.\n - `NON_COMPLIANT`: The status is __non__-compliant with the desired solution specification.\n - `INCOMPATIBLE`: Target state is incompatible with the system.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compliances": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionCompliance" + }, + "description": "Compliance for the solutions for which a compliance check was requested.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.vms.SystemVmSolution`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsCompliance schema contains properties that describe the compliance of solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Solutions.ClusterCompliance": { + "required": [ + "cluster_solutions_status", + "host_solutions_status", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated status of the compliance check operation.\n\nPossible values:\n - `COMPLIANT`: The status is compliant with the desired solution specification.\n - `NON_COMPLIANT`: The status is __non__-compliant with the desired solution specification.\n - `INCOMPATIBLE`: Target state is incompatible with the system.\n\n\nFor more information see: *Esx.Settings.Clusters.Vms.Solutions.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "host_solutions_status": { + "description": "Compliance status of all solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED* that were part of the *POST /esx/settings/clusters/{cluster}/vms/solutions?action=check-compliance* operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.HostSolutionsCompliance" + } + ] + }, + "cluster_solutions_status": { + "description": "Compliance status of all solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET* that were part of the *POST /esx/settings/clusters/{cluster}/vms/solutions?action=check-compliance* operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.Solutions.ClusterSolutionsCompliance" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Solutions.ClusterCompliance schema contains properties that describe the result of the compliance *POST /esx/settings/clusters/{cluster}/vms/solutions?action=check-compliance* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Transition.ValidationResult": { + "required": [ + "notifications" + ], + "type": "object", + "properties": { + "notifications": { + "description": "Notifications associated with the validation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Transition.ValidationResult schema contains properties that describe a validation result.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Transition.TransitionSpec": { + "required": [ + "solution", + "source_cluster" + ], + "type": "object", + "properties": { + "source_cluster": { + "type": "string", + "description": "Cluster to transition from.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "solution": { + "description": "Target desired solution specification in vLCM.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.SolutionSpec" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Transition.TransitionSpec schema contains properties that describe the specification for transitioning a System VM Solution. \n\n Supported only for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Clusters.Vms.Transition.EnableSpec": { + "required": [ + "eam_agency_id", + "solution" + ], + "type": "object", + "properties": { + "eam_agency_id": { + "type": "string", + "description": "Identifier of the host pinned solution in EAM (EAM agency).\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "solution": { + "description": "Target desired solution specification in vLCM.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.SolutionSpec" + } + ] + } + }, + "description": "The Esx.Settings.Clusters.Vms.Transition.EnableSpec schema contains properties that describe specification for enablement of EAM managed solution in vLCM. \n\n Supported only for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.EVERY_HOST_PINNED*. \n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Clusters.Vms.Transition.MultiSourceEnableSpec": { + "required": [ + "eam_agency_ids", + "solution" + ], + "type": "object", + "properties": { + "eam_agency_ids": { + "type": "array", + "description": "Identifiers of the cluster bound solutions in EAM (EAM agencies).\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "solution": { + "description": "Target desired solution specification in vLCM.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.SolutionSpec" + } + ] + }, + "source_vm_selection_specs": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Vms.VmSelectionSpec" + }, + "description": "Relation between System VMs and their respective Esx.Settings.Clusters.Vms.VmSelectionSpecs. \n\n Provided VM IDs must be part of the solution being tarnsitioned and must exist in the cluster where the solution is installed. \n\n Provided *Esx.Settings.Clusters.Vms.VmSelectionSpec*s must be present in the applied desired state as part of the *Esx.Settings.Clusters.Vms.ClusterSolutionSpec.alternative_vm_specs*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no *Esx.Settings.Clusters.Vms.VmSelectionSpec*s are applied on the source agencies' System VMs during the enablement.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `VirtualMachine`." + }, + "cluster_module": { + "type": "string", + "description": "Cluster module to be reused for transitioned System VMs. Used to express VM-VM anti affinity relation between System VMs in the vSphere Cluster. \n\n The module must exist for the cluster where the solution is installed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no cluster module is reused. vLCM creates a new module if needed.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.cluster.modules`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.cluster.modules`." + } + }, + "description": "The Esx.Settings.Clusters.Vms.Transition.MultiSourceEnableSpec schema contains properties that describe specification for enablement of multiple EAM managed solutions into single vLCM managed solution. \n\n Supported only for solutions with deployment type *Esx.Settings.Clusters.Vms.DeploymentType.CLUSTER_VM_SET*. \n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "What action (Action) is to be taken if entering maintenance mode fails on a single host within the cluster.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task *Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.retry_count* number of times on the failed host after *Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.retry_delay*.\n\n\nFor more information see: *Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.Action*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "retry_delay": { + "type": "integer", + "description": "Time to wait to retry the failed operation in seconds.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.Action.RETRY*.", + "format": "int64" + }, + "retry_count": { + "type": "integer", + "description": "Number of times to retry the failed operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.Action.RETRY*.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction schema contains properties that describe the actions to be taken when entering maintenance mode fails on a single host within the cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.Action": { + "type": "string", + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.Action enumerated type defines the actions to be taken when entering maintenance mode fails on a single host within the cluster.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task *Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.retry_count* number of times on the failed host after *Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction.retry_delay*.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.ParallelRemediationAction": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable parallel remediation for hosts in maintenance mode within a cluster.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "max_hosts": { + "type": "integer", + "description": "Maximum number of hosts that can be remediated in parallel Setting *Esx.Settings.Defaults.Clusters.Policies.Apply.ParallelRemediationAction.max_hosts* does not guarantee maxHosts to be remediated in parallel.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, number of hosts that can be remediated in parallel would be set to maximum number of hosts supported per cluster.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.ParallelRemediationAction schema contains properties that provide settings to remediate multiple hosts of a cluster in parallel. This schema will be deprecated in the future. It is recommended to use *Esx.Settings.ClusterParallelRemediationAction* instead. \n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec": { + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on a given host of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Clusters.Policies.Apply.FailureAction" + } + ] + }, + "pre_remediation_power_action": { + "type": "string", + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "enable_quick_boot": { + "type": "boolean", + "description": "Enable Quick Boot during remediation in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "disable_dpm": { + "type": "boolean", + "description": "Disable DPM on the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "disable_hac": { + "type": "boolean", + "description": "Disable HA Admission control on the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "evacuate_offline_vms": { + "type": "boolean", + "description": "Evacuate powered off/suspended VMs when attempting maintenance mode.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configured value would be unset." + }, + "enforce_hcl_validation": { + "type": "boolean", + "description": "Enforce HCL validation, when applicable, to prevent remediation if hardware compatibility issues are found.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, hardware compatibility issues will not prevent remediation. This field will be deprecated in the future. It is recommended to set the corresponding field in *Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec.software_policy_spec* instead. " + }, + "parallel_remediation_action": { + "description": "Enable parallel remediation of hosts in maintenance mode. Set max hosts when applicable.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, parallel remediation will not happen. This field will be deprecated in the future. It is recommended to set the corresponding field in *Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec.software_policy_spec* instead. ", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Clusters.Policies.Apply.ParallelRemediationAction" + } + ] + }, + "enforce_quick_patch": { + "type": "boolean", + "description": "Enforce quick patch on the cluster for images that support it.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, configured value would be unset. This field will be deprecated in the future. It is recommended to set Apply.ConfiguredPolicySpec.softwarePolicySpec#livePatchAction instead, which contains additional Live Patch modes. Only one of these two fields should be set. When this field is set to true, Apply.ConfiguredPolicySpec.softwarePolicySpec.livePatchAction#livePatchMode will be set to com.vmware.esx.settings.ClusterLivePatchAction.LivePatchMode#ENFORCE_LIVE_PATCH automatically. When this field is set to false, Apply.ConfiguredPolicySpec.softwarePolicySpec.livePatchAction#livePatchMode will be set to com.vmware.esx.settings.ClusterLivePatchAction.LivePatchMode#DISABLE_LIVE_PATCH automatically." + }, + "software_policy_spec": { + "description": "Software-specific policy settings applicable to the *POST /esx/settings/clusters/{cluster}/software?action=apply* API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, software-specific policy values will be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ClusterSoftwarePolicySpec" + } + ] + }, + "config_manager_policy_spec": { + "description": "Configure settings applicable to the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* API.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, configured values will be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.ConfigManagerPolicySpec" + } + ] + } + }, + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec schema contains properties that describe the policies configured to be used when the software and configuration specification documents are applied to ESXi clusters.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction": { + "type": "string", + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction enumerated type defines the possible actions to be taken on VMs before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.FailureAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "What action (Action) is to be taken if entering maintenance mode fails on a single host within the cluster.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task Apply.FailureAction#retryCount number of times on the failed host after Apply.FailureAction#retryDelay.\n\n\nFor more information see: *Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.FailureAction.Action*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "retry_delay": { + "type": "integer", + "description": "Time to wait to retry the failed operation in seconds.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.FailureAction.Action.RETRY*.", + "format": "int64" + }, + "retry_count": { + "type": "integer", + "description": "Number of times to retry the failed operation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.FailureAction.Action.RETRY*.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.FailureAction schema contains properties that describe the actions to be taken when entering maintenance mode fails on a single host within the cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.FailureAction.Action": { + "type": "string", + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.FailureAction.Action enumerated type defines the actions to be taken when entering maintenance mode fails on a single host within the cluster.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task Apply.FailureAction#retryCount number of times on the failed host after Apply.FailureAction#retryDelay.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.ParallelRemediationAction": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable parallel remediation for hosts in maintenance mode within a cluster.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "max_hosts": { + "type": "integer", + "description": "Maximum number of hosts that can be remediated in parallel. Setting *Esx.Settings.Defaults.Clusters.Policies.Apply.ParallelRemediationAction.max_hosts* does not guarantee maxHosts to be remediated in parallel.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, number of hosts that can be remediated in parallel would be set to maximum number of hosts supported per cluster.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.ParallelRemediationAction schema contains properties that provide settings to remediate multiple hosts of a cluster in parallel. This schema will be deprecated in the future. It is recommended to use *Esx.Settings.ClusterParallelRemediationAction* instead. \n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.EffectivePolicySpec": { + "required": [ + "disable_dpm", + "disable_hac", + "enable_quick_boot", + "evacuate_offline_vms", + "failure_action", + "pre_remediation_power_action" + ], + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on a given host of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.FailureAction" + } + ] + }, + "pre_remediation_power_action": { + "type": "string", + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "enable_quick_boot": { + "type": "boolean", + "description": "Enable Quick Boot during remediation in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "disable_dpm": { + "type": "boolean", + "description": "Disable DPM on the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "disable_hac": { + "type": "boolean", + "description": "Disable HA Admission control on the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "evacuate_offline_vms": { + "type": "boolean", + "description": "Evacuate powered off/suspended VMs when attempting maintenance mode.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "enforce_hcl_validation": { + "type": "boolean", + "description": "Enforce HCL validation, when applicable, to prevent remediation if hardware compatibility issues are found. This field will be deprecated in the future. It is recommended to set the corresponding field in *Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.EffectivePolicySpec.software_policy_spec* instead. \n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "parallel_remediation_action": { + "description": "Enable parallel remediation of hosts in maintenance mode. Set max hosts when applicable.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, parallel remediation will not happen. This field will be deprecated in the future. It is recommended to set the corresponding field in *Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.EffectivePolicySpec.software_policy_spec* instead. ", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.ParallelRemediationAction" + } + ] + }, + "enforce_quick_patch": { + "type": "boolean", + "description": "Enforce quick patch on the cluster for images that support it. This field will be deprecated in the future. When its value is false, it does not necessarily mean Live Patch is disabled. Refer to Effective.EffectivePolicySpec.softwarePolicySpec#livePatchAction, which can be set to use one of several Live Patch modes in addition to enforce Live Patch, for the actual mode that is effective.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "software_policy_spec": { + "description": "Software-specific policy settings applicable to the *POST /esx/settings/clusters/{cluster}/software?action=apply* API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.ClusterSoftwarePolicySpec" + } + ] + }, + "config_manager_policy_spec": { + "description": "Configure settings applicable to the *POST /esx/settings/clusters/{cluster}/configuration?action=apply* API.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Clusters.Policies.ConfigManagerPolicySpec" + } + ] + } + }, + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.EffectivePolicySpec schema contains properties that describe the effective policies to be used when the software and configuration specification documents are applied to ESXi clusters.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction": { + "type": "string", + "description": "The Esx.Settings.Defaults.Clusters.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction enumerated type defines the possible actions to be taken, before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "What action (Action) is to be taken if entering maintenance mode fails on an ESXi host.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task *Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.retry_count* number of times on the failed host after *Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.retry_delay*.\n\n\nFor more information see: *Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.Action*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "retry_delay": { + "type": "integer", + "description": "Time to wait to retry the failed operation in seconds.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.Action.RETRY*.", + "format": "int64" + }, + "retry_count": { + "type": "integer", + "description": "Number of times to retry the failed operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.Action.RETRY*.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction schema contains properties that describe the actions to be taken when entering maintenance mode fails on an ESXi host.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.Action": { + "type": "string", + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.Action enumerated type defines the actions to be taken when entering maintenance mode fails on an ESXi host.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task *Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.retry_count* number of times on the failed host after *Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction.retry_delay*.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "Esx.Settings.Defaults.Hosts.Policies.Apply.ConfiguredPolicySpec": { + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on an ESXi host.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, configured value would be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Hosts.Policies.Apply.FailureAction" + } + ] + }, + "pre_remediation_power_action": { + "type": "string", + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\n\nFor more information see: *Esx.Settings.Defaults.Hosts.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, configured value would be unset." + }, + "enable_quick_boot": { + "type": "boolean", + "description": "Enable Quick Boot during remediation of the host.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, configured value would be unset." + }, + "software_policy_spec": { + "description": "Software-specific policy settings applicable to the *POST /esx/settings/hosts/{host}/software?action=apply* API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, software-specific policy values will be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostSoftwarePolicySpec" + } + ] + } + }, + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.ConfiguredPolicySpec schema contains properties that describe the policies configured to be used when the software and configuration specification documents are applied to ESXi hosts.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Defaults.Hosts.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction": { + "type": "string", + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction enumerated type defines the possible actions to be taken, before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.FailureAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "What action (Action) is to be taken if entering maintenance mode fails on an ESXi host.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task Apply.FailureAction#retryCount number of times on the failed host after Apply.FailureAction#retryDelay.\n\n\nFor more information see: *Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.FailureAction.Action*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "retry_delay": { + "type": "integer", + "description": "Time to wait to retry the failed operation in seconds.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.FailureAction.Action.RETRY*.", + "format": "int64" + }, + "retry_count": { + "type": "integer", + "description": "Number of times to retry the failed operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.FailureAction.Action.RETRY*.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.FailureAction schema contains properties that describe the actions to be taken when entering maintenance mode fails on an ESXi host.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.FailureAction.Action": { + "type": "string", + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.FailureAction.Action enumerated type defines the actions to be taken when entering maintenance mode fails on an ESXi host.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task Apply.FailureAction#retryCount number of times on the failed host after Apply.FailureAction#retryDelay.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.EffectivePolicySpec": { + "required": [ + "enable_quick_boot", + "failure_action", + "pre_remediation_power_action" + ], + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on an ESXi host.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.FailureAction" + } + ] + }, + "pre_remediation_power_action": { + "type": "string", + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\n\nFor more information see: *Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "enable_quick_boot": { + "type": "boolean", + "description": "Enable Quick Boot during remediation of an ESXi host.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "software_policy_spec": { + "description": "Software-specific policy settings applicable to the *POST /esx/settings/hosts/{host}/software?action=apply* API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostSoftwarePolicySpec" + } + ] + } + }, + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.EffectivePolicySpec schema contains properties that describe the effective policies to be used when the software and configuration specification documents are applied to ESXi hosts.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction": { + "type": "string", + "description": "The Esx.Settings.Defaults.Hosts.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction enumerated type defines the possible actions to be taken, before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "Esx.Settings.DepotContent.AddOns.CategoryType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.AddOns.CategoryType enumerated type defines possible values of categories for a OEM add-on.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX" + ] + }, + "Esx.Settings.DepotContent.AddOns.Summary": { + "required": [ + "display_name", + "name", + "vendor", + "versions" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.add_on`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.add_on`." + }, + "display_name": { + "type": "string", + "description": "Display name of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "versions": { + "type": "array", + "description": "Summary information about the versions of this addon. These are sorted by the version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.AddOns.AddOnVersionSummary" + } + } + }, + "description": "The Esx.Settings.DepotContent.AddOns.Summary schema defines the summary information regarding a OEM add-on.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.AddOns.AddOnVersionSummary": { + "required": [ + "category", + "display_version", + "kb", + "release_date", + "summary", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "summary": { + "type": "string", + "description": "Summary of the OEM add-on version.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "category": { + "type": "string", + "description": "Category of the OEM add-on version.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n\n\nFor more information see: *Esx.Settings.DepotContent.AddOns.CategoryType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "kb": { + "type": "string", + "description": "Link to kb article related to this the OEM add-on version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "release_date": { + "type": "string", + "description": "Release date of the OEM add-on version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.DepotContent.AddOns.AddOnVersionSummary schema defines the summary information regarding a version of an OEM add-on.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.AddOns.FilterSpec": { + "type": "object", + "properties": { + "min_version": { + "type": "string", + "description": "Minimum version of an add-on that can match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf set, only OEM add-ons with version greater than or equal to this will be returned." + } + }, + "description": "The Esx.Settings.DepotContent.AddOns.FilterSpec schema contains properties used to filter the results when listing OEM add-ons, see *GET /esx/settings/depot-content/add-ons*).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.BaseImages.CategoryType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.BaseImages.CategoryType enumerated type defines possible values of categories for a base image.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX" + ] + }, + "Esx.Settings.DepotContent.BaseImages.Summary": { + "required": [ + "category", + "display_name", + "display_version", + "kb", + "release_date", + "summary", + "version" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.base_image`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.base_image`." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "summary": { + "type": "string", + "description": "Summary of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "category": { + "type": "string", + "description": "Category of the base image.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n\n\nFor more information see: *Esx.Settings.DepotContent.BaseImages.CategoryType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "kb": { + "type": "string", + "description": "Link to kb article related to this the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "release_date": { + "type": "string", + "description": "Release date of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "quick_patch_compatible_versions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "For base images this base image can quick patch from, map their full versions to display versions.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` this base image does not support quick patch.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.base_image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.base_image`." + } + }, + "description": "The Esx.Settings.DepotContent.BaseImages.Summary schema defines the summary information regarding a base image.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.BaseImages.FilterSpec": { + "type": "object", + "properties": { + "min_version": { + "type": "string", + "description": "Minimum version of a base image that can match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf set, only base images with version greater than or equal to this version will be returned." + } + }, + "description": "The Esx.Settings.DepotContent.BaseImages.FilterSpec schema contains properties used to filter the results when listing base images, see *GET /esx/settings/depot-content/base-images*).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.Components.CategoryType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.Components.CategoryType enumerated type defines possible values of categories for a component.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n - `RECALL`: Recall\n - `RECALL_FIX`: Recall-fix\n - `INFO`: Info\n - `MISC`: Misc\n - `GENERAL`: General\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX", + "RECALL", + "RECALL_FIX", + "INFO", + "MISC", + "GENERAL" + ] + }, + "Esx.Settings.DepotContent.Components.UrgencyType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.Components.UrgencyType enumerated type defines possible values of urgencies for a component.\n\nPossible values:\n - `CRITICAL`: Critical\n - `IMPORTANT`: Important\n - `MODERATE`: Moderate\n - `LOW`: Low\n - `GENERAL`: General\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "CRITICAL", + "IMPORTANT", + "MODERATE", + "LOW", + "GENERAL" + ] + }, + "Esx.Settings.DepotContent.Components.ComponentBundleType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.Components.ComponentBundleType enumerated type defines possible ways components are bundled.\n\nPossible values:\n - `INDEPENDENT`: Components not bundled in base-images or add-ons\n - `BASE_IMAGE`: Components bundled in base-images\n - `ADD_ON`: Components bundled in add-ons\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "INDEPENDENT", + "BASE_IMAGE", + "ADD_ON" + ] + }, + "Esx.Settings.DepotContent.Components.Summary": { + "required": [ + "display_name", + "name", + "vendor", + "versions" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "versions": { + "type": "array", + "description": "Summary information about the versions of this component. These are sorted by the version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.Components.ComponentVersionSummary" + } + } + }, + "description": "The Esx.Settings.DepotContent.Components.Summary schema defines the summary information regarding a component.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.Components.ComponentVersionSummary": { + "required": [ + "category", + "display_version", + "kb", + "release_date", + "summary", + "urgency", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "summary": { + "type": "string", + "description": "Summary of the component version.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "category": { + "type": "string", + "description": "Category of the component version.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n - `RECALL`: Recall\n - `RECALL_FIX`: Recall-fix\n - `INFO`: Info\n - `MISC`: Misc\n - `GENERAL`: General\n\n\nFor more information see: *Esx.Settings.DepotContent.Components.CategoryType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "urgency": { + "type": "string", + "description": "Urgency of the component version.\n\nPossible values:\n - `CRITICAL`: Critical\n - `IMPORTANT`: Important\n - `MODERATE`: Moderate\n - `LOW`: Low\n - `GENERAL`: General\n\n\nFor more information see: *Esx.Settings.DepotContent.Components.UrgencyType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "kb": { + "type": "string", + "description": "Link to kb article related to this the component version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "release_date": { + "type": "string", + "description": "Release date of the component version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.DepotContent.Components.ComponentVersionSummary schema defines the summary information regarding a version of a component.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.Components.FilterSpec": { + "type": "object", + "properties": { + "min_version": { + "type": "string", + "description": "Minimum version of the component that can match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf set, only components with version greater than or equal to the given version match the filter." + } + }, + "description": "The Esx.Settings.DepotContent.Components.FilterSpec schema contains properties used to filter the results when listing components, see *GET /esx/settings/depot-content/components*).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.AddOns.Versions.CategoryType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.AddOns.Versions.CategoryType enumerated type defines possible values of categories for a OEM add-on.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX" + ] + }, + "Esx.Settings.DepotContent.AddOns.Versions.RemovedComponentInfo": { + "required": [ + "display_name", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Identifier of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.DepotContent.AddOns.Versions.RemovedComponentInfo schema defines the information regarding a component removed by the OEM add-on.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.AddOns.Versions.ComponentInfo": { + "required": [ + "display_name", + "display_version", + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Identifier of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.DepotContent.AddOns.Versions.ComponentInfo schema defines the information regarding a component present in OEM add-on.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.AddOns.Versions.Info": { + "required": [ + "category", + "components", + "description", + "display_name", + "display_version", + "kb", + "release_date", + "removed_components", + "summary", + "vendor" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "summary": { + "type": "string", + "description": "Summary of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "category": { + "type": "string", + "description": "Category of the OEM add-on.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n\n\nFor more information see: *Esx.Settings.DepotContent.AddOns.Versions.CategoryType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "kb": { + "type": "string", + "description": "Link to kb article related to this the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "release_date": { + "type": "string", + "description": "Release date of the OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "components": { + "type": "array", + "description": "List of components in this OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.AddOns.Versions.ComponentInfo" + } + }, + "removed_components": { + "type": "array", + "description": "List of components removed by this OEM add-on.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.AddOns.Versions.RemovedComponentInfo" + } + } + }, + "description": "The Esx.Settings.DepotContent.AddOns.Versions.Info schema defines the information regarding a OEM add-on version.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.BaseImages.Versions.CategoryType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.BaseImages.Versions.CategoryType enumerated type defines possible values of categories for a base image.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX" + ] + }, + "Esx.Settings.DepotContent.BaseImages.Versions.ComponentVersionInfo": { + "required": [ + "display_name", + "display_version", + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Identifier of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.DepotContent.BaseImages.Versions.ComponentVersionInfo schema defines the information regarding a component present in base image.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.BaseImages.Versions.Info": { + "required": [ + "category", + "components", + "description", + "display_name", + "display_version", + "kb", + "release_date", + "summary", + "version" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.base_image`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.base_image`." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "summary": { + "type": "string", + "description": "Summary of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "category": { + "type": "string", + "description": "Category of the base image.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n\n\nFor more information see: *Esx.Settings.DepotContent.BaseImages.Versions.CategoryType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "kb": { + "type": "string", + "description": "Link to kb article related to this the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "release_date": { + "type": "string", + "description": "Release date of the base image.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "components": { + "type": "array", + "description": "List of components in this base image.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.DepotContent.BaseImages.Versions.ComponentVersionInfo" + } + }, + "quick_patch_compatible_versions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "For base images this base image can quick patch from, map their full versions to display versions.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` this base image does not support quick patch.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.base_image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.base_image`." + } + }, + "description": "The Esx.Settings.DepotContent.BaseImages.Versions.Info schema defines the information regarding a base image.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.DepotContent.Components.Versions.CategoryType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.Components.Versions.CategoryType enumerated type defines possible values of categories for a component.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n - `RECALL`: Recall\n - `RECALL_FIX`: Recall-fix\n - `INFO`: Info\n - `MISC`: Misc\n - `GENERAL`: General\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SECURITY", + "ENHANCEMENT", + "BUGFIX", + "RECALL", + "RECALL_FIX", + "INFO", + "MISC", + "GENERAL" + ] + }, + "Esx.Settings.DepotContent.Components.Versions.UrgencyType": { + "type": "string", + "description": "The Esx.Settings.DepotContent.Components.Versions.UrgencyType enumerated type defines possible values of urgencies for a component.\n\nPossible values:\n - `CRITICAL`: Critical\n - `IMPORTANT`: Important\n - `MODERATE`: Moderate\n - `LOW`: Low\n - `GENERAL`: General\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "CRITICAL", + "IMPORTANT", + "MODERATE", + "LOW", + "GENERAL" + ] + }, + "Esx.Settings.DepotContent.Components.Versions.Info": { + "required": [ + "category", + "contact", + "description", + "display_name", + "display_version", + "kb", + "release_date", + "summary", + "urgency", + "vendor" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "summary": { + "type": "string", + "description": "Summary of the component version.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the component version.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "category": { + "type": "string", + "description": "Category of the component version.\n\nPossible values:\n - `SECURITY`: Security\n - `ENHANCEMENT`: Enhancement\n - `BUGFIX`: Bugfix\n - `RECALL`: Recall\n - `RECALL_FIX`: Recall-fix\n - `INFO`: Info\n - `MISC`: Misc\n - `GENERAL`: General\n\n\nFor more information see: *Esx.Settings.DepotContent.Components.Versions.CategoryType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "urgency": { + "type": "string", + "description": "Urgency of the component version.\n\nPossible values:\n - `CRITICAL`: Critical\n - `IMPORTANT`: Important\n - `MODERATE`: Moderate\n - `LOW`: Low\n - `GENERAL`: General\n\n\nFor more information see: *Esx.Settings.DepotContent.Components.Versions.UrgencyType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "kb": { + "type": "string", + "description": "Link to kb article related to this the component version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "contact": { + "type": "string", + "description": "Contact email for the component version.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "release_date": { + "type": "string", + "description": "Release date of the component version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.DepotContent.Components.Versions.Info schema defines the information regarding a component version.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.AffectedBaselineInfo": { + "required": [ + "affected_updates", + "baseline", + "id" + ], + "type": "object", + "properties": { + "baseline": { + "type": "string", + "description": "Name of the baseline affected.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "id": { + "type": "integer", + "description": "Identifier of the baseline affected.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "format": "int64" + }, + "affected_updates": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.UpdateSummary" + }, + "description": "Updates (bulletins) affected. They key is identifier of the update (bulletin). The value is summary of the update (bulletin).\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.depots.bulletin`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.depots.bulletin`." + } + }, + "description": "The Esx.Settings.Depots.AffectedBaselineInfo schema contains the fields that describe which updates (bulletins) in the baseline will be affected by the depot to be deleted or disabled.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.AffectedDesiredStateInfo": { + "required": [ + "cluster_id", + "cluster_name" + ], + "type": "object", + "properties": { + "cluster_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.0.1__.\n\n Since now we have standalone host, we use {#member entityName} {#member entityId} to better describe name/id of either cluster or standalone host. \n\nName of the cluster the affected desired state belongs to. \n\n@deprecated Use {#member entityName} instead\n\nThis property was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "cluster_id": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.0.1__. Use {#member entityId} instead\n\nIdentifier of the cluster the affected desired state belongs to.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`.", + "deprecated": true + }, + "entity_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nName of the entity the affected desired state belongs to.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "deprecated": true + }, + "entity_id": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nIdentifier of the entity the affected desired state belongs to.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ManagedEntity`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ManagedEntity`.", + "deprecated": true + }, + "software_spec_name": { + "type": "string", + "description": "Name of the affected software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "software_spec": { + "type": "string", + "description": "Identifier of the affected software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "entity_names": { + "uniqueItems": true, + "type": "array", + "description": "Names of the entities the affected software specification associates with.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "type": "string" + } + }, + "entities": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the entities the affected software specification associates with.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ManagedEntity`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ManagedEntity`.", + "items": { + "type": "string" + } + }, + "affected_base_image": { + "description": "Affected base image of the desired state.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no base image of the desired state will be affected.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Depots.BaseImageVersion" + } + ] + }, + "affected_addon": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AddonSummary" + }, + "description": "Affected addon of the desired state. The key is name of addon. Note: there is at most one addon affected.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no addon of the desired state will be affected.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.add_on`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.add_on`." + }, + "affected_solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.SolutionSummary" + }, + "description": "Affected solutions of the desired state. The key is name of solution.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no solution of the desired state will be affected.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "affected_hardware_support": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.HardwareSupportManagerSummary" + }, + "description": "Affected hardware support of the desired state. The key is HSM name.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no hadrware support of the desired state will be affected.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`." + }, + "affected_independent_components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.ComponentSummary" + }, + "description": "Affected independent components of the desired state. The components belongs to other base images, addons, solutions and hardware support packages are not counted. The key is name of component.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no independent components of the desired state will be affected.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + } + }, + "description": "The Esx.Settings.Depots.AffectedDesiredStateInfo schema contains the fields that describe which release units in the desired state will be affected by the depot to be deleted or disabled.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.UpdateSummary": { + "required": [ + "summary" + ], + "type": "object", + "properties": { + "summary": { + "type": "string", + "description": "Summary of the update (bulletin).\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Esx.Settings.Depots.UpdateSummary schema contains a fieldsthat describes the summary of an update (bulletin).\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.BaseImageVersion": { + "required": [ + "display_name", + "display_version", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the base image.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "display_name": { + "type": "string", + "description": "Human readable name of the base image.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the base image.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Esx.Settings.Depots.BaseImageVersion schema contains fields that describe a specific ESXi base image.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.AddonVersion": { + "required": [ + "display_version", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the addon.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the addon.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Esx.Settings.Depots.AddonVersion schema contains fields that describe a specific version of an addon.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.AddonSummary": { + "required": [ + "display_name", + "vendor", + "versions" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Human readable name of the addon.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "vendor": { + "type": "string", + "description": "Vendor of the addon.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.depots.vendor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.depots.vendor`." + }, + "versions": { + "type": "array", + "description": "Different versions of the addon.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AddonVersion" + } + } + }, + "description": "The Esx.Settings.Depots.AddonSummary schema contains fields that describe the summary of an addon.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.HardwareSupportPackageVersion": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the HSP.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Esx.Settings.Depots.HardwareSupportPackageVersion schema contains fields that describe a specific version of a hardware support package (HSP).\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.HardwareSupportPackageSummary": { + "required": [ + "versions" + ], + "type": "object", + "properties": { + "versions": { + "type": "array", + "description": "Different versions of the HSP.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.HardwareSupportPackageVersion" + } + } + }, + "description": "The Esx.Settings.Depots.HardwareSupportPackageSummary schema contains fields that describe the summary of a hardware support package (HSP).\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.HardwareSupportManagerSummary": { + "required": [ + "display_name", + "packages" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "UI label for HSM, derived from HSM extension's description's 'label' field.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "packages": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.HardwareSupportPackageSummary" + }, + "description": "Different hardware support packages (HSP) published by the HSM. The key is name of HSP.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`." + } + }, + "description": "The Esx.Settings.Depots.HardwareSupportManagerSummary schema contains fields that describe the summary of a hardware support manager (HSM).\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.ComponentVersion": { + "required": [ + "display_version", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the component.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the component.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Esx.Settings.Depots.ComponentVersion schema contains fields that describe a specific version of a component.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.ComponentSummary": { + "required": [ + "display_name", + "versions" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Human readable name of the component.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "versions": { + "type": "array", + "description": "Different versions of the component.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.ComponentVersion" + } + } + }, + "description": "The Esx.Settings.Depots.ComponentSummary schema contains fields that describe the summary of a component.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.VibInfo": { + "required": [ + "software_tags" + ], + "type": "object", + "properties": { + "software_tags": { + "type": "array", + "description": "List of software tags that may be used for information or filtering\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Depots.VibInfo schema contains fields that describe the information of a VIB.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Depots.SolutionComponentSummary": { + "required": [ + "release_date", + "version" + ], + "type": "object", + "properties": { + "release_date": { + "type": "string", + "description": "Release date of the component.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "version": { + "description": "Version of the component.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Depots.ComponentVersion" + } + ] + }, + "vib_informations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.VibInfo" + }, + "description": "All the VIBs contained in the component of the metadata bundle. The key is ID of the VIB.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.vib`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.vib`." + } + }, + "description": "The Esx.Settings.Depots.SolutionComponentSummary schema contains fields that describe the components of solution.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Depots.SolutionVersion": { + "required": [ + "display_version", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the solution.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the solution.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Esx.Settings.Depots.SolutionVersion schema contains fields that describe a specific version of a solution.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.SolutionSummary": { + "required": [ + "display_name", + "versions" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Human readable name of the solution.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "versions": { + "type": "array", + "description": "Different versions of the solution.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.SolutionVersion" + } + }, + "components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.SolutionComponentSummary" + }, + "description": "All the components contained in the solution of the metadata bundle. The key is ID of component.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + } + }, + "description": "The Esx.Settings.Depots.SolutionSummary schema contains fields that describe the summary of a solution.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.MetadataInfo": { + "required": [ + "file_name" + ], + "type": "object", + "properties": { + "file_name": { + "type": "string", + "description": "File name of the metadata bundle.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "base_images": { + "type": "array", + "description": "All the base images contained in the metadata bundle.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the metadata bundle contains no base image.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.BaseImageVersion" + } + }, + "addons": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AddonSummary" + }, + "description": "All the addons contained in the metadata bundle. The key is name of addon.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the metadata bundle contains no addon.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.add_on`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.add_on`." + }, + "solutions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.SolutionSummary" + }, + "description": "All the solutions contained in the metadata bundle. The key is name of solution.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the metadata bundle contains no solution.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.solution`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.solution`." + }, + "hardware_support": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.HardwareSupportManagerSummary" + }, + "description": "All the HSMs and their HSPs contained in the metadata bundle. The key is name of HSM.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the metadata bundle contains no hardware support manager.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`." + }, + "independent_components": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.ComponentSummary" + }, + "description": "All the independent components contained in the metadata bundle. The components belongs to other base images, addons, solutions and hardware support packages are not counted. The ksy is name of component.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the metadata bundle contains no inpendent component.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "updates": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Depots.UpdateSummary" + }, + "description": "All the updates (bulletins) contained in the metadata bundle. They key is identifier of the update (bulletin). The value is summary of the update (bulletin).\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the metadata bundle contains no update (bulletin).\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.depots.bulletin`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.depots.bulletin`." + } + }, + "description": "The Esx.Settings.Depots.MetadataInfo schema contains fields that show the content of a metadata bundle.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Offline.SourceType": { + "type": "string", + "description": "The Esx.Settings.Depots.Offline.SourceType enumerated type defines possible values of sources for the offline depot.\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in {@link CreateSpec#location) can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "PULL", + "PUSH" + ] + }, + "Esx.Settings.Depots.Offline.AuthenticationSpec": { + "required": [ + "method" + ], + "type": "object", + "properties": { + "method": { + "type": "string", + "description": "Specifies what method of authentication (AuthenticationMethod) is to be used when connecting to remote depot.\n\nPossible values:\n - `HEADER_AUTH`: HEADER_AUTH is intended to be used when connecting to a remote depot\n\n\nFor more information see: *Esx.Settings.Depots.Offline.AuthenticationSpec.AuthenticationMethod*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "authentication_key": { + "type": "string", + "description": "Specifies the authentication key to be used during the *POST /esx/settings/depots/offline* PULL operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of method is *Esx.Settings.Depots.Offline.AuthenticationSpec.AuthenticationMethod.HEADER_AUTH*." + }, + "authentication_value": { + "type": "string", + "description": "Specifies the authentication value of the authentication key to be used during the *POST /esx/settings/depots/offline* PULL operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of method is *Esx.Settings.Depots.Offline.AuthenticationSpec.AuthenticationMethod.HEADER_AUTH*." + } + }, + "description": "The Esx.Settings.Depots.Offline.AuthenticationSpec schema contains properties that describe the authentication to be used for connecting to the remote depot. *Esx.Settings.Depots.Offline.CreateSpec* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Depots.Offline.AuthenticationSpec.AuthenticationMethod": { + "type": "string", + "description": "The Esx.Settings.Depots.Offline.AuthenticationSpec.AuthenticationMethod enumerated type defines the possible methods of authentication supported when connecting to the remote depot.\n\nPossible values:\n - `HEADER_AUTH`: HEADER_AUTH is intended to be used when connecting to a remote depot\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HEADER_AUTH" + ] + }, + "Esx.Settings.Depots.Offline.CreateSpec": { + "required": [ + "source_type" + ], + "type": "object", + "properties": { + "authentication_spec": { + "description": "Describe the authentication to be used for connecting to the remote depot.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no authentication will be done.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.AuthenticationSpec" + } + ] + }, + "description": { + "type": "string", + "description": "Description of the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the description will be empty." + }, + "source_type": { + "type": "string", + "description": "Type of the source from which offline bundle is obtained.\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in {@link CreateSpec#location) can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n\n\nFor more information see: *Esx.Settings.Depots.Offline.SourceType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "location": { + "type": "string", + "description": "Location of the depot from which content should be retrieved.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Depots.Offline.SourceType.PULL*.", + "format": "uri" + }, + "file_id": { + "type": "string", + "description": "File identifier returned by the file upload endpoint after file is uploaded.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Depots.Offline.SourceType.PUSH*." + }, + "ownerdata": { + "type": "string", + "description": "Private data saved by the *Esx.Settings.Depots.Offline.Info.owner* of the depot. It is opaque to vLCM.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no ownerdata will be saved." + } + }, + "description": "The Esx.Settings.Depots.Offline.CreateSpec schema defines the information used to create a depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Offline.Info": { + "required": [ + "create_time", + "description", + "source_type" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the depot. If not set during import, it will be empty.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "source_type": { + "type": "string", + "description": "Type of the source from which offline depot is obtained.\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in {@link CreateSpec#location) can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n\n\nFor more information see: *Esx.Settings.Depots.Offline.SourceType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "location": { + "type": "string", + "description": "Location of the depot from which content is retrieved.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Depots.Offline.SourceType.PULL*.", + "format": "uri" + }, + "file_id": { + "type": "string", + "description": "File identifier returned by the file upload endpoint after file is uploaded.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Depots.Offline.SourceType.PUSH*." + }, + "create_time": { + "type": "string", + "description": "Time when the depot was created.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "owner": { + "type": "string", + "description": "Name of the user creating the depot.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "ownerdata": { + "type": "string", + "description": "Private data saved by the owner of depot. It is opaque to vLCM.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Depots.Offline.Info schema defines the information regarding an offline depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Offline.Summary": { + "required": [ + "description", + "source_type" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the depot. If not set during import, it will be empty.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "source_type": { + "type": "string", + "description": "Type of the source from which offline depot is obtained.\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in {@link CreateSpec#location) can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n\n\nFor more information see: *Esx.Settings.Depots.Offline.SourceType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "location": { + "type": "string", + "description": "Location of the depot from which content is retrieved.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Depots.Offline.SourceType.PULL*.", + "format": "uri" + }, + "file_id": { + "type": "string", + "description": "File identifier returned by the file upload endpoint after file is uploaded.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Depots.Offline.SourceType.PUSH*." + }, + "owner": { + "type": "string", + "description": "Name of the user creating the depot.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "ownerdata": { + "type": "string", + "description": "Private data saved by the owner of depot. It is opaque to vLCM.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Depots.Offline.Summary schema defines the summary information regarding an offline depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Offline.CreateResult": { + "required": [ + "depot" + ], + "type": "object", + "properties": { + "depot": { + "type": "string", + "description": "Identifier of the offline depot.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.depots.offline`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.depots.offline`." + } + }, + "description": "The Esx.Settings.Depots.Offline.CreateResult schema defines the result information for a new offline depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Offline.HostCredentials": { + "required": [ + "host_name", + "password", + "user_name" + ], + "type": "object", + "properties": { + "host_name": { + "type": "string", + "description": "The IP address or DNS resolvable name of the host.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "user_name": { + "type": "string", + "description": "Specifies the username to be used during the *POST /esx/settings/depots/offline?action=createFromHost* operation.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "password": { + "type": "string", + "description": "Specifies the password to be used during the *POST /esx/settings/depots/offline?action=createFromHost* operation.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "password" + }, + "port": { + "type": "integer", + "description": "Specifies the port number of the host to be used during *POST /esx/settings/depots/offline?action=createFromHost* operation.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, port number is set to 443.", + "format": "int64" + }, + "ssl_thumb_print": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. This field is deprecated and will be removed in future versions. Please use the 'ssl_certificate' field instead.\n\nSpecifies the sslThumbPrint of the host to be used during *POST /esx/settings/depots/offline?action=createFromHost* operation SHA1 hash of the host's SSL certificate.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf specified and the server presents that thumbprint, the connection will be established; if missing or `null`, the connection will only proceed if the server-presented certificate can be validated by specified *sslCertificate*.", + "deprecated": true + }, + "ssl_certificate": { + "type": "string", + "description": "Specifies the sslCertificate of the host to be used during *POST /esx/settings/depots/offline?action=createFromHost* operation PEM format of the host's SSL certificate.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf specified and the server presents that certificate, the connection will be established; if missing or `null`, the connection will only proceed if the server-presented thumbprint can be validated by specified *sslThumbprint*. Note: *sslThumbprint* and *sslCertificate* parameters are mutually exclusive, and should never be used simultaneously. If both are set, this operation will throw InvalidArgument exception." + } + }, + "description": "The Esx.Settings.Depots.Offline.HostCredentials schema contains properties that describe the host's username, password, port number, ssl thumbprint or ssl certificate to be used when connecting to the host using USERNAME_PASSWORD option in the *Esx.Settings.Depots.Offline.ConnectionSpec.AuthenticationType* enumerated type.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Settings.Depots.Offline.ConnectionSpec": { + "required": [ + "auth_type" + ], + "type": "object", + "properties": { + "auth_type": { + "type": "string", + "description": "Specifies what type of authentication (AuthenticationType) is to be used when connecting with the host. USERNAME_PASSWORD is intended to be used when connecting to a host that is not currently part of the vCenter inventory. EXISTING is intended for hosts that are in vCenter inventory, in which case, HostServiceTicket will be used to connect to the host.\n\nPossible values:\n - `USERNAME_PASSWORD`: Connect to host using host's credentials *Esx.Settings.Depots.Offline.HostCredentials* schema.\n - `EXISTING`: Connect to the host using service ticket. Note: This is supported only for hosts present in the VC inventory.\n\n\nFor more information see: *Esx.Settings.Depots.Offline.ConnectionSpec.AuthenticationType*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "host_credential": { + "description": "Specifies the host details to be used during the *POST /esx/settings/depots/offline?action=createFromHost* operation.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of auth_type is *Esx.Settings.Depots.Offline.ConnectionSpec.AuthenticationType.USERNAME_PASSWORD*.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.HostCredentials" + } + ] + }, + "host": { + "type": "string", + "description": "Specifies the host Managed Object ID to be used during the *POST /esx/settings/depots/offline?action=createFromHost* operation.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of auth_type is *Esx.Settings.Depots.Offline.ConnectionSpec.AuthenticationType.EXISTING*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Esx.Settings.Depots.Offline.ConnectionSpec schema contains properties that describe the specification to be used for connecting to the host during the *POST /esx/settings/depots/offline?action=createFromHost* operation.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Settings.Depots.Offline.ConnectionSpec.AuthenticationType": { + "type": "string", + "description": "The Esx.Settings.Depots.Offline.ConnectionSpec.AuthenticationType enumerated type defines the possible types of authentication supported when connecting to the host.\n\nPossible values:\n - `USERNAME_PASSWORD`: Connect to host using host's credentials *Esx.Settings.Depots.Offline.HostCredentials* schema.\n - `EXISTING`: Connect to the host using service ticket. Note: This is supported only for hosts present in the VC inventory.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "USERNAME_PASSWORD", + "EXISTING" + ] + }, + "Esx.Settings.Depots.Offline.DeleteSpec": { + "type": "object", + "properties": { + "force": { + "type": "boolean", + "description": "Whether to forcibly delete the depot. When it is set, the depot data are removed from vCenter regardless of whether they are in use or not. Thus, keep in mind the need to add the depot content that is used by desired images or baselines before running any operation on these desired images or baselines; otherwise, operations will fail with depot content missing related errors. \n\nThe suggested workflow is to try to delete without force. After understanding what will be affected and how to recover the related depot content, delete forcibly.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, will not perform forcible deletion." + } + }, + "description": "The Esx.Settings.Depots.Offline.DeleteSpec schema contains the information for depot delete or flush operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Depots.Offline.DepotExtractInfo": { + "required": [ + "notifications", + "result", + "software_spec" + ], + "type": "object", + "properties": { + "notifications": { + "description": "Notifications returned by the extractDepot operation.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + }, + "software_spec": { + "description": "Software specification of the extracted depot.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareSpec" + } + ] + }, + "result": { + "description": "The information about the created offline depot. Empty @name{result} @term{string} indicates that the depot contents are already present in VC cache\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Depots.Offline.CreateResult" + } + ] + } + }, + "description": "The Esx.Settings.Depots.Offline.DepotExtractInfo schema contains properties that describe the extracted depot.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Esx.Settings.Depots.Offline.PrecheckResult": { + "type": "object", + "properties": { + "affected_baselines": { + "type": "array", + "description": "Baselines affected.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no baseline is affected.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AffectedBaselineInfo" + } + }, + "affected_desired_states": { + "type": "array", + "description": "Desired states affected.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no desired state is affected.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AffectedDesiredStateInfo" + } + } + }, + "description": "The Esx.Settings.Depots.Offline.PrecheckResult schema contains the fields that show the details of affected baselines and desired states found in *DELETE /esx/settings/depots/offline/{depot}* operation.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Offline.DeleteResult": { + "type": "object", + "properties": { + "notifications": { + "description": "Notifications returned by *DELETE /esx/settings/depots/offline/{depot}* operation.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no notification is returned.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Depots.Offline.DeleteResult schema contains a field that lists all the errors encountered after starting the task of *DELETE /esx/settings/depots/offline/{depot}* operation.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Online.CreateSpec": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the description will be empty." + }, + "location": { + "type": "string", + "description": "Location of the depot. It should be the location to the index.xml for the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "enabled": { + "type": "boolean", + "description": "Flag indicating whether this depot is enabled or not. Disabling the depot doesn't delete its cached metadata and payloads. It will not be refreshed next time depots are re-synced.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the depot will be enabled." + }, + "ownerdata": { + "type": "string", + "description": "Private data saved by the *Esx.Settings.Depots.Online.Info.owner* of the depot. It is opaque to vLCM.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no ownerdata will be saved." + } + }, + "description": "The Esx.Settings.Depots.Online.CreateSpec schema defines the information used to create a depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Online.Info": { + "required": [ + "description", + "enabled", + "location", + "system_defined" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the depot. It will be an empty string if no description was provided during create.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "location": { + "type": "string", + "description": "Location of the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "enabled": { + "type": "boolean", + "description": "Flag indicating whether this depot is enabled or not.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "system_defined": { + "type": "boolean", + "description": "Flag to indicate if the depot is system defined. System defined depot can not be deleted.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "owner": { + "type": "string", + "description": "Name of the user creating the depot.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "ownerdata": { + "type": "string", + "description": "Private data saved by the owner of depot. It is opaque to vLCM.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Depots.Online.Info schema defines the information regarding a depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Online.Summary": { + "required": [ + "description", + "enabled", + "location", + "system_defined" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the depot. It will be an empty string if no description was provided during create.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "location": { + "type": "string", + "description": "Location of the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "enabled": { + "type": "boolean", + "description": "Flag indicating whether this depot is enabled or not.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "system_defined": { + "type": "boolean", + "description": "Flag to indicate if the depot is system defined. System defined depot can not be deleted.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "owner": { + "type": "string", + "description": "Name of the user creating the depot.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "ownerdata": { + "type": "string", + "description": "Private data saved by the owner of depot. It is opaque to vLCM.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Depots.Online.Summary schema defines the summary information regarding a depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Online.UpdateSpec": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Flag indicating whether this depot is enabled or not. Disabling the depot doesn't delete its cached metadata and payloads. It will not be refreshed next time depots are re-synced.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, enabled flag is not updated." + }, + "description": { + "type": "string", + "description": "Description of the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, description is not updated." + } + }, + "description": "The Esx.Settings.Depots.Online.UpdateSpec schema defines the information used to update the depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Online.PrecheckResult": { + "type": "object", + "properties": { + "affected_baselines": { + "type": "array", + "description": "Baselines affected.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no baseline is affected.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AffectedBaselineInfo" + } + }, + "affected_desired_states": { + "type": "array", + "description": "Desired states affected.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no desired state is affected.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AffectedDesiredStateInfo" + } + } + }, + "description": "The Esx.Settings.Depots.Online.PrecheckResult schema contains the fields that show the details of affected baselines and desired states found in *DELETE /esx/settings/depots/online/{depot}* or *POST /esx/settings/depots/online/{depot}?action=flush* operation.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Online.DeleteSpec": { + "type": "object", + "properties": { + "force": { + "type": "boolean", + "description": "Whether to forcibly delete or flush the depot. When it is set, the depot data are removed from vCenter regardless of whether they are in use or not. Thus, keep in mind the need to add the depot content that is used by desired images or baselines before running any operation on these desired images or baselines; otherwise, operations will fail with depot content missing related errors. \n\nThe suggested workflow is to try to delete without force. After understanding what will be affected and how to recover the related depot content, delete forcibly.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, will not perform forcible deletion." + } + }, + "description": "The Esx.Settings.Depots.Online.DeleteSpec schema contains the information for depot delete or flush operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Depots.Online.DeleteResult": { + "type": "object", + "properties": { + "notifications": { + "description": "Notifications returned by *DELETE /esx/settings/depots/online/{depot}* operation.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no notification is returned.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Depots.Online.DeleteResult schema contains a field that lists all the errors encountered after starting the task of *DELETE /esx/settings/depots/online/{depot}* operation.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Online.FlushResult": { + "type": "object", + "properties": { + "notifications": { + "description": "Notifications returned by *POST /esx/settings/depots/online/{depot}?action=flush* operation.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no notification is returned.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Depots.Online.FlushResult schema contains a field that lists all the errors encountered after starting the task of *POST /esx/settings/depots/online/{depot}?action=flush* operation.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.SyncSchedule.Recurrence": { + "type": "string", + "description": "The Esx.Settings.Depots.SyncSchedule.Recurrence enumerated type contains the supported values for how often to sync from online or UMDS depots.\n\nPossible values:\n - `HOURLY`: Hourly.\n - `DAILY`: Daily.\n - `WEEKLY`: Weekly.\n - `MONTHLY_BY_DAY`: Monthly by day.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY_BY_DAY" + ] + }, + "Esx.Settings.Depots.SyncSchedule.DayOfWeek": { + "type": "string", + "description": "The Esx.Settings.Depots.SyncSchedule.DayOfWeek enumerated type contains the supported days of the week.\n\nPossible values:\n - `SUNDAY`: Sunday.\n - `MONDAY`: Monday.\n - `TUESDAY`: Tuesday.\n - `WEDNESDAY`: Wednesday.\n - `THURSDAY`: Thursday.\n - `FRIDAY`: Friday.\n - `SATURDAY`: Saturday.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SUNDAY", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY" + ] + }, + "Esx.Settings.Depots.SyncSchedule.Schedule": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Frequency of the schedule.\n\nPossible values:\n - `HOURLY`: Hourly.\n - `DAILY`: Daily.\n - `WEEKLY`: Weekly.\n - `MONTHLY_BY_DAY`: Monthly by day.\n\n\nFor more information see: *Esx.Settings.Depots.SyncSchedule.Recurrence*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "skip": { + "type": "integer", + "description": "This determines the units of Esx.Settings.Depots.SyncSchedule.Recurrence to skip before the scheduled task runs again. For example, value of 1 for HOURLY type means the scheduled task runs every 2 hours. The value must be within the range 0 to 998.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no unit is skipped.", + "format": "int64" + }, + "minute": { + "type": "integer", + "description": "Minute at which schedule should be run. The value must be within the range 0 to 59.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Depots.SyncSchedule.Recurrence.HOURLY*, *Esx.Settings.Depots.SyncSchedule.Recurrence.DAILY*, *Esx.Settings.Depots.SyncSchedule.Recurrence.WEEKLY*, or *Esx.Settings.Depots.SyncSchedule.Recurrence.MONTHLY_BY_DAY*.", + "format": "int64" + }, + "hour": { + "type": "integer", + "description": "Hour at which schedule should be run. The value must be within the range 0 to 23.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Esx.Settings.Depots.SyncSchedule.Recurrence.DAILY*, *Esx.Settings.Depots.SyncSchedule.Recurrence.WEEKLY*, or *Esx.Settings.Depots.SyncSchedule.Recurrence.MONTHLY_BY_DAY*.", + "format": "int64" + }, + "day_of_month": { + "type": "integer", + "description": "Day at which schedule should be run. The value must be within the range 1 to 31. If the value exceeds the total number of days in the month, the schedule will run on the last day of the month.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Depots.SyncSchedule.Recurrence.MONTHLY_BY_DAY*.", + "format": "int64" + }, + "day_of_week": { + "type": "string", + "description": "Day of the week when schedule should be run\n\nPossible values:\n - `SUNDAY`: Sunday.\n - `MONDAY`: Monday.\n - `TUESDAY`: Tuesday.\n - `WEDNESDAY`: Wednesday.\n - `THURSDAY`: Thursday.\n - `FRIDAY`: Friday.\n - `SATURDAY`: Saturday.\n\n\nFor more information see: *Esx.Settings.Depots.SyncSchedule.DayOfWeek*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Depots.SyncSchedule.Recurrence.WEEKLY*." + } + }, + "description": "The Esx.Settings.Depots.SyncSchedule.Schedule schema defines a schedule.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.SyncSchedule.Spec": { + "required": [ + "email_addresses", + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Flag indicating whether automatic sync is enabled or not\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "schedule": { + "description": "The schedule to check for new updates.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` the schedule must be disabled.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Depots.SyncSchedule.Schedule" + } + ] + }, + "email_addresses": { + "type": "array", + "description": "Email addresses to which the notification will be sent. If empty, no notification is sent.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Depots.SyncSchedule.Spec schema defines the information regarding the sync schedule.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Umds.SetSpec": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the description will be empty." + }, + "enabled": { + "type": "boolean", + "description": "Flag indicating whether or not this depot should be enabled. Disabling the depot doesn't delete its cached metadata and payloads. It will not be refreshed next time depots are re-synced.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the depot will be enabled." + }, + "location": { + "type": "string", + "description": "Location of the depot. It should be the location to the index.xml for the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + } + }, + "description": "The Esx.Settings.Depots.Umds.SetSpec schema defines the information of an UMDS depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Umds.Info": { + "required": [ + "description", + "enabled", + "location" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the depot. It will be an empty string if no description was provided during create.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "enabled": { + "type": "boolean", + "description": "Flag indicating whether or not this depot is enabled.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "location": { + "type": "string", + "description": "Location of the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "owner": { + "type": "string", + "description": "Name of the user creating the depot.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Depots.Umds.Info schema defines the information regarding the UMDS Depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Umds.UpdateSpec": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Flag indicating whether or not this depot is enabled. Disabling the depot doesn't delete its cached metadata and payloads. It will not be refreshed next time depots are re-synced.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the enabled flag is not updated." + }, + "description": { + "type": "string", + "description": "Description of the depot.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the description is not updated." + } + }, + "description": "The Esx.Settings.Depots.Umds.UpdateSpec schema defines the information used to update the UMDS depot.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Depots.Umds.PrecheckResult": { + "type": "object", + "properties": { + "affected_baselines": { + "type": "array", + "description": "Baselines affected.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no baseline is affected.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AffectedBaselineInfo" + } + }, + "affected_desired_states": { + "type": "array", + "description": "Desired states affected.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no desired state is affected.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.AffectedDesiredStateInfo" + } + } + }, + "description": "The Esx.Settings.Depots.Umds.PrecheckResult schema contains the fields that show the details of affected baselines and desired states found in *DELETE /esx/settings/depots/umds* operation.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Umds.DeleteResult": { + "type": "object", + "properties": { + "notifications": { + "description": "Notifications returned by *DELETE /esx/settings/depots/umds* operation.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no notification is returned.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Depots.Umds.DeleteResult schema contains a field that lists all the errors encountered after starting the task of *DELETE /esx/settings/depots/umds* operation.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Offline.Content.Info": { + "required": [ + "metadata_bundles" + ], + "type": "object", + "properties": { + "metadata_bundles": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.MetadataInfo" + } + }, + "description": "A list of metadata bundles contained in the depot. The key is vendor of metadata bundle.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.depots.vendor`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.depots.vendor`." + } + }, + "description": "The Esx.Settings.Depots.Offline.Content.Info schema contains fields that describe the information of metadata bundles of an offline depot.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Online.Content.Info": { + "required": [ + "metadata_bundles" + ], + "type": "object", + "properties": { + "metadata_bundles": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.MetadataInfo" + } + }, + "description": "A list of metadata bundles contained in the depot. The key is vendor of metadata bundle.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.depots.vendor`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.depots.vendor`." + } + }, + "description": "The Esx.Settings.Depots.Online.Content.Info schema contains fields that describe the information of metadata bundles of an online depot.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.Depots.Umds.Content.Info": { + "required": [ + "metadata_bundles" + ], + "type": "object", + "properties": { + "metadata_bundles": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Depots.MetadataInfo" + } + }, + "description": "A list of metadata bundles contained in the depot. The key is vendor of metadata bundle.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.depots.vendor`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.depots.vendor`." + } + }, + "description": "The Esx.Settings.Depots.Umds.Content.Info schema contains fields that describe the information of metadata bundles of the UMDS depot.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Esx.Settings.HardwareSupport.Managers.HardwareSupportManagerInfo": { + "required": [ + "description", + "display_name", + "manager", + "vendor" + ], + "type": "object", + "properties": { + "manager": { + "type": "string", + "description": "Name of the Hardware Support Manager (HSM) (e.g. \"Frobozz Hardware Support Manager\")\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.manager`." + }, + "description": { + "type": "string", + "description": "User-intelligible description of the HSM (e.g. \"Front end for Frobozz so-and-so management system\")\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_name": { + "type": "string", + "description": "UI label for HSM, derived from HSM extension's description's 'label' field. (e.g. \"Frobozz Free Management System\")\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "vendor": { + "type": "string", + "description": "Company providing the Hardware Support Manager (HSM) (e.g. \"Frobozz Magic Software Company\")\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.HardwareSupport.Managers.HardwareSupportManagerInfo schema contains properties that describe a particular 3rd party Hardware Support Manager (HSM)\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupport.Managers.Packages.HardwareSupportPackageInfo": { + "required": [ + "description", + "pkg", + "supported_releases", + "version" + ], + "type": "object", + "properties": { + "pkg": { + "type": "string", + "description": "Name of the Hardware Support Package (e.g. \"Jan. 2018 Release\" or \"Latest Hardware Support Package for Frobozz GenX hardware\") selected\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`." + }, + "version": { + "type": "string", + "description": "Version of the Hardware Support Package (e.g. \"20180128.1\" or \"v42\") selected\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the Hardware Support Package (HSP) (e.g. for use in help bubble)\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "supported_releases": { + "uniqueItems": true, + "type": "array", + "description": "Supported vSphere releases\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.HardwareSupport.Managers.Packages.HardwareSupportPackageInfo schema contains properties that describe a particular 3rd party Hardware Support Package (HSP)\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupport.Managers.Packages.FilterSpec": { + "type": "object", + "properties": { + "base_image_version": { + "type": "string", + "description": "vSphere release version the Hardware Support Package (HSP) must support to match the filter. Only Hardware Support Packages (HSPs) compatible with the vSphere release version specified in 'baseImageVersion' will be returned. The 'baseImageVersion' parameter should be a full numeric base image version string (e.g. \"7.1.0-2.3.436234\"). Future implementations may support version specification by prefix (e.g. \"7.1\" to specify all updates and builds of 7.1) or other forms of specification (e.g. \">=7.0\"). Hardware Support Packages (HSPs) may be advertised as supporting truncated version strings to indicate the remainder is wildcarded. Matching is on the specified substring only, so a bundle supporting \"7.1.0-2\" would match a 'release' parameter of \"7.1.0-2.3.436234\" as well as \"7.1.0-2.1.4133564\" and \"7.1.0-1.0.355667\" but not \"7.1.0-3.0.63445\" or any base image version starting with \"7.2\". Note that we require compatible base image versions be specified at least down to the update version (i.e. \"7.0\" is insufficiently constrained)\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, all packages will be returned, regardless of base image version." + } + }, + "description": "The Esx.Settings.HardwareSupport.Managers.Packages.FilterSpec schema contains properties used to filter the results when listing OEM Hardware Support Packages (HSPs), see *GET /esx/settings/hardware-support/managers/{manager}/packages*).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupport.Managers.Packages.Versions.RemovedComponentInfo": { + "required": [ + "display_name", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Identifier of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.HardwareSupport.Managers.Packages.Versions.RemovedComponentInfo schema defines the information regarding a component removed by the HSP manifest.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupport.Managers.Packages.Versions.ComponentInfo": { + "required": [ + "display_name", + "display_version", + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Identifier of the component.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "display_name": { + "type": "string", + "description": "Display name of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the component.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "display_version": { + "type": "string", + "description": "Human readable version of the HSP manifest.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.HardwareSupport.Managers.Packages.Versions.ComponentInfo schema defines the information regarding a component present in HSP manifest.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupport.Managers.Packages.Versions.PackageInfo": { + "required": [ + "components", + "description", + "pkg", + "removed_components", + "supported_releases", + "version" + ], + "type": "object", + "properties": { + "pkg": { + "type": "string", + "description": "Name of the Hardware Support Package (e.g. \"Jan. 2018 Release\" or \"Latest Hardware Support Package for Frobozz GenX hardware\") selected\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.setting.hardware_support.package`." + }, + "version": { + "type": "string", + "description": "Version of the Hardware Support Package (e.g. \"20180128.1\" or \"v42\") selected\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the Hardware Support Package (HSP) (e.g. for use in help bubble)\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "supported_releases": { + "uniqueItems": true, + "type": "array", + "description": "Supported vSphere releases\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "components": { + "type": "array", + "description": "List of components in this HSP manifest.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupport.Managers.Packages.Versions.ComponentInfo" + } + }, + "removed_components": { + "type": "array", + "description": "List of components removed by this HSP manifest.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.HardwareSupport.Managers.Packages.Versions.RemovedComponentInfo" + } + } + }, + "description": "The Esx.Settings.HardwareSupport.Managers.Packages.Versions.PackageInfo schema contains properties that describe a particular 3rd party Hardware Support Package (HSP)\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.HardwareSupport.Managers.Packages.Versions.FilterSpec": { + "type": "object", + "properties": { + "base_image_version": { + "type": "string", + "description": "vSphere release version for the component information in the Hardware Support Package (HSP). Only Hardware Support Packages (HSPs) compatible with the vSphere release version specified in 'baseImageVersion' will be returned. The 'baseImageVersion' parameter should be a full numeric base image version string (e.g. \"7.1.0-2.3.436234\"). Future implementations may support version specification by prefix (e.g. \"7.1\" to specify all updates and builds of 7.1) or other forms of specification (e.g. \">=7.0\"). Hardware Support Packages (HSPs) may be advertised as supporting truncated version strings to indicate the remainder is wildcarded. Matching is on the specified substring only, so a bundle supporting \"7.1.0-2\" would match a 'release' parameter of \"7.1.0-2.3.436234\" as well as \"7.1.0-2.1.4133564\" and \"7.1.0-2.0.355667\" but not \"7.1.0-3.0.63445\" or any base image version starting with \"7.2\". Note that we require compatible base image versions be specified at least down to the update version (i.e. \"7.0\" is insufficiently constrained)\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, all supported releases will be returned but no specific component information (added or deleted) will be included." + } + }, + "description": "The Esx.Settings.HardwareSupport.Managers.Packages.Versions.FilterSpec schema contains properties used to filter the results when retrieving Hardware Support Packages (HSPs) information.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Hosts.Configuration.ExtractResult": { + "required": [ + "config" + ], + "type": "object", + "properties": { + "config": { + "type": "string", + "description": "Current configuration of ESXi host encoded as JSON.\n\nThis property was added in __vSphere API 8.0.1.0__." + } + }, + "description": "The Esx.Settings.Hosts.Configuration.ExtractResult schema defines the information about current configuration extracted from a ESXi host.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Hosts.DepotOverrides.Info": { + "required": [ + "depots" + ], + "type": "object", + "properties": { + "depots": { + "type": "array", + "description": "List of the depot overrides.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.DepotOverrides.Depot" + } + } + }, + "description": "The Esx.Settings.Hosts.DepotOverrides.Info schema defines the information regarding depot overrides for a given host.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Hosts.DepotOverrides.Depot": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Location of the depot override. This could be a location of zip file or location to an index.xml file.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "uri" + } + }, + "description": "The Esx.Settings.Hosts.DepotOverrides.Depot schema defines the information regarding a particular depot override for a given host.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Esx.Settings.Hosts.Software.ExportType": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.ExportType enumerated type defines the formats in which software specification document or image can be exported.\n\nPossible values:\n - `SOFTWARE_SPEC`: Export software specification document.\n - `ISO_IMAGE`: Export ISO image.\n - `OFFLINE_BUNDLE`: Export offline bundle.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "SOFTWARE_SPEC", + "ISO_IMAGE", + "OFFLINE_BUNDLE" + ] + }, + "Esx.Settings.Hosts.Software.Status": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.Status enumerated type defines the status result for a particular check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "OK", + "WARNING", + "TIMEOUT", + "ERROR", + "RETRY" + ] + }, + "Esx.Settings.Hosts.Software.ExportSpec": { + "required": [ + "export_iso_image", + "export_offline_bundle", + "export_software_spec" + ], + "type": "object", + "properties": { + "export_software_spec": { + "type": "boolean", + "description": "Whether to export software specification document.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "export_iso_image": { + "type": "boolean", + "description": "Whether to export ISO image.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "export_offline_bundle": { + "type": "boolean", + "description": "Whether to export offline bundle.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "skip_reserved_vibs_export": { + "type": "boolean", + "description": "Skip packaging of reserved VIBs in the exported offline-bundle/ISO. During effective VIB computation, a VIB at a lower version can get replaced by the same VIB at a higher version coming from another release unit. vLCM caches the lower version VIB in ESX-OSData partition to support extraction of currently running image from the hosts. Setting this option means (a) export will not package reserved VIBs, (b) the exported depot will be partial and remediation of images from such depots must be accompanied with com.vmware.esx.settings.hosts.policies.Apply.ConfiguredPolicySpec.softwarePolicySpec#skipReservedVibsCaching. Otherwise, the remediation might fail. \n\nNOTE: Use this option with caution.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, reserved VIBs will be packaged." + } + }, + "description": "The Esx.Settings.Hosts.Software.ExportSpec schema contains information describing how a software specification or image should be exported.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.StageSpec": { + "type": "object", + "properties": { + "commit": { + "type": "string", + "description": "The minimum commit identifier of the desired software document to be used during the *POST /esx/settings/hosts/{host}/software?action=stage* operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` or empty the stage operation will use the latest commit to fetch the desired state document.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + } + }, + "description": "The Esx.Settings.Hosts.Software.StageSpec schema contains properties that describe the specification to be used for staging the desired software document to a host.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.ApplySpec": { + "type": "object", + "properties": { + "commit": { + "type": "string", + "description": "The minimum commit identifier of the desired software document to be used during the *POST /esx/settings/hosts/{host}/software?action=apply* operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` or empty the apply operation will use the latest commit to fetch the desired state document.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "accept_eula": { + "type": "boolean", + "description": "Accept the VMware End User License Agreement (EULA) before starting the *POST /esx/settings/hosts/{host}/software?action=apply* operation. \n\n The VMware EULA is available for download at, https://www.vmware.com/download/eula.html\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` the *POST /esx/settings/hosts/{host}/software?action=apply* operation could fail due to the EULA not being accepted." + } + }, + "description": "The Esx.Settings.Hosts.Software.ApplySpec schema contains properties that describe the specification to be used for applying the desired software document to a host.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.StageStatus": { + "required": [ + "end_time", + "notifications", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.StageStatus.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` for host StageStatus", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications providing additional information about the status of the operation.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.StageStatus schema contains properties that describe the status of a *POST /esx/settings/hosts/{host}/software?action=stage* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.StageStatus.Status": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.StageStatus.Status enumerated type contains the possible different status codes that can be returned while trying to *POST /esx/settings/hosts/{host}/software?action=stage* the desired software specification to a host.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "RUNNING", + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR", + "RETRY_PENDING" + ] + }, + "Esx.Settings.Hosts.Software.ApplyStatus": { + "required": [ + "end_time", + "notifications", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.ApplyStatus.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "progress": { + "description": "Progress of the operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` for host ApplyStatus", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications providing additional information about the status of the operation.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.ApplyStatus schema contains properties that describe the status of an *POST /esx/settings/hosts/{host}/software?action=apply* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.ApplyStatus.Status": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.ApplyStatus.Status enumerated type contains the possible different status codes that can be returned while trying to *POST /esx/settings/hosts/{host}/software?action=apply* the desired software specification to host.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "RUNNING", + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR", + "RETRY_PENDING" + ] + }, + "Esx.Settings.Hosts.Software.StageResult": { + "required": [ + "commit", + "host_info" + ], + "type": "object", + "properties": { + "status": { + "description": "Specifies the status of the *POST /esx/settings/hosts/{host}/software?action=stage* operation on the specified *Esx.Settings.Hosts.Software.StageResult.commit* of the desired software document.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` if the *POST /esx/settings/hosts/{host}/software?action=stage* operation is in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.StageStatus" + } + ] + }, + "commit": { + "type": "string", + "description": "The identifier of the commit used to fetch the desired software document to be staged to a host.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "description": "Information of the host to which the desired software document specified by the *Esx.Settings.Hosts.Software.StageResult.commit* was staged.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + } + ] + }, + "notifications": { + "description": "Notifications providing additional information for *POST /esx/settings/hosts/{host}/software?action=stage* operation. These notifications are mutually exclusive with the notifications in Esx.Settings.Hosts.Software.StageStatus.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` if there are no notifications", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.StageResult schema contains properties that describe the result of a *POST /esx/settings/hosts/{host}/software?action=stage* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.ApplyResult": { + "required": [ + "commit", + "host_info" + ], + "type": "object", + "properties": { + "status": { + "description": "Specifies the aggregated status of the *POST /esx/settings/hosts/{host}/software?action=apply* operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` if the *POST /esx/settings/hosts/{host}/software?action=apply* operation is in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.ApplyStatus" + } + ] + }, + "commit": { + "type": "string", + "description": "The identifier of the commit used to fetch the desired software document to be applied to host.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "description": "Information of the host to which the desired software document specified by the *Esx.Settings.Hosts.Software.ApplyResult.commit* was applied.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + } + ] + }, + "notifications": { + "description": "Notifications providing additional information for *POST /esx/settings/hosts/{host}/software?action=apply* operation. These notifications are mutually exclusive with the notifications in Esx.Settings.Hosts.Software.ApplyStatus.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property will be missing or `null` if there are no notifications", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.ApplyResult schema contains properties that describe the result of an *POST /esx/settings/hosts/{host}/software?action=apply* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.CheckSpec": { + "type": "object", + "properties": { + "commit": { + "type": "string", + "description": "The minimum commit identifier of the desired software document to be used during the check operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` or empty the check operation will use the latest commit to fetch the desired state document.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + } + }, + "description": "The Esx.Settings.Hosts.Software.CheckSpec schema contains properties that describe the specification to be used for running checks on the host before the *POST /esx/settings/hosts/{host}/software?action=apply* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.CheckInfo": { + "required": [ + "check", + "description", + "name" + ], + "type": "object", + "properties": { + "check": { + "type": "string", + "description": "The check identifier.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "name": { + "description": "The check name.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "description": { + "description": "Human-readable check description.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "originator": { + "type": "string", + "description": "The service that performed the check.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nOnly set if there is an originator available for this check." + } + }, + "description": "The Esx.Settings.Hosts.Software.CheckInfo schema contains properties that describe a particular check.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.CheckIssue": { + "required": [ + "description" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of what was the issue containing as much user-relevant context as possible. The user should be able to understand which sub-system failed and why.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "Possible resolution for the issue. This should contain actionable information that the user can use to resolve the issue.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nCan be left missing or `null` if no meaningful resolution exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.CheckIssue schema contains properties that describe a particular check issue.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.CheckStatus": { + "required": [ + "check", + "status" + ], + "type": "object", + "properties": { + "check": { + "description": "Information about this check.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.CheckInfo" + } + ] + }, + "status": { + "type": "string", + "description": "The status of this check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "check_issues": { + "type": "array", + "description": "List of *Esx.Settings.Hosts.Software.CheckIssue*s that the check reported.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf not set, the service is still using the {#member issues}.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.CheckIssue" + } + } + }, + "description": "The Esx.Settings.Hosts.Software.CheckStatus schema contains properties that describe a check result.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.EntityCheckResult": { + "required": [ + "check_statuses", + "status", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The entity type for which these checks are being run.\n\nPossible values:\n - `HOST`: Entity type Host\n\n\nFor more information see: *Esx.Settings.Hosts.Software.EntityCheckResult.EntityType*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "host": { + "type": "string", + "description": "If the entity type is HOST then the host identifier for which the checks have been run.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Hosts.Software.EntityCheckResult.EntityType.HOST*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "status": { + "type": "string", + "description": "Aggregated status from all checks performed on this entity.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "check_statuses": { + "type": "array", + "description": "List of Esx.Settings.Hosts.Software.CheckStatus for all checks performed.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.CheckStatus" + } + } + }, + "description": "The Esx.Settings.Hosts.Software.EntityCheckResult schema contains properties that describe aggregated status of all checks performed on a specific entity.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.EntityCheckResult.EntityType": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.EntityCheckResult.EntityType enumerated type contains the entities on which checks can be performed.\n\nPossible values:\n - `HOST`: Entity type Host\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "HOST" + ] + }, + "Esx.Settings.Hosts.Software.CheckResult": { + "required": [ + "commit", + "end_time", + "entity_result", + "host_info", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated status from all checks performed.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n - `RETRY`: The check failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health check before considering the check as failed.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "commit": { + "type": "string", + "description": "The identifier of the commit on which checks have been run.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "description": "Information about the host for which checks have been requested to be run.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + } + ] + }, + "entity_result": { + "description": "List of Esx.Settings.Hosts.Software.EntityCheckResult for all entities for which checks have been run.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.EntityCheckResult" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.CheckResult schema contains properties that describe aggregated status of all checks performed.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Info": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Esx.Settings.Hosts.Software.Info schema contains information about the display name of a software specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Esx.Settings.Hosts.Enablement.Software.CheckType": { + "type": "string", + "description": "The Esx.Settings.Hosts.Enablement.Software.CheckType enumerated type contains various checks to identify the possibility to enable the feature that manages the host with a single software specification.\n\nPossible values:\n - `SOFTWARE`: Perform host software check. The purpose of this check is to report standalone VIBs (VIBs which are not part of any component).\n - `VERSION`: Perform host version check. This feature does not support hosts with version less than XYZ.\n - `STATELESSNESS`: Perform host statelessness check. This feature does not support stateless hosts.\n - `VUM_REMEDIATION`: Perform VUM active remediation check.\n - `SOFTWARE_SPECIFICATION_EXISTENCE`: Perform host's software specification existence check.\n - `VSAN_WITNESS_ELIGIBILITY`: Perform vSAN witness check to verify if the standalone host acting as a vSAN witness can be managed with a software image.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "SOFTWARE", + "VERSION", + "STATELESSNESS", + "VUM_REMEDIATION", + "SOFTWARE_SPECIFICATION_EXISTENCE", + "VSAN_WITNESS_ELIGIBILITY" + ] + }, + "Esx.Settings.Hosts.Enablement.Software.Info": { + "required": [ + "enabled" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Status of the feature enablement True if feature is enabled, false otherwise\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Esx.Settings.Hosts.Enablement.Software.Info schema contains information describing whether the feature is enabled.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Enablement.Software.CheckSpec": { + "required": [ + "checks_to_skip" + ], + "type": "object", + "properties": { + "checks_to_skip": { + "uniqueItems": true, + "type": "array", + "description": "Specifies the checks that should be skipped. If the set is empty, all checks will be performed.\n\nPossible values:\n - `SOFTWARE`: Perform host software check. The purpose of this check is to report standalone VIBs (VIBs which are not part of any component).\n - `VERSION`: Perform host version check. This feature does not support hosts with version less than XYZ.\n - `STATELESSNESS`: Perform host statelessness check. This feature does not support stateless hosts.\n - `VUM_REMEDIATION`: Perform VUM active remediation check.\n - `SOFTWARE_SPECIFICATION_EXISTENCE`: Perform host's software specification existence check.\n - `VSAN_WITNESS_ELIGIBILITY`: Perform vSAN witness check to verify if the standalone host acting as a vSAN witness can be managed with a software image.\n\n\nFor more information see: *Esx.Settings.Hosts.Enablement.Software.CheckType*.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Hosts.Enablement.Software.CheckSpec schema contains information describing what checks should be performed.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Enablement.Software.CheckResult": { + "required": [ + "notifications" + ], + "type": "object", + "properties": { + "notifications": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + }, + "description": "Notifications containing check results grouped by *Esx.Settings.Hosts.Enablement.Software.CheckType* type.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Esx.Settings.Hosts.Enablement.Software.CheckResult schema contains information that describes the results of the checks.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Enablement.Software.EnableSpec": { + "required": [ + "skip_software_check" + ], + "type": "object", + "properties": { + "skip_software_check": { + "type": "boolean", + "description": "Skip *Esx.Settings.Hosts.Enablement.Software.CheckType.SOFTWARE* check during feature enablement.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Esx.Settings.Hosts.Enablement.Software.EnableSpec schema contains information describing checks that should be skipped during enablement. Currently only *Esx.Settings.Hosts.Enablement.Software.CheckType.SOFTWARE* check can be skipped.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Policies.Apply.FailureAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "What action (Action) is to be taken if entering maintenance mode fails on an ESXi host.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task *Esx.Settings.Hosts.Policies.Apply.FailureAction.retry_count* number of times on the failed host after *Esx.Settings.Hosts.Policies.Apply.FailureAction.retry_delay*.\n\n\nFor more information see: *Esx.Settings.Hosts.Policies.Apply.FailureAction.Action*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "retry_delay": { + "type": "integer", + "description": "Time to wait to retry the failed operation in seconds.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Hosts.Policies.Apply.FailureAction.Action.RETRY*.", + "format": "int64" + }, + "retry_count": { + "type": "integer", + "description": "Number of times to retry the failed operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Hosts.Policies.Apply.FailureAction.Action.RETRY*.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Hosts.Policies.Apply.FailureAction schema contains properties that describe the actions to be taken when entering maintenance mode fails on an ESXi host.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Policies.Apply.FailureAction.Action": { + "type": "string", + "description": "The Esx.Settings.Hosts.Policies.Apply.FailureAction.Action enumerated type defines the actions to be taken when entering maintenance mode fails on an ESXi host.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task *Esx.Settings.Hosts.Policies.Apply.FailureAction.retry_count* number of times on the failed host after *Esx.Settings.Hosts.Policies.Apply.FailureAction.retry_delay*.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec": { + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on an ESXi host.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, configured value would be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Policies.Apply.FailureAction" + } + ] + }, + "pre_remediation_power_action": { + "type": "string", + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\n\nFor more information see: *Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, configured value would be unset." + }, + "enable_quick_boot": { + "type": "boolean", + "description": "Enable Quick Boot during remediation of the host.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, configured value would be unset." + }, + "software_policy_spec": { + "description": "Software-specific policy settings applicable to the *POST /esx/settings/hosts/{host}/software?action=apply* API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, software-specific policy values will be unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostSoftwarePolicySpec" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec schema contains properties that describe the policies configured to be used when the software and configuration specification documents are applied to an ESXi host.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction": { + "type": "string", + "description": "The Esx.Settings.Hosts.Policies.Apply.ConfiguredPolicySpec.PreRemediationPowerAction enumerated type defines the possible actions to take, before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "Esx.Settings.Hosts.Policies.Apply.Effective.FailureAction": { + "required": [ + "action" + ], + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "What action (Action) is to be taken if entering maintenance mode fails on an ESXi host.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task Apply.FailureAction#retryCount number of times on the failed host after Apply.FailureAction#retryDelay.\n\n\nFor more information see: *Esx.Settings.Hosts.Policies.Apply.Effective.FailureAction.Action*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "retry_delay": { + "type": "integer", + "description": "Time to wait to retry the failed operation in seconds.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Hosts.Policies.Apply.Effective.FailureAction.Action.RETRY*.", + "format": "int64" + }, + "retry_count": { + "type": "integer", + "description": "Number of times to retry the failed operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of action is *Esx.Settings.Hosts.Policies.Apply.Effective.FailureAction.Action.RETRY*.", + "format": "int64" + } + }, + "description": "The Esx.Settings.Hosts.Policies.Apply.Effective.FailureAction schema contains properties that describe the actions to be taken when entering maintenance mode fails on an ESXi host.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Policies.Apply.Effective.FailureAction.Action": { + "type": "string", + "description": "The Esx.Settings.Hosts.Policies.Apply.Effective.FailureAction.Action enumerated type defines the actions to be taken when entering maintenance mode fails on an ESXi host.\n\nPossible values:\n - `FAIL`: Fail the apply operation\n - `RETRY`: Retry the task Apply.FailureAction#retryCount number of times on the failed host after Apply.FailureAction#retryDelay.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "FAIL", + "RETRY" + ] + }, + "Esx.Settings.Hosts.Policies.Apply.Effective.EffectivePolicySpec": { + "required": [ + "enable_quick_boot", + "failure_action", + "pre_remediation_power_action" + ], + "type": "object", + "properties": { + "failure_action": { + "description": "What action is to be taken if entering maintenance mode fails on an ESXi host.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Policies.Apply.Effective.FailureAction" + } + ] + }, + "pre_remediation_power_action": { + "type": "string", + "description": "Specifies what should be done to the power state of the VM before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\n\nFor more information see: *Esx.Settings.Hosts.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "enable_quick_boot": { + "type": "boolean", + "description": "Enable Quick Boot during remediation of an ESXi host.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "software_policy_spec": { + "description": "Software-specific policy settings applicable to the *POST /esx/settings/hosts/{host}/software?action=apply* API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostSoftwarePolicySpec" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Policies.Apply.Effective.EffectivePolicySpec schema contains properties that describe the effective policies to be used when the software and configuration specification documents are applied to ESXi hosts.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction": { + "type": "string", + "description": "The Esx.Settings.Hosts.Policies.Apply.Effective.EffectivePolicySpec.PreRemediationPowerAction enumerated type defines the possible actions to take, before entering maintenance mode.\n\nPossible values:\n - `POWER_OFF_VMS`: Power off VMs before entering maintenance mode.\n - `SUSPEND_VMS`: Suspend VMs before entering maintenance mode\n - `DO_NOT_CHANGE_VMS_POWER_STATE`: Do not change the VM power state\n - `SUSPEND_VMS_TO_MEMORY`: Suspend VMs to Memory before entering maintenance mode\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "POWER_OFF_VMS", + "SUSPEND_VMS", + "DO_NOT_CHANGE_VMS_POWER_STATE", + "SUSPEND_VMS_TO_MEMORY" + ] + }, + "Esx.Settings.Hosts.Software.Commits.ApplyStatusType": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.Commits.ApplyStatusType enumerated type defines possible values regarding the application of this commit.\n\nPossible values:\n - `APPLIED`: Commit has been applied to the host.\n - `NOT_APPLIED`: Commit hasn't been applied to the host.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "APPLIED", + "NOT_APPLIED" + ] + }, + "Esx.Settings.Hosts.Software.Commits.Info": { + "required": [ + "apply_status", + "author", + "commit_time", + "description" + ], + "type": "object", + "properties": { + "author": { + "type": "string", + "description": "Author of the commit.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "commit_time": { + "type": "string", + "description": "Creation time of the commit.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "Description accompanying this commit.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "apply_status": { + "type": "string", + "description": "Apply status of the commit.\n\nPossible values:\n - `APPLIED`: Commit has been applied to the host.\n - `NOT_APPLIED`: Commit hasn't been applied to the host.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Commits.ApplyStatusType*.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Esx.Settings.Hosts.Software.Commits.Info schema defines the information about software draft.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Drafts.StatusType": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.Drafts.StatusType enumerated type defines possible values of status of a software draft.\n\nPossible values:\n - `VALID`: Software draft is valid.\n - `INVALID`: Software draft is invalid.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "VALID", + "INVALID" + ] + }, + "Esx.Settings.Hosts.Software.Drafts.SourceType": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.Drafts.SourceType enumerated type defines possible values of sources to import software specification.\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in {@link #pullLocation) can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n - `JSON_STRING`: The string representing the content of the software specification.\n - `LATEST_RECOMMENDATION`: Content is from recommended image specification based on latest base image version. Recommendations can be generated using *POST /esx/settings/hosts/{host}/software/recommendations?action=generate*.\n - `CURRENT_SERIES_RECOMMENDATION`: Content is from recommended image specification based on latest base image patch or update of the current series. For example, a host's current desired base image is 8.0. Recommendation engine will look into any recommendable image specification with 8.0 series base images available at depot manager and try to recommend the highest version within 8.0 series if possible. Let's say in this example, depot manager has 8.0 patch a and 8.0 update 1 base images. Recommendation engine would first validate all possible images based on 8.0 update 1. If it finds a valid one, it will store the recommended content with that series. This enum value will point to that stored recommended image content. \n\n Recommendations can be generated using *POST /esx/settings/hosts/{host}/software/recommendations?action=generate*.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "PULL", + "PUSH", + "JSON_STRING", + "LATEST_RECOMMENDATION", + "CURRENT_SERIES_RECOMMENDATION" + ] + }, + "Esx.Settings.Hosts.Software.Drafts.ValidateResult": { + "required": [ + "notifications" + ], + "type": "object", + "properties": { + "notifications": { + "description": "Notifications associated with the validation.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.ValidateResult schema contains properties to describe result of validation of desired software specification.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Drafts.Metadata": { + "required": [ + "creation_time", + "owner", + "status" + ], + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "Owner of the software draft.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "status": { + "type": "string", + "description": "Status of the software draft.\n\nPossible values:\n - `VALID`: Software draft is valid.\n - `INVALID`: Software draft is invalid.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Drafts.StatusType*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "creation_time": { + "type": "string", + "description": "Creation time of the software draft.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.Metadata schema defines the metadata information about software draft.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Drafts.Info": { + "required": [ + "metadata", + "software" + ], + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the software draft.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.Metadata" + } + ] + }, + "software": { + "description": "Software specification associated with the draft.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "display_name": { + "type": "string", + "description": "Display name of the software draft.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.Info schema defines the information about software draft.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Drafts.Summary": { + "required": [ + "metadata" + ], + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the software draft.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Drafts.Metadata" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.Summary schema defines the summary information about software draft.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Drafts.FilterSpec": { + "type": "object", + "properties": { + "owners": { + "uniqueItems": true, + "type": "array", + "description": "Owners of the drafts.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, drafts from all owners will be returned.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.FilterSpec schema contains properties used to filter the results when listing software drafts. See *GET /esx/settings/hosts/{host}/software/drafts*.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Drafts.CommitSpec": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message to include with the commit.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, message is set to empty string." + }, + "orchestrator": { + "description": "Orchestrator specification of the commit.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no orchestrator details is provided with the commit. \n\nNote: \n\n1. It is used by vLCM orchestrators like SDDC Manager to manage the desired state. For a non-orchestrator user i.e. a VC user, it must be unset. \n\n2. Setting it prevents other users from modifying the committed desired state.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.OrchestratorSpec" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.CommitSpec schema contains properties that are used to create a new commit.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Drafts.ImportSpec": { + "required": [ + "source_type" + ], + "type": "object", + "properties": { + "source_type": { + "type": "string", + "description": "Type of the source to import the desired software specification\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in {@link #pullLocation) can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n - `JSON_STRING`: The string representing the content of the software specification.\n - `LATEST_RECOMMENDATION`: Content is from recommended image specification based on latest base image version. Recommendations can be generated using *POST /esx/settings/hosts/{host}/software/recommendations?action=generate*.\n - `CURRENT_SERIES_RECOMMENDATION`: Content is from recommended image specification based on latest base image patch or update of the current series. For example, a host's current desired base image is 8.0. Recommendation engine will look into any recommendable image specification with 8.0 series base images available at depot manager and try to recommend the highest version within 8.0 series if possible. Let's say in this example, depot manager has 8.0 patch a and 8.0 update 1 base images. Recommendation engine would first validate all possible images based on 8.0 update 1. If it finds a valid one, it will store the recommended content with that series. This enum value will point to that stored recommended image content. \n\n Recommendations can be generated using *POST /esx/settings/hosts/{host}/software/recommendations?action=generate*.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Drafts.SourceType*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "location": { + "type": "string", + "description": "Location of the software specification file to be imported.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Hosts.Software.Drafts.SourceType.PULL*.", + "format": "uri" + }, + "file_id": { + "type": "string", + "description": "File identifier returned by the file upload endpoint after file is uploaded.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Hosts.Software.Drafts.SourceType.PUSH*." + }, + "software_spec": { + "type": "string", + "description": "The JSON string representing the desired software specification.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Hosts.Software.Drafts.SourceType.JSON_STRING*." + }, + "display_name": { + "type": "string", + "description": "Display name of the desired software specification.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.ImportSpec schema defines the information used to import the desired software specification.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Recommendations.ExplanationDetails": { + "required": [ + "display_name", + "display_version", + "explanation" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of an excluded image entity (base image, add-on etc.).\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "display_version": { + "type": "string", + "description": "Display version of an excluded image entity (base image, add-on etc.).\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "explanation": { + "type": "array", + "description": "List of explanations on why the image entity is excluded.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Esx.Settings.Hosts.Software.Recommendations.ExplanationDetails schema contains properties to describe the result of validation of desired software specification.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Recommendations.Info": { + "required": [ + "base_image_explanation_details" + ], + "type": "object", + "properties": { + "latest_recommendation": { + "description": "Recommended image specification based on latest base image version.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` if no recommended image based on latest base image version is available.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "current_series_recommendation": { + "description": "Recommended image specification based on latest base image patch or update of the current series.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` if no recommended image based on latest base image patch or update of the current series is available.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "base_image_explanation_details": { + "type": "array", + "description": "Details about why some base images are excluded in latest and current series recommendations. This is not applicable for specified base image recommendations.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Recommendations.ExplanationDetails" + } + }, + "check_time": { + "type": "string", + "description": "The most recent timestamp when check for recommended image is launched.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` if no recommendation check has ever been launched.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.Hosts.Software.Recommendations.Info schema defines the information about the most recent recommendation generation result.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Drafts.DisplayName.Info": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.DisplayName.Info schema contains information about the display name of a software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Hosts.Software.Drafts.DisplayName.SetSpec": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.DisplayName.SetSpec schema contains information about the display name of a software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Hosts.Software.Drafts.Software.Components.UpdateSpec": { + "type": "object", + "properties": { + "components_to_set": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of components to be updated. If the component already exists in the draft, the version is updated, else it is added. If a component is provided without version, then its version will be chosen based on constraints in the system.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no components will be added or updated.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "components_to_delete": { + "uniqueItems": true, + "type": "array", + "description": "List of components to be removed.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no components will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.component`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Hosts.Software.Drafts.Software.Components.UpdateSpec schema contains properties that are specified to update list of components in the draft.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.ApplyImpact.Impact": { + "required": [ + "message" + ], + "type": "object", + "properties": { + "message": { + "description": "Description of the impact.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.Reports.ApplyImpact.Impact schema contains properties that describe what the impact is of a particular step during the apply operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.ApplyImpact.HostImpact": { + "required": [ + "commit", + "host_info", + "impact" + ], + "type": "object", + "properties": { + "impact": { + "type": "array", + "description": "Impact of steps performed during the apply operation.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.ApplyImpact.Impact" + } + }, + "commit": { + "type": "string", + "description": "Identifier of the commit on which the impact is generated.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "description": "Information of the host.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.Reports.ApplyImpact.HostImpact schema contains properties that describe the summary of how the standalone ESXi host will be impacted during an apply operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyStatus": { + "required": [ + "end_time", + "notifications", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the operation.\n\nPossible values:\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyStatus.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications providing additional information about the status of the operation.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyStatus schema contains properties that describe the status of an apply operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyStatus.Status": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyStatus.Status enumerated type contains the possible different status codes that can be returned while trying to apply the desired software specification to a standalone host.\n\nPossible values:\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR" + ] + }, + "Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyResult": { + "required": [ + "commit", + "host_info" + ], + "type": "object", + "properties": { + "status": { + "description": "Specifies the status of the apply operation.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nmissing or `null` if the apply operation is in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyStatus" + } + ] + }, + "commit": { + "type": "string", + "description": "The identifier of the commit used to fetch the desired software document to be applied to the standalone host.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "description": "Information of the host to which the desired software document specified by the *Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyResult.commit* needs to be applied to.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + } + ] + }, + "notifications": { + "description": "Notifications providing additional information for *POST /esx/settings/hosts/{host}/software?action=apply* operation. These notifications are mutually exclusive with the notifications in Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyStatus.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.Reports.LastApplyResult.ApplyResult schema contains properties that describe the result of an apply operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.LastCheckResult.Status": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.Reports.LastCheckResult.Status enumerated type defines the status result for a particular check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "OK", + "WARNING", + "TIMEOUT", + "ERROR" + ] + }, + "Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckInfo": { + "required": [ + "check", + "description", + "name" + ], + "type": "object", + "properties": { + "check": { + "type": "string", + "description": "The check identifier.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "name": { + "description": "The check name.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "description": { + "description": "Human-readable check description.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "originator": { + "type": "string", + "description": "The service that performed the check.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nOnly set if there is an originator available for this check." + } + }, + "description": "The Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckInfo schema contains properties that describe a particular check.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckIssue": { + "required": [ + "description" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the issue encountered.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "Possible resolution for the issue.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nCan be left missing or `null` if no meaningful resolution exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckStatus": { + "required": [ + "check", + "status" + ], + "type": "object", + "properties": { + "check": { + "description": "Information about this check.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckInfo" + } + ] + }, + "status": { + "type": "string", + "description": "The status of this check.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Reports.LastCheckResult.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "check_issues": { + "type": "array", + "description": "The issues encountered while running this check.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckIssue" + } + } + }, + "description": "The Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckStatus schema contains properties that describe a check result.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.LastCheckResult.EntityCheckResult": { + "required": [ + "check_statuses", + "status", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The entity type for which these checks are being run.\n\nPossible values:\n - `HOST`: Entity type Host\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Reports.LastCheckResult.EntityCheckResult.EntityType*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "host": { + "type": "string", + "description": "If the entity type is HOST then the host identifier for which the checks have been run.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of type is *Esx.Settings.Hosts.Software.Reports.LastCheckResult.EntityCheckResult.EntityType.HOST*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "status": { + "type": "string", + "description": "Aggregated status from all checks performed on this entity.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Reports.LastCheckResult.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "check_statuses": { + "type": "array", + "description": "List of Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckStatus for all checks performed.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckStatus" + } + } + }, + "description": "The Esx.Settings.Hosts.Software.Reports.LastCheckResult.EntityCheckResult schema contains properties that describe aggregated status of all checks performed on a specific entity.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Hosts.Software.Reports.LastCheckResult.EntityCheckResult.EntityType": { + "type": "string", + "description": "The Esx.Settings.Hosts.Software.Reports.LastCheckResult.EntityCheckResult.EntityType enumerated type contains the entities on which checks can be performed.\n\nPossible values:\n - `HOST`: Entity type Host\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "HOST" + ] + }, + "Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckResult": { + "required": [ + "commit", + "end_time", + "entity_result", + "host_info", + "start_time", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Aggregated status from all checks performed.\n\nPossible values:\n - `OK`: The check indicates a success.\n - `WARNING`: The check indicates a warning.\n - `TIMEOUT`: The check did not return in a timely manner.\n - `ERROR`: The check indicates an error.\n\n\nFor more information see: *Esx.Settings.Hosts.Software.Reports.LastCheckResult.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "start_time": { + "type": "string", + "description": "Time when the operation started.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation completed.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "date-time" + }, + "commit": { + "type": "string", + "description": "The identifier of the commit on which checks have been run.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.commit`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.commit`." + }, + "host_info": { + "description": "Information about the host for which checks have been requested to be run.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.HostInfo" + } + ] + }, + "entity_result": { + "description": "List of Esx.Settings.Hosts.Software.Reports.LastCheckResult.EntityCheckResult for all entities for which checks have been run.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Hosts.Software.Reports.LastCheckResult.EntityCheckResult" + } + ] + } + }, + "description": "The Esx.Settings.Hosts.Software.Reports.LastCheckResult.CheckResult schema contains properties that describe aggregated status of all checks performed.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.TaskStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.TaskStatus enumerated type defines the status for an individual task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "PENDING", + "RUNNING", + "CANCELED", + "SUCCEEDED", + "FAILED", + "SKIPPED", + "UNKNOWN" + ] + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.PrecheckStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.PrecheckStatus enumerated type defines the status result for a particular precheck. Note: This is patterned after values of com.vmware.esx.settings.clusters#Status enumeration.\n\nPossible values:\n - `OK`: The precheck indicates a success.\n - `WARNING`: The precheck indicates a warning.\n - `TIMEOUT`: The precheck did not return in a timely manner.\n - `ERROR`: The precheck indicates an error.\n - `RETRY`: The precheck failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health precheck before considering the precheck as failed.\n - `UNKNOWN`: The precheck is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "OK", + "WARNING", + "TIMEOUT", + "ERROR", + "RETRY", + "UNKNOWN" + ] + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.ApplyStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.ApplyStatus enumerated type contains the possible different status codes that can be returned while trying to apply the desired software specification to hosts within the cluster. Note: This is patterned after values of com.vmware.esx.settings.clusters.ApplyStatus#Status enumeration.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "RUNNING", + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR", + "RETRY_PENDING", + "UNKNOWN" + ] + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The property specifies what type of entity within the vCenter's inventory on which the operations summary report will be generated.\n\nPossible values:\n - `CLUSTER`: Type specifying cluster within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.InventoryType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams schema contains properties that are necessary to generate the operations summary report of clusters under given inventory.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.InventoryType": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams.InventoryType enumerated type contains the possible type of entities belonging to vCenter's inventory on which the operations summary report will be generated.\n\nPossible values:\n - `CLUSTER`: Type specifying cluster within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "CLUSTER", + "FOLDER", + "DATACENTER" + ] + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.ComplianceResult": { + "required": [ + "compliance_status", + "notifications", + "task_status" + ], + "type": "object", + "properties": { + "task_status": { + "type": "string", + "description": "Provides the status of the compliance task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Clusters.TaskStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compliance_status": { + "type": "string", + "description": "Overall compliance status of the cluster.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_compliance_time": { + "type": "string", + "description": "Time when the operation performed last time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the operation has not been run yet.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the scan operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.ComplianceResult schema contains properties to describe the compliance result of a cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.PrecheckResult": { + "required": [ + "notifications", + "precheck_status", + "task_status" + ], + "type": "object", + "properties": { + "task_status": { + "type": "string", + "description": "Provides the status of the precheck task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Clusters.TaskStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "precheck_status": { + "type": "string", + "description": "Aggregated status from all prechecks performed.\n\nPossible values:\n - `OK`: The precheck indicates a success.\n - `WARNING`: The precheck indicates a warning.\n - `TIMEOUT`: The precheck did not return in a timely manner.\n - `ERROR`: The precheck indicates an error.\n - `RETRY`: The precheck failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health precheck before considering the precheck as failed.\n - `UNKNOWN`: The precheck is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Clusters.PrecheckStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_precheck_time": { + "type": "string", + "description": "Time when the operation performed last time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the operation has not been run yet.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the stage operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.PrecheckResult schema contains properties that describe aggregated status of all prechecks performed.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.StageResult": { + "required": [ + "notifications", + "stage_status", + "task_status" + ], + "type": "object", + "properties": { + "task_status": { + "type": "string", + "description": "Provides the status of the stage task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Clusters.TaskStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Specifies the aggregated status of the stage operation.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_stage_time": { + "type": "string", + "description": "Time when the operation performed last time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the operation has not been run yet.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the stage operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.StageResult schema contains properties that describe the result of a stage operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.ApplyResult": { + "required": [ + "apply_status", + "notifications", + "task_status" + ], + "type": "object", + "properties": { + "task_status": { + "type": "string", + "description": "Provides the status of the apply task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Clusters.TaskStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "apply_status": { + "type": "string", + "description": "Specifies the aggregated status of the apply operation.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Clusters.ApplyStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_apply_time": { + "type": "string", + "description": "Time when the operation performed last time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the operation has not been run yet.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the stage operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.ApplyResult schema contains properties that describe the result of an apply operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.SoftwareSpecInfo": { + "required": [ + "display_name", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the software specification from repository assigned to the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "display_name": { + "type": "string", + "description": "Display name of the software specification from repository assigned to the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.SoftwareSpecInfo schema contains properties to describe the details regarding the software specification from repository assigned to the cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.ClusterSummary": { + "required": [ + "cluster", + "software_spec_info" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier of the cluster\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "software_spec_info": { + "description": "Information of the software specification from repository assigned to the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Clusters.SoftwareSpecInfo" + } + ] + }, + "compliance_summary": { + "description": "Summary of the cluster compliance operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the cluster compliance operation is not requested.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Clusters.ComplianceResult" + } + ] + }, + "precheck_summary": { + "description": "Summary of the cluster precheck operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the cluster precheck operation is not requested.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Clusters.PrecheckResult" + } + ] + }, + "stage_summary": { + "description": "Summary of the cluster stage operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the cluster stage operation is not requested.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Clusters.StageResult" + } + ] + }, + "apply_summary": { + "description": "Summary of the cluster apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the cluster apply operation is not requested.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Clusters.ApplyResult" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.ClusterSummary schema contains information to summarize the operations performed on a cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.IterationSpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.IterationSpec schema contains properties used to break results into pages while returning operations summary of the entities defined in the *Esx.Settings.Inventory.Reports.Summary.Clusters.GetParams*\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.FilterSpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.FilterSpec schema contains properties used to filter the results while returning the operations summary based on properties contained in it.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.SortCriteria": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.SortCriteria schema contains properties that determine how a operations summary should be sorted by the values of one or more properties.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Clusters.Info": { + "required": [ + "cluster_summaries" + ], + "type": "object", + "properties": { + "cluster_summaries": { + "type": "array", + "description": "List of cluster summaries.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Clusters.ClusterSummary" + } + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Clusters.Info schema contains the summary about the operations performed on the clusters.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.TaskStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.TaskStatus enumerated type defines the status for an individual task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "PENDING", + "RUNNING", + "CANCELED", + "SUCCEEDED", + "FAILED", + "SKIPPED", + "UNKNOWN" + ] + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.PrecheckStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.PrecheckStatus enumerated type defines the status result for a particular precheck. Note: This is patterned after values of com.vmware.esx.settings.hosts#Status enumeration.\n\nPossible values:\n - `OK`: The precheck indicates a success.\n - `WARNING`: The precheck indicates a warning.\n - `TIMEOUT`: The precheck did not return in a timely manner.\n - `ERROR`: The precheck indicates an error.\n - `RETRY`: The precheck failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health precheck before considering the precheck as failed.\n - `UNKNOWN`: The precheck is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "OK", + "WARNING", + "TIMEOUT", + "ERROR", + "RETRY", + "UNKNOWN" + ] + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.ApplyStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.ApplyStatus schema contains properties that describe the status of an apply operation. Note: This is patterned after values of com.vmware.esx.settings.hosts.ApplyStatus#Status enumeration.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "RUNNING", + "OK", + "SKIPPED", + "TIMED_OUT", + "ERROR", + "RETRY_PENDING", + "UNKNOWN" + ] + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The property specifies what type of entity within the vCenter's inventory on which the operations summary report will be generated.\n\nPossible values:\n - `HOST`: Type specifying standalone host within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.InventoryType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams schema contains properties that are necessary to generate the operations summary report of standalone hosts under given inventory.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.InventoryType": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams.InventoryType enumerated type contains the possible type of entities belonging to vCenter's inventory on which the operations summary report will be generated.\n\nPossible values:\n - `HOST`: Type specifying standalone host within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HOST", + "FOLDER", + "DATACENTER" + ] + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.ComplianceResult": { + "required": [ + "compliance_status", + "notifications", + "task_status" + ], + "type": "object", + "properties": { + "task_status": { + "type": "string", + "description": "Provides the status of the compliance task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Hosts.TaskStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compliance_status": { + "type": "string", + "description": "Overall compliance status of the standalone host.\n\nPossible values:\n - `COMPLIANT`: Target version is same as current version.\n - `NON_COMPLIANT`: Target version is greater than current version.\n - `INCOMPATIBLE`: Target state cannot be applied due to conflict or missing dependencies or the target state is lesser than the current version.\n - `UNAVAILABLE`: Drift check failed due to unknown error or check hasn't happened yet and results are not available.\n\n\nFor more information see: *Esx.Settings.ComplianceStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_compliance_time": { + "type": "string", + "description": "Time when the operation performed last time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the operation has not been run yet.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the scan operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.ComplianceResult schema contains properties to describe the compliance result of a standalone host.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.PrecheckResult": { + "required": [ + "notifications", + "precheck_status", + "task_status" + ], + "type": "object", + "properties": { + "task_status": { + "type": "string", + "description": "Provides the status of the precheck task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Hosts.TaskStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "precheck_status": { + "type": "string", + "description": "Aggregated status from all prechecks performed.\n\nPossible values:\n - `OK`: The precheck indicates a success.\n - `WARNING`: The precheck indicates a warning.\n - `TIMEOUT`: The precheck did not return in a timely manner.\n - `ERROR`: The precheck indicates an error.\n - `RETRY`: The precheck failed because of an intermittent error, for example a service is overloaded. The client can choose to retry the health precheck before considering the precheck as failed.\n - `UNKNOWN`: The precheck is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Hosts.PrecheckStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_precheck_time": { + "type": "string", + "description": "Time when the operation performed last time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the operation has not been run yet.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the stage operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.PrecheckResult schema contains properties that describe aggregated status of all prechecks performed.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.StageResult": { + "required": [ + "notifications", + "stage_status", + "task_status" + ], + "type": "object", + "properties": { + "task_status": { + "type": "string", + "description": "Provides the status of the stage task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Hosts.TaskStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "stage_status": { + "type": "string", + "description": "Specifies the aggregated status of the stage operation.\n\nPossible values:\n - `STAGED`: Required components/payloads are already staged.\n - `NOT_STAGED`: Required components/payloads are not staged.\n - `UNKNOWN`: Required components/payloads staged status is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.StageStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_stage_time": { + "type": "string", + "description": "Time when the operation performed last time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the operation has not been run yet.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the stage operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.StageResult schema contains properties that describe the result of a stage operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.ApplyResult": { + "required": [ + "apply_status", + "notifications", + "task_status" + ], + "type": "object", + "properties": { + "task_status": { + "type": "string", + "description": "Provides the status of the apply task.\n\nPossible values:\n - `PENDING`: The operation is not performed yet.\n - `RUNNING`: The operation is in progress.\n - `CANCELED`: The operation is canceled.\n - `SUCCEEDED`: The operation indicates a success.\n - `FAILED`: The operation encountered an unspecified error.\n - `SKIPPED`: The operation was skipped.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Hosts.TaskStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "apply_status": { + "type": "string", + "description": "Specifies the aggregated status of the apply operation.\n\nPossible values:\n - `RUNNING`: The operation is in progress.\n - `OK`: The operation completed successfully.\n - `SKIPPED`: The operation was skipped.\n - `TIMED_OUT`: The operation timed out.\n - `ERROR`: The operation encountered an unspecified error.\n - `RETRY_PENDING`: The operation is being scheduled for retry.\n - `UNKNOWN`: The operation is in an unknown state.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.Summary.Hosts.ApplyStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_apply_time": { + "type": "string", + "description": "Time when the operation performed last time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the operation has not been run yet.", + "format": "date-time" + }, + "notifications": { + "description": "Notifications returned by the stage operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.ApplyResult schema contains properties that describe the result of an apply operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.SoftwareSpecInfo": { + "required": [ + "display_name", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the software specification from repository assigned to the standalone host.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "display_name": { + "type": "string", + "description": "Display name of the software specification from repository assigned to the standalone host.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.SoftwareSpecInfo schema contains properties to describe the details regarding the software specification from repository assigned to the standalone host.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.HostSummary": { + "required": [ + "host", + "software_spec_info" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Identifier of the standalone host.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "software_spec_info": { + "description": "Information of the software specification from repository assigned to the standalone host.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Hosts.SoftwareSpecInfo" + } + ] + }, + "compliance_summary": { + "description": "Summary of the standalone host compliance operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the standalone host compliance operation is not requested.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Hosts.ComplianceResult" + } + ] + }, + "precheck_summary": { + "description": "Summary of the standalone host precheck operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the standalone host precheck operation is not requested.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Hosts.PrecheckResult" + } + ] + }, + "stage_summary": { + "description": "Summary of the standalone host stage operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the standalone host stage operation is not requested.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Hosts.StageResult" + } + ] + }, + "apply_summary": { + "description": "Summary of the standalone host apply operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if the standalone host apply operation is not requested.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Hosts.ApplyResult" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.HostSummary schema contains information to summarize the operations performed on a standalone host.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.IterationSpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.IterationSpec schema contains properties used to break results into pages while returning operations summary of the entities defined in the *Esx.Settings.Inventory.Reports.Summary.Hosts.GetParams*\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.FilterSpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.FilterSpec schema contains properties used to filter the results while returning the operations summary based on properties contained in it.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.SortCriteria": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.SortCriteria schema contains properties that determine how a operations summary should be sorted by the values of one or more properties.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.Summary.Hosts.Info": { + "required": [ + "host_summaries" + ], + "type": "object", + "properties": { + "host_summaries": { + "type": "array", + "description": "List of host summaries.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.Summary.Hosts.HostSummary" + } + } + }, + "description": "The Esx.Settings.Inventory.Reports.Summary.Hosts.Info schema contains the summary about the operations performed on standalone hosts.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.TransitionStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.TransitionStatus enumerated type defines the different type of statuses a given cluster can be during the transition or pre-transition.\n\nPossible values:\n - `NOT_DETECTED`: Transition workflow first needs the com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation to be executed. This status defines that the com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation is not executed or the result is not available for a given cluster.\n - `DETECTING_IMAGE`: Defines that com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation is in-progress for a given cluster.\n - `ELIGIBLE`: Defines that a given cluster is ready for transition from baseline managed to image managed. This also states that the given cluster is also eligible to be transitioned through the com.vmware.esx.settings.inventory.Inventory#transition workflow. One of the criteria is that the given entity has single installed-image.\n - `CLUSTER_LEVEL_CONVERSION_REQUIRED`: Defines that the cluster is not ready for transition from baseline managed to image managed using com.vmware.esx.settings.inventory.Inventory#transition operation. One of the possible reasons could be that the given cluster might have multiple installed images. In such case, the given cluster cannot be transitioned using this workflow but can be done using existing cluster workflow.\n - `CONVERTING`: Defines that for a given cluster is getting converted from baseline managed to image managed using com.vmware.esx.settings.inventory.Inventory#transition operation.\n - `CONVERTED`: Defines the a given cluster is successfully converted from baseline managed to image managed.\n - `UNKNOWN`: Defines that the transition status of the cluster is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "NOT_DETECTED", + "DETECTING_IMAGE", + "ELIGIBLE", + "CLUSTER_LEVEL_CONVERSION_REQUIRED", + "CONVERTING", + "CONVERTED", + "UNKNOWN" + ] + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The property specifies what type of entity within the vCenter's inventory on which the operation will be executed.\n\nPossible values:\n - `CLUSTER`: Type specifying cluster within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory. Currently this entity type is unsupported. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory. Currently this entity type is unsupported. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.InventoryType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams schema contains properties that are necessary to generate the summary report for the given entities.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.InventoryType": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams.InventoryType enumerated type contains the possible type of entities belonging to vCenter's inventory on which the operation can be executed.\n\nPossible values:\n - `CLUSTER`: Type specifying cluster within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory. Currently this entity type is unsupported. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory. Currently this entity type is unsupported. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "CLUSTER", + "FOLDER", + "DATACENTER" + ] + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.ClusterSummary": { + "required": [ + "cluster", + "images", + "last_check_time", + "notifications", + "orphan_vibs", + "status", + "uniform_image" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier of the cluster\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "last_check_time": { + "type": "string", + "description": "Defines the timestamp when the last com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation was executed on a given entity.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "uniform_image": { + "type": "boolean", + "description": "Defines if the given entity is having a single image or not.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "images": { + "type": "array", + "description": "Defines the list of unique images found on a given cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + }, + "orphan_vibs": { + "type": "boolean", + "description": "Defines if any orphan VIBs are found on an entity. If found the user is expected to check the detailed installed-image report of a given entity.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "status": { + "type": "string", + "description": "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.TransitionStatus of a given entity as described in #TransitionStatus.\n\nPossible values:\n - `NOT_DETECTED`: Transition workflow first needs the com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation to be executed. This status defines that the com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation is not executed or the result is not available for a given cluster.\n - `DETECTING_IMAGE`: Defines that com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation is in-progress for a given cluster.\n - `ELIGIBLE`: Defines that a given cluster is ready for transition from baseline managed to image managed. This also states that the given cluster is also eligible to be transitioned through the com.vmware.esx.settings.inventory.Inventory#transition workflow. One of the criteria is that the given entity has single installed-image.\n - `CLUSTER_LEVEL_CONVERSION_REQUIRED`: Defines that the cluster is not ready for transition from baseline managed to image managed using com.vmware.esx.settings.inventory.Inventory#transition operation. One of the possible reasons could be that the given cluster might have multiple installed images. In such case, the given cluster cannot be transitioned using this workflow but can be done using existing cluster workflow.\n - `CONVERTING`: Defines that for a given cluster is getting converted from baseline managed to image managed using com.vmware.esx.settings.inventory.Inventory#transition operation.\n - `CONVERTED`: Defines the a given cluster is successfully converted from baseline managed to image managed.\n - `UNKNOWN`: Defines that the transition status of the cluster is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.TransitionStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Describes if any notifications were raised for the given entity during the execution of the operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.ClusterSummary schema contains properties that describes the cluster and what software it is currently running. It fetches the software details from all the hosts within the cluster. Along with the software details, it also provides the status of a given cluster with respect to its transition from baseline managed to image managed.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.IterationSpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.IterationSpec schema contains properties used to break results into pages while returning transition summary of the entities defined in the *Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.GetParams*\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.FilterSpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.FilterSpec schema contains properties used to filter the results while returning the transition summary based on properties contained in it.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.SortCriteria": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.SortCriteria schema contains properties that determine how a transition summary should be sorted by the values of one or more properties.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.Info": { + "required": [ + "cluster_summaries" + ], + "type": "object", + "properties": { + "cluster_summaries": { + "type": "array", + "description": "List of cluster summaries. Each individual cluster summary contains its image and transition details.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.ClusterSummary" + } + } + }, + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Clusters.Info schema contains the summary of clusters and the image they are running.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.TransitionStatus": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.TransitionStatus enumerated type defines the different type of statuses a given standalone host can be during the transition or pre-transition.\n\nPossible values:\n - `NOT_DETECTED`: Transition workflow first needs the com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation to be executed. This status defines that the com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation is not executed or the result is not available for a given host.\n - `DETECTING_IMAGE`: Defines that com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation is in-progress for a given host.\n - `ELIGIBLE`: Defines that a given host is ready for transition from baseline managed to image managed. This also states that the given host is also eligible to be transitioned through the com.vmware.esx.settings.inventory.Inventory#transition workflow.\n - `HOST_LEVEL_CONVERSION_REQUIRED`: Defines that the host is not ready for transition from baseline managed to image managed using com.vmware.esx.settings.inventory.Inventory#transition operation. In such case, the given standalone host cannot be transitioned using this workflow but can be done using existing standalone host workflow.\n - `CONVERTING`: Defines that for a given standalone host is getting converted from baseline managed to image managed using com.vmware.esx.settings.inventory.Inventory#transition operation.\n - `CONVERTED`: Defines the a given standalone host is successfully converted from baseline managed to image managed.\n - `UNKNOWN`: Defines that the transition status of the standalone host is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "NOT_DETECTED", + "DETECTING_IMAGE", + "ELIGIBLE", + "HOST_LEVEL_CONVERSION_REQUIRED", + "CONVERTING", + "CONVERTED", + "UNKNOWN" + ] + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The property specifies what type of entity within the vCenter's inventory on which the operation will be executed.\n\nPossible values:\n - `HOST`: Type specifying standalone host within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory. Currently this entity type is unsupported. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory. Currently this entity type is unsupported. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.InventoryType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams schema contains properties that are necessary to generate the summary report for the given entities.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.InventoryType": { + "type": "string", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams.InventoryType enumerated type contains the possible type of entities belonging to vCenter's inventory on which the operation can be executed.\n\nPossible values:\n - `HOST`: Type specifying standalone host within the vCenter's inventory.\n - `FOLDER`: Type specifying folder within the vCenter's inventory. Currently this entity type is unsupported. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n - `DATACENTER`: Type specifying data-center within the vCenter's inventory. Currently this entity type is unsupported. Support for the same will be added in future releases and hence provision is being made in API/interfaces.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HOST", + "FOLDER", + "DATACENTER" + ] + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.HostSummary": { + "required": [ + "host", + "image", + "last_check_time", + "notifications", + "orphan_vibs", + "status" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Identifier of the host\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "last_check_time": { + "type": "string", + "description": "Defines the timestamp when the last com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation was executed on a given entity.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "image": { + "description": "Defines image found on a given entity.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "orphan_vibs": { + "type": "boolean", + "description": "Defines if any orphan VIBs are found on an entity. If found the user is expected to check the detailed installed-image report of a given entity.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "status": { + "type": "string", + "description": "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.TransitionStatus of a given entity as described in #TransitionStatus.\n\nPossible values:\n - `NOT_DETECTED`: Transition workflow first needs the com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation to be executed. This status defines that the com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation is not executed or the result is not available for a given host.\n - `DETECTING_IMAGE`: Defines that com.vmware.esx.settings.inventory.Inventory#extractInstalledImage operation is in-progress for a given host.\n - `ELIGIBLE`: Defines that a given host is ready for transition from baseline managed to image managed. This also states that the given host is also eligible to be transitioned through the com.vmware.esx.settings.inventory.Inventory#transition workflow.\n - `HOST_LEVEL_CONVERSION_REQUIRED`: Defines that the host is not ready for transition from baseline managed to image managed using com.vmware.esx.settings.inventory.Inventory#transition operation. In such case, the given standalone host cannot be transitioned using this workflow but can be done using existing standalone host workflow.\n - `CONVERTING`: Defines that for a given standalone host is getting converted from baseline managed to image managed using com.vmware.esx.settings.inventory.Inventory#transition operation.\n - `CONVERTED`: Defines the a given standalone host is successfully converted from baseline managed to image managed.\n - `UNKNOWN`: Defines that the transition status of the standalone host is unknown.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.TransitionStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "notifications": { + "description": "Describes if any notifications were raised for the given entity during the execution of the operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.HostSummary schema contains properties that describes the software that is currently running on a given standalone host. Along with the software details, it also provides the status of a given host with respect to its transition from baseline managed to image managed.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.IterationSpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.IterationSpec schema contains properties used to break results into pages while returning transition summary of the entities defined in the *Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.GetParams*\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.FilterSpec": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.FilterSpec schema contains properties used to filter the results while returning the transition summary based on properties contained in it.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.SortCriteria": { + "type": "object", + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.SortCriteria schema contains properties that determine how a transition summary should be sorted by the values of one or more properties.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.Info": { + "required": [ + "host_summaries" + ], + "type": "object", + "properties": { + "host_summaries": { + "type": "array", + "description": "List of host summaries. Each individual host summary contains its image and transition details.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.HostSummary" + } + } + }, + "description": "The Esx.Settings.Inventory.Reports.TransitionSummary.Hosts.Info schema contains the summary of standalone hosts and the image they are running.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.ExportType": { + "type": "string", + "description": "The Esx.Settings.Repository.Software.ExportType enumerated type defines the formats in which software specification document or image can be exported.\n\nPossible values:\n - `SOFTWARE_SPEC`: Export software specification document.\n - `ISO_IMAGE`: Export ISO image.\n - `OFFLINE_BUNDLE`: Export offline bundle.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SOFTWARE_SPEC", + "ISO_IMAGE", + "OFFLINE_BUNDLE" + ] + }, + "Esx.Settings.Repository.Software.SoftwareType": { + "type": "string", + "description": "The Esx.Settings.Repository.Software.SoftwareType enumerated type describes whether a software specification is Single or Composite.\n\nPossible values:\n - `SINGLE`: A software specification of this type contains only one image (default image).\n - `COMPOSITE`: A software specification of this type contains one default image and one or more alternative images.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SINGLE", + "COMPOSITE" + ] + }, + "Esx.Settings.Repository.Software.ExportSpec": { + "required": [ + "export_iso_image", + "export_offline_bundle", + "export_only_default_image", + "export_software_spec" + ], + "type": "object", + "properties": { + "export_software_spec": { + "type": "boolean", + "description": "Whether to export software specification document.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "export_iso_image": { + "type": "boolean", + "description": "Whether to export ISO image.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "export_offline_bundle": { + "type": "boolean", + "description": "Whether to export offline bundle.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "export_only_default_image": { + "type": "boolean", + "description": "Whether to export only default image.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "skip_reserved_vibs_export": { + "type": "boolean", + "description": "Skip packaging of reserved VIBs in the exported offline-bundle/ISO. During effective VIB computation, a VIB at a lower version can get replaced by the same VIB at a higher version coming from another release unit. vLCM caches the lower version VIB in ESX-OSData partition to support extraction of currently running image from the hosts. Setting this option means (a) export will not package reserved VIBs, (b) the exported depot will be partial and remediation of images from such depots must be accompanied with com.vmware.esx.settings.clusters.policies.Apply.ConfiguredPolicySpec#skipReservedVibsCaching. Otherwise, the remediation might fail. \n\nNOTE: Use this option with caution.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, reserved VIBs will be packaged." + } + }, + "description": "The Esx.Settings.Repository.Software.ExportSpec schema contains information describing how a software specification or image should be exported.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.ClusterInfo": { + "required": [ + "id", + "name" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "name": { + "type": "string", + "description": "Name of the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Repository.Software.ClusterInfo schema contains the information about a cluster that is assigned a software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.HostInfo": { + "required": [ + "id", + "name" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the host.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "name": { + "type": "string", + "description": "Name of the host.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Repository.Software.HostInfo schema contains the information about a standalone host that is assigned a software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.AssignedEntities": { + "required": [ + "clusters", + "hosts" + ], + "type": "object", + "properties": { + "clusters": { + "type": "array", + "description": "List of clusters. For a software specification that is not associated with any cluster, this list will be empty.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.ClusterInfo" + } + }, + "hosts": { + "type": "array", + "description": "List of hosts. For a software specification that is not associated with any host, this list will be empty.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.HostInfo" + } + } + }, + "description": "The Esx.Settings.Repository.Software.AssignedEntities schema contains the list of entities assigned to a software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Info": { + "required": [ + "assigned_entities", + "creation_time", + "display_name", + "editable", + "modified_time", + "software_info", + "software_spec", + "type" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification. The returned name is UTF-8 encoded.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "type": { + "type": "string", + "description": "The software specification type (Single or Composite).\n\nPossible values:\n - `SINGLE`: A software specification of this type contains only one image (default image).\n - `COMPOSITE`: A software specification of this type contains one default image and one or more alternative images.\n\n\nFor more information see: *Esx.Settings.Repository.Software.SoftwareType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "software_info": { + "description": "Software information associated with the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "software_spec": { + "description": "Software specification details.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareSpec" + } + ] + }, + "assigned_entities": { + "description": "Entities that have this software specification assigned.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.AssignedEntities" + } + ] + }, + "editable": { + "type": "boolean", + "description": "If set to true, this software specification can be edited.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "creation_time": { + "type": "string", + "description": "Timestamp describing when this software specification was created.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "modified_time": { + "type": "string", + "description": "Timestamp describing when this software specification was last modified. This timestamp is updated when the #update API is called or when a draft of this software specification is committed.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "orchestrator_info": { + "description": "Orchestrator information of the software specification in the repository.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.OrchestratorInfo" + } + ] + }, + "image_hash": { + "type": "string", + "description": "The SHA-256 hash of this software specification.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Repository.Software.Info schema contains information about a software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Record": { + "required": [ + "assigned_entities", + "creation_time", + "display_name", + "editable", + "id", + "modified_time", + "software_info", + "software_spec", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "display_name": { + "type": "string", + "description": "Display name of the software specification. The returned name is UTF-8 encoded.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "type": { + "type": "string", + "description": "The software specification type (Single or Composite).\n\nPossible values:\n - `SINGLE`: A software specification of this type contains only one image (default image).\n - `COMPOSITE`: A software specification of this type contains one default image and one or more alternative images.\n\n\nFor more information see: *Esx.Settings.Repository.Software.SoftwareType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "software_info": { + "description": "Software information associated with the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + }, + "software_spec": { + "description": "Software specification details.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareSpec" + } + ] + }, + "assigned_entities": { + "description": "Entities that have this software specification assigned.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.AssignedEntities" + } + ] + }, + "editable": { + "type": "boolean", + "description": "If set to true, this software specification can be edited.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "creation_time": { + "type": "string", + "description": "Timestamp describing when this software specification was created.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "modified_time": { + "type": "string", + "description": "Timestamp describing when this software specification was last modified. This timestamp is updated when the #update API is called or when a draft of this software specification is committed.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "orchestrator_info": { + "description": "Orchestrator information of the software specification in the repository.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.OrchestratorInfo" + } + ] + }, + "image_hash": { + "type": "string", + "description": "The SHA-256 hash of this software specification.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Esx.Settings.Repository.Software.Record schema contains properties to describe details regarding a software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.ListResult": { + "required": [ + "records" + ], + "type": "object", + "properties": { + "records": { + "type": "array", + "description": "List of software specifications.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Record" + } + } + }, + "description": "The Esx.Settings.Repository.Software.ListResult schema contains the response when listing software specifications in the repository. (see *GET /esx/settings/repository/software*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.MatchResult": { + "required": [ + "match_types", + "record" + ], + "type": "object", + "properties": { + "match_types": { + "uniqueItems": true, + "type": "array", + "description": "The types of matches.\n\nPossible values:\n - `NAME_MATCH`: The status indicates a software specification matching the name in the user input was found.\n - `SOFTWARE_SPEC_MATCH`: The status indicates a software specification matching the spec in the user input was found.\n\n\nFor more information see: *Esx.Settings.Repository.Software.MatchResult.MatchType*.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "record": { + "description": "The summary of the software specification that matched the user input.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Record" + } + ] + } + }, + "description": "The Esx.Settings.Repository.Software.MatchResult contains the result for one matching software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.MatchResult.MatchType": { + "type": "string", + "description": "The Esx.Settings.Repository.Software.MatchResult.MatchType enumerated type defines the types of matches that are possible for a software specification.\n\nPossible values:\n - `NAME_MATCH`: The status indicates a software specification matching the name in the user input was found.\n - `SOFTWARE_SPEC_MATCH`: The status indicates a software specification matching the spec in the user input was found.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "NAME_MATCH", + "SOFTWARE_SPEC_MATCH" + ] + }, + "Esx.Settings.Repository.Software.CheckResult": { + "required": [ + "matches" + ], + "type": "object", + "properties": { + "matches": { + "type": "array", + "description": "The type of match and the summary of one or more software specification in the repository if the check found a match. If the list is empty, a match was not found for the inputs specified by the user.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.MatchResult" + } + } + }, + "description": "The Esx.Settings.Repository.Software.CheckResult schema contains properties that describe the result of a check for a software specification in the repository. see *POST /esx/settings/repository/software?action=check-repository*\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.CheckSpec": { + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "The displayName to check in the repository.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, display names are not checked." + }, + "software_spec": { + "description": "The software spec to check in the repository.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, software specs are not checked.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareSpec" + } + ] + } + }, + "description": "The Esx.Settings.Repository.Software.CheckSpec schema contains properties used to check if a matching software specification is found in the repository. For a software specification in the repository to be considered a match, it has to match one of the fields.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.UpdateSpec": { + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification. Supported encoding is UTF-8.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the display name is not updated." + }, + "orchestrator": { + "description": "Orchestrator specification of the software specification in The repository.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no orchestrator details is provided with the commit.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.OrchestratorSpec" + } + ] + } + }, + "description": "The Esx.Settings.Repository.Software.UpdateSpec schema defines the information used to update a software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.IterationSpec": { + "type": "object", + "description": "The Esx.Settings.Repository.Software.IterationSpec schema contains properties used to break results into pages when listing software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.FilterSpec": { + "type": "object", + "properties": { + "owners": { + "uniqueItems": true, + "type": "array", + "description": "Filter software specification in repository based on the image owners.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the filter will match all the owners.", + "items": { + "type": "string" + } + }, + "display_names": { + "uniqueItems": true, + "type": "array", + "description": "Filter software specification in repository based on the display names.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the filter will match all the display names.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Repository.Software.FilterSpec schema contains properties used to filter the results when listing software specifications in repository. (see *GET /esx/settings/repository/software*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.SortCriteria": { + "type": "object", + "description": "The Esx.Settings.Repository.Software.SortCriteria schema contains properties that determine how a list of result items should be sorted by the values of one or more properties.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.CopySpec": { + "type": "object", + "properties": { + "delete_existing_draft": { + "type": "boolean", + "description": "Deletes any existing draft by the user before creating a new draft, if deleteExistingDraft is set to TRUE.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf deleteExistingDraft is either unset of set to FALSE and there is already draft created by the user, an `AlreadyExists` exception is thrown." + } + }, + "description": "The Esx.Settings.Repository.Software.CopySpec schema contains properties that are used to create a draft based on an existing software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.EditSpec": { + "type": "object", + "properties": { + "delete_existing_draft": { + "type": "boolean", + "description": "Deletes any existing draft by the user before creating a new draft, if deleteExistingDraft is set to TRUE.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf deleteExistingDraft is either unset of set to FALSE and there is already draft created by the user, an `AlreadyExists` exception is thrown." + } + }, + "description": "The Esx.Settings.Repository.Software.EditSpec schema contains properties that are used to edit the software specification in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.StatusType": { + "type": "string", + "description": "The Esx.Settings.Repository.Software.Drafts.StatusType enumerated type defines possible values of status of a software draft. A draft is invalid if a newer version of the original software specification has been committed since this draft was created.\n\nPossible values:\n - `VALID`: Software draft is valid.\n - `INVALID`: Software draft is invalid.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "VALID", + "INVALID" + ] + }, + "Esx.Settings.Repository.Software.Drafts.SourceType": { + "type": "string", + "description": "The Esx.Settings.Repository.Software.Drafts.SourceType enumerated type defines possible values of sources to import software specification.\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in #pullLocation can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n - `JSON_STRING`: The string representing the content of the software specification.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "PULL", + "PUSH", + "JSON_STRING" + ] + }, + "Esx.Settings.Repository.Software.Drafts.ValidateResult": { + "required": [ + "notifications" + ], + "type": "object", + "properties": { + "notifications": { + "description": "Notifications associated with the validation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Notifications" + } + ] + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.ValidateResult schema contains properties to describe result of validation of desired software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.Metadata": { + "required": [ + "creation_time", + "owner", + "status" + ], + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "Owner of the software draft.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "status": { + "type": "string", + "description": "Status of the software draft.\n\nPossible values:\n - `VALID`: Software draft is valid.\n - `INVALID`: Software draft is invalid.\n\n\nFor more information see: *Esx.Settings.Repository.Software.Drafts.StatusType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "creation_time": { + "type": "string", + "description": "Creation time of the software draft.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.Metadata schema defines the metadata information about software draft.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.Info": { + "required": [ + "display_name", + "metadata", + "software_info", + "software_spec" + ], + "type": "object", + "properties": { + "metadata": { + "description": "Metadata about the software draft.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.Repository.Software.Drafts.Metadata" + } + ] + }, + "display_name": { + "type": "string", + "description": "Display name of the software draft.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "software_spec": { + "type": "string", + "description": "Identifier of the software in the repository for which this draft is created.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.settings.repository.software_spec`." + }, + "software_info": { + "description": "Software specification associated with the draft.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.SoftwareInfo" + } + ] + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.Info schema defines the information about software draft.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.FilterSpec": { + "type": "object", + "properties": { + "software_spec_ids": { + "uniqueItems": true, + "type": "array", + "description": "Software specification identifier for which the draft is created. If the software specification identifier is set to -1, global software drafts are returned.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, drafts from all software specification identifiers are returned.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.repository.software_spec`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.repository.software_spec`.", + "items": { + "type": "string" + } + }, + "owners": { + "uniqueItems": true, + "type": "array", + "description": "Owners of the drafts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, drafts from all owners will be returned.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.FilterSpec schema contains properties used to filter the results when listing software drafts. See *GET /esx/settings/repository/software/drafts*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.CommitSpec": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message to include with the commit. The message is saved as part of the software specification's history.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, message is set to empty string." + }, + "orchestrator": { + "description": "Orchestrator specification of the commit.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no orchestrator details is provided with the commit. \n\nNote: \n\n1. It is used by vLCM orchestrators like SDDC Manager to manage the desired state. For a non-orchestrator user i.e. a VC user, it must be unset. \n\n2. Setting it prevents other users from modifying the committed desired state.", + "allOf": [ + { + "$ref": "#/components/schemas/Esx.Settings.OrchestratorSpec" + } + ] + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.CommitSpec schema contains properties that are used to create a new commit in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.CreateSpec": { + "type": "object", + "properties": { + "delete_existing_draft": { + "type": "boolean", + "description": "Deletes any existing draft by the user before creating a new draft, if deleteExistingDraft is set to TRUE.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf deleteExistingDraft is either unset of set to FALSE and there is already draft created by the user, an `AlreadyExists` exception is thrown." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.CreateSpec schema contains properties that are used to create a draft of a new software spec in the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.ImportSpec": { + "required": [ + "display_name", + "source_type" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name for the draft created.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "source_type": { + "type": "string", + "description": "Type of the source to import the desired software specification\n\nPossible values:\n - `PULL`: Content is pulled from the URL location. The URL scheme of the value in #pullLocation can be http, https or file.\n - `PUSH`: Content was previously uploaded using the file upload endpoint present on vCenter appliance. This endpoint is present at https://VCENTERFQDN:9087/vum-fileupload URL.\n - `JSON_STRING`: The string representing the content of the software specification.\n\n\nFor more information see: *Esx.Settings.Repository.Software.Drafts.SourceType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "location": { + "type": "string", + "description": "Location of the software specification file to be imported.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Repository.Software.Drafts.SourceType.PULL*.", + "format": "uri" + }, + "file_id": { + "type": "string", + "description": "File identifier returned by the file upload endpoint after file is uploaded.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Repository.Software.Drafts.SourceType.PUSH*." + }, + "software_spec": { + "type": "string", + "description": "The JSON string representing the desired software specification.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Esx.Settings.Repository.Software.Drafts.SourceType.JSON_STRING*." + }, + "delete_existing_draft": { + "type": "boolean", + "description": "Deletes any existing draft by the user before creating a new draft, if deleteExistingDraft is set to TRUE.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf deleteExistingDraft is either unset of set to FALSE and there is already draft created by the user, an `AlreadyExists` exception is thrown." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.ImportSpec schema defines the information used to import the desired software specification into the repository.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.EffectiveComponents.FilterSpec": { + "type": "object", + "properties": { + "with_removed_components": { + "type": "boolean", + "description": "Whether include removed components in the result.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` removed components are not included." + } + }, + "description": "The Esx.Settings.Repository.Software.EffectiveComponents.FilterSpec schema contains the filtering specification for *GET /esx/settings/repository/software/{softwareSpec}/effective-components* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.AlternativeImages.EffectiveComponents.FilterSpec": { + "type": "object", + "properties": { + "with_removed_components": { + "type": "boolean", + "description": "Whether include removed components in the result.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` removed components are not included." + } + }, + "description": "The Esx.Settings.Repository.Software.AlternativeImages.EffectiveComponents.FilterSpec schema contains the filtering specification for *GET /esx/settings/repository/software/{softwareSpec}/alternative-images/{image}/effective-components* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.CreateSpec": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the alternative image.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.CreateSpec schema contains information used when creating an alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.ListResult": { + "required": [ + "alternative_images" + ], + "type": "object", + "properties": { + "alternative_images": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Esx.Settings.ImageInfo" + }, + "description": "The map of Image ID and ImageInfo of all the alternative images.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.image`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.image`." + } + }, + "description": "The ListResult schema contains the map of Image ID and ImageInfo of all the alternative images.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.Components.UpdateSpec": { + "type": "object", + "properties": { + "components_to_set": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of components to be updated. If the component already exists in the draft, the version is updated, else it is added. If a component is provided without version, then its version will be chosen based on constraints in the system.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no components will be added or updated.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "components_to_delete": { + "uniqueItems": true, + "type": "array", + "description": "List of components to be removed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no components will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.component`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.Components.UpdateSpec schema contains properties that are specified to update list of components in the draft.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.DisplayName.Info": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.DisplayName.Info schema contains information about the display name of a software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.DisplayName.SetSpec": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the software specification.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.DisplayName.SetSpec schema contains information about the display name of a software specification.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.EffectiveComponents.FilterSpec": { + "type": "object", + "properties": { + "with_removed_components": { + "type": "boolean", + "description": "Whether include removed components in the result.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` removed components are not included." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.EffectiveComponents.FilterSpec schema contains the filtering specification for *GET /esx/settings/repository/software/drafts/{draft}/effective-components* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components.UpdateSpec": { + "type": "object", + "properties": { + "components_to_set": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of components to be updated. If the component already exists in the draft, the version is updated, else it is added. If a component is provided without version, then its version will be chosen based on constraints in the system.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no components will be added or updated.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.esx.settings.component`." + }, + "components_to_delete": { + "uniqueItems": true, + "type": "array", + "description": "List of components to be removed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no components will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.settings.component`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.settings.component`.", + "items": { + "type": "string" + } + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.Components.UpdateSpec schema contains properties that are specified to update list of components of the alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName.Info": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the alternative image.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName.Info schema contains information about the display name of an alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName.SetSpec": { + "required": [ + "display_name" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "Display name of the alternative image.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.DisplayName.SetSpec schema contains information about the display name of an alternative image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Esx.Settings.Repository.Software.Drafts.AlternativeImages.EffectiveComponents.FilterSpec": { + "type": "object", + "properties": { + "with_removed_components": { + "type": "boolean", + "description": "Whether include removed components in the result.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` removed components are not included." + } + }, + "description": "The Esx.Settings.Repository.Software.Drafts.AlternativeImages.EffectiveComponents.FilterSpec schema contains the filtering specification for *GET /esx/settings/repository/software/drafts/{draft}/alternative-images/{image}/effective-components* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Oauth2.Constants": { + "type": "object", + "description": "Constants defined in [RFC 6749](https://tools.ietf.org/html/rfc6749#section-5) and [RFC 8693](https://tools.ietf.org/html/rfc8693#section-2.2.1).\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Oauth2.TokenInfo": { + "required": [ + "access_token", + "token_type" + ], + "type": "object", + "properties": { + "access_token": { + "type": "string", + "description": "The access token issued by the authorization server.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "token_type": { + "type": "string", + "description": "A case-insensitive value specifying the method of using the access token issued.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "expires_in": { + "type": "integer", + "description": "The validity lifetime, in seconds, of the token issued by the server.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nmissing or `null` if not applicable for issued token.", + "format": "int64" + }, + "scope": { + "type": "string", + "description": "Scope of the issued access token. The value of the scope parameter is expressed as a list of space- delimited, case-sensitive strings. The strings are defined by the authorization server. If the value contains multiple space-delimited strings, their order does not matter, and each string adds an additional access range to the requested scope.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nmissing or `null` if the scope of the issued security token is identical to the scope requested by the client." + }, + "refresh_token": { + "type": "string", + "description": "The refresh token, which can be used to obtain new access tokens.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nmissing or `null` if not applicable to the specific request." + }, + "issued_token_type": { + "type": "string", + "description": "An identifier which indicates the type of the access token in the *Oauth2.TokenInfo.access_token* property.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nmissing or `null` if not the result of a token-exchange invocation; otherwise, required." + } + }, + "description": "The Oauth2.TokenInfo schema contains data that represents successful access-token response as defined in [RFC 6749](https://tools.ietf.org/html/rfc6749#section-5) and extended in [RFC 8693](https://tools.ietf.org/html/rfc8693#section-2.2.1).\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Oauth2.TokenResult": { + "required": [ + "access_token", + "token_type" + ], + "type": "object", + "properties": { + "access_token": { + "type": "string", + "description": "The access token issued by the authorization server.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "password" + }, + "token_type": { + "type": "string", + "description": "A case-insensitive value specifying the method of using the access token issued.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "expires_in": { + "type": "integer", + "description": "The validity lifetime, in seconds, of the token issued by the server.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nmissing or `null` if not applicable for issued token.", + "format": "int64" + }, + "scope": { + "type": "string", + "description": "Scope of the issued access token. \n\n The value of the scope parameter is expressed as a list of space- delimited, case-sensitive strings. The strings are defined by the authorization server. If the value contains multiple space-delimited strings, their order does not matter, and each string adds an additional access range to the requested scope.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nmissing or `null` if the scope of the issued security token is identical to the scope requested by the client." + }, + "refresh_token": { + "type": "string", + "description": "The refresh token, which can be used to obtain new access tokens.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nmissing or `null` if not applicable to the specific request.", + "format": "password" + }, + "issued_token_type": { + "type": "string", + "description": "An identifier which indicates the type of the access token in the *Oauth2.TokenResult.access_token* property.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nmissing or `null` if not the result of a token-exchange invocation; otherwise, required." + } + }, + "description": "The Oauth2.TokenResult schema contains data that represents successful access-token response as defined in [RFC 6749](https://tools.ietf.org/html/rfc6749#section-5) and extended in [RFC 8693](https://tools.ietf.org/html/rfc8693#section-2.2.1).\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Oauth2.Errors.Error": { + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "type": "string", + "description": "Discriminator field to help API consumers identify the structure type.\n\nPossible values:\n - `invalid_request`: Discriminator for the *Oauth2.Errors.InvalidRequest* type.\n - `invalid_scope`: Discriminator for the *Oauth2.Errors.InvalidScope* type.\n - `invalid_grant`: Discriminator for the *Oauth2.Errors.InvalidGrant* type.\n - `invalid_client`: Discriminator for the *Oauth2.Errors.InvalidClient* type.\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `unauthorized_client`: Discriminator for the *Oauth2.Errors.UnauthorizedClient* type.\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `unsupported_grant_type`: Discriminator for the *Oauth2.Errors.UnsupportedGrantType* type.\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `invalid_target`: Discriminator for the *Oauth2.Errors.InvalidTarget* type\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nFor more information see: *Oauth2.Errors.Error.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "error_description": { + "type": "string", + "description": "Human-readable ASCII text providing additional information, used to assist the client developer in understanding the error that occurred. Values for the \"error_description\" parameter MUST NOT include characters outside the set %x20-21 / %x23-5B / %x5D-7E.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nif no additional information is available." + }, + "error_uri": { + "type": "string", + "description": "A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nif no such web-page is available.", + "format": "uri" + } + }, + "description": "The OAuth2 Oauth2.Errors.Error describes the properties common to standard OAuth 2.0 errors.\n\nThis schema was added in __vSphere API 7.0.2.0__.", + "discriminator": { + "propertyName": "error", + "mapping": { + "invalid_client": "#/components/schemas/Oauth2.Errors.InvalidClient", + "invalid_grant": "#/components/schemas/Oauth2.Errors.InvalidGrant", + "invalid_request": "#/components/schemas/Oauth2.Errors.InvalidRequest", + "invalid_scope": "#/components/schemas/Oauth2.Errors.InvalidScope", + "invalid_target": "#/components/schemas/Oauth2.Errors.InvalidTarget", + "unauthorized_client": "#/components/schemas/Oauth2.Errors.UnauthorizedClient", + "unsupported_grant_type": "#/components/schemas/Oauth2.Errors.UnsupportedGrantType" + } + } + }, + "Oauth2.Errors.Error.Type": { + "type": "string", + "description": "Enumeration of OAuth 2.0 errors.\n\nPossible values:\n - `invalid_request`: Discriminator for the *Oauth2.Errors.InvalidRequest* type.\n - `invalid_scope`: Discriminator for the *Oauth2.Errors.InvalidScope* type.\n - `invalid_grant`: Discriminator for the *Oauth2.Errors.InvalidGrant* type.\n - `invalid_client`: Discriminator for the *Oauth2.Errors.InvalidClient* type.\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `unauthorized_client`: Discriminator for the *Oauth2.Errors.UnauthorizedClient* type.\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `unsupported_grant_type`: Discriminator for the *Oauth2.Errors.UnsupportedGrantType* type.\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `invalid_target`: Discriminator for the *Oauth2.Errors.InvalidTarget* type\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "invalid_request", + "invalid_scope", + "invalid_grant", + "invalid_client", + "unauthorized_client", + "unsupported_grant_type", + "invalid_target" + ] + }, + "Oauth2.Errors.InvalidClient": { + "required": [ + "challenge" + ], + "type": "object", + "properties": { + "challenge": { + "type": "string", + "description": "Authentication header as defined in [RFC 9110, Section 11.6.1 - WWW-Authenticate](https://tools.ietf.org/html/rfc9110#name-www-authenticate). The \"WWW-Authenticate\" response header field indicates the authentication scheme(s) and parameters applicable to the target resource.\n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "Indicates that the client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method).\n\nThis schema was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Oauth2.Errors.Error" + } + ] + }, + "Oauth2.Errors.InvalidGrant": { + "type": "object", + "description": "Indicates that the provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.\n\nThis schema was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Oauth2.Errors.Error" + } + ] + }, + "Oauth2.Errors.InvalidRequest": { + "type": "object", + "description": "Indicates that the request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed\n\nThis schema was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Oauth2.Errors.Error" + } + ] + }, + "Oauth2.Errors.InvalidScope": { + "type": "object", + "description": "Indicates that the requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner.\n\nThis schema was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Oauth2.Errors.Error" + } + ] + }, + "Oauth2.Errors.InvalidTarget": { + "type": "object", + "description": "Indicates that the authorization server is unwilling or unable to issue a token for any target service.\n\nThis schema was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Oauth2.Errors.Error" + } + ] + }, + "Oauth2.Errors.UnauthorizedClient": { + "type": "object", + "description": "Indicates that the authenticated client is not authorized to use this authorization grant type.\n\nThis schema was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Oauth2.Errors.Error" + } + ] + }, + "Oauth2.Errors.UnsupportedGrantType": { + "type": "object", + "description": "Indicates that the authorization grant type is not supported by the authorization server.\n\nThis schema was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Oauth2.Errors.Error" + } + ] + }, + "Vapi.Metadata.Authentication.AuthenticationInfo": { + "required": [ + "scheme", + "scheme_type" + ], + "type": "object", + "properties": { + "scheme_type": { + "type": "string", + "description": "The type of the authentication scheme.\n\nPossible values:\n - `SESSIONLESS`: Indicates that the scheme is a session less authentication scheme, the user is authenticated on every operation. There is no explicit session establishment.\n - `SESSION_AWARE`: Indicates that the scheme is a session aware authentication scheme. It requires an explicit login before executing a operation and logout when a session terminates. A resource might choose to have a session aware scheme if it wants to associate some state corresponding to the user until the user logs out or if it wants to mitigate the cost of authenticating the user on every operation.\n\n\nFor more information see: *Vapi.Metadata.Authentication.AuthenticationInfo.SchemeType*." + }, + "session_manager": { + "type": "string", + "description": "In a session aware authentication scheme, a session manager is required that supports `create`, `delete` and `keepAlive` operations. The fully qualified resource name of the session manager is provided in *Vapi.Metadata.Authentication.AuthenticationInfo.session_manager* property. This resource is responsible for handling sessions.\n\nThis property is optional and it is only relevant when the value of scheme_type is *Vapi.Metadata.Authentication.AuthenticationInfo.SchemeType.SESSION_AWARE*." + }, + "scheme": { + "type": "string", + "description": "String identifier of the authentication scheme. \n\n Following are the supported authentication schemes by the infrastructure: \n - The identifier `com.vmware.vapi.std.security.saml_hok_token` for SAML holder of key token based authentication mechanism. \n - The identifier `com.vmware.vapi.std.security.bearer_token` for SAML bearer token based authentication mechanism. \n - The identifier `com.vmware.vapi.std.security.session_id` for session based authentication mechanism. \n - The identifier `com.vmware.vapi.std.security.user_pass` for username and password based authentication mechanism. \n " + } + }, + "description": "The Vapi.Metadata.Authentication.AuthenticationInfo schema describes the authentication information. Authentication information could be specified for a package element, service elenent or an operation element. \n\n Using the authentication scheme information, a client invoking an API call from any resource can figure out what kind of credentials are needed for that API call." + }, + "Vapi.Metadata.Authentication.AuthenticationInfo.SchemeType": { + "type": "string", + "description": "The Vapi.Metadata.Authentication.AuthenticationInfo.SchemeType enumerated type provides enumeration values for the set of valid authentication scheme types.\n\nPossible values:\n - `SESSIONLESS`: Indicates that the scheme is a session less authentication scheme, the user is authenticated on every operation. There is no explicit session establishment.\n - `SESSION_AWARE`: Indicates that the scheme is a session aware authentication scheme. It requires an explicit login before executing a operation and logout when a session terminates. A resource might choose to have a session aware scheme if it wants to associate some state corresponding to the user until the user logs out or if it wants to mitigate the cost of authenticating the user on every operation.\n", + "enum": [ + "SESSIONLESS", + "SESSION_AWARE" + ] + }, + "Vapi.Metadata.Authentication.ComponentData": { + "required": [ + "fingerprint", + "info" + ], + "type": "object", + "properties": { + "info": { + "description": "Authentication information of the component. This includes information about all the namespaces in the component.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.ComponentInfo" + } + ] + }, + "fingerprint": { + "type": "string", + "description": "Fingerprint of the metadata of the component. \n\n Authentication information could change when there is an infrastructure update. Since the data present in *Vapi.Metadata.Authentication.ComponentData.info* could be quite large, fingerprint provides a convenient way to check if the data for a particular component is updated. \n\n You should store the fingerprint associated with a component. After an update, by invoking the *GET /vapi/metadata/authentication/component/{componentId}/fingerprint* operation, you can retrieve the new fingerprint for the component. If the new fingerprint and the previously stored fingerprint do not match, clients can then use the *GET /vapi/metadata/authentication/component/{componentId}* to retrieve the new authentication information for the component." + } + }, + "description": "The Vapi.Metadata.Authentication.ComponentData schema contains the authentication information of the component along with its fingerprint." + }, + "Vapi.Metadata.Authentication.ComponentInfo": { + "required": [ + "packages" + ], + "type": "object", + "properties": { + "packages": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.PackageInfo" + }, + "description": "Authentication information of all the package elements. The key in the map is the identifier of the package element and the value in the map is the authentication information for the package element. \n\n For an explanation of authentication information containment within package elements, see *Vapi.Metadata.Authentication.Package*.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.package`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.package`." + } + }, + "description": "The Vapi.Metadata.Authentication.ComponentInfo schema contains authentication information of a component element. \n\n For an explanation of authentication information contained within component elements, see *Vapi.Metadata.Authentication.Component*." + }, + "Vapi.Metadata.Authentication.OperationInfo": { + "required": [ + "schemes" + ], + "type": "object", + "properties": { + "schemes": { + "type": "array", + "description": "List of authentication schemes used by an operation element. The authentication scheme specified on the service element corresponding to this operation element is ignored.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.AuthenticationInfo" + } + } + }, + "description": "The Vapi.Metadata.Authentication.OperationInfo schema contains authentication information of an operation element." + }, + "Vapi.Metadata.Authentication.PackageInfo": { + "required": [ + "schemes", + "services" + ], + "type": "object", + "properties": { + "schemes": { + "type": "array", + "description": "List of authentication schemes to be used for all the operation elements contained in this package element. If a particular service or operation element has no explicit authentications defined in the authentication defintion file, these authentication schemes are used for authenticating the user.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.AuthenticationInfo" + } + }, + "services": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.ServiceInfo" + }, + "description": "Information about all service elements contained in this package element that contain authentication information. The key in the map is the identifier of the service element and the value in the map is the authentication information for the service element. \n\n For an explanation of authentication information containment within service elements, see *Vapi.Metadata.Authentication.Service*.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.service`." + } + }, + "description": "The Vapi.Metadata.Authentication.PackageInfo schema contains authentication information of a package element. \n\n For an explanation of authentication information contained within package elements, see *Vapi.Metadata.Authentication.Package*." + }, + "Vapi.Metadata.Authentication.ServiceInfo": { + "required": [ + "operations", + "schemes" + ], + "type": "object", + "properties": { + "schemes": { + "type": "array", + "description": "List of authentication schemes to be used for all the operation elements contained in this service element. The authentication scheme specified on the package element corresponding to this service element is ignored.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.AuthenticationInfo" + } + }, + "operations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Authentication.OperationInfo" + }, + "description": "Information about all operation elements contained in this service element that contain authentication information. The key in the map is the identifier of the operation element and the value in the map is the authentication information for the operation element. \n\n For an explanation of containment of authentication information within operation elements, see *Vapi.Metadata.Authentication.Service.Operation*.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.operation`." + } + }, + "description": "The Vapi.Metadata.Authentication.ServiceInfo schema contains authentication information of a service element. \n\n For an explanation of authentication information contained within service elements, see *Vapi.Metadata.Authentication.Service*." + }, + "Vapi.Metadata.Cli.Command.FormatterType": { + "type": "string", + "description": "The Vapi.Metadata.Cli.Command.FormatterType enumerated type defines supported CLI output formatter types. See *Vapi.Metadata.Cli.Command.Info.formatter*.\n\nPossible values:\n - `SIMPLE`: Displays command output as it is.\n - `TABLE`: Displays command output in table format.\n - `JSON`: Displays command output in JSON format.\n - `XML`: Displays command output in XML format.\n - `CSV`: Displays command output in CSV format.\n - `HTML`: Displays command output in HTML format.\n", + "enum": [ + "SIMPLE", + "TABLE", + "JSON", + "XML", + "CSV", + "HTML" + ] + }, + "Vapi.Metadata.Cli.Command.GenericType": { + "type": "string", + "description": "The Vapi.Metadata.Cli.Command.GenericType enumerated type defines generic types supported by Vapi.Metadata.Cli.Command resource. See *Vapi.Metadata.Cli.Command.OptionInfo.generic*.\n\nPossible values:\n - `NONE`: Default case.\n - `OPTIONAL`: Input parameter is an optional.\n - `LIST`: Input parameter is a list.\n - `OPTIONAL_LIST`: Input parameter is an optional of type list.\n\nThis constant was added in __vSphere API 6.5__.\n - `LIST_OPTIONAL`: Input parameter is a list of optionals.\n\nThis constant was added in __vSphere API 6.5__.\n", + "enum": [ + "NONE", + "OPTIONAL", + "LIST", + "OPTIONAL_LIST", + "LIST_OPTIONAL" + ] + }, + "Vapi.Metadata.Cli.Command.OutputFieldInfo": { + "required": [ + "display_name", + "field_name" + ], + "type": "object", + "properties": { + "field_name": { + "type": "string", + "description": "Name of the property." + }, + "display_name": { + "type": "string", + "description": "Name used by the CLI to display the property." + } + }, + "description": "The Vapi.Metadata.Cli.Command.OutputFieldInfo schema describes the name used by the CLI to display a single property of a schema element in the interface definition language." + }, + "Vapi.Metadata.Cli.Command.OutputInfo": { + "required": [ + "output_fields", + "structure_id" + ], + "type": "object", + "properties": { + "structure_id": { + "type": "string", + "description": "Name of the schema.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.structure`." + }, + "output_fields": { + "type": "array", + "description": "The order in which the properties of the schema will be displayed by the CLI as well as the names used to display the properties.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Command.OutputFieldInfo" + } + } + }, + "description": "The Vapi.Metadata.Cli.Command.OutputInfo schema describes the names used by the CLI to display the properties of a schema element in the interface definition language as well as the order in which the properties will be displayed." + }, + "Vapi.Metadata.Cli.Command.OptionInfo": { + "required": [ + "description", + "field_name", + "generic", + "long_option", + "type" + ], + "type": "object", + "properties": { + "long_option": { + "type": "string", + "description": "The long option name of the parameter as used by the user." + }, + "short_option": { + "type": "string", + "description": "The single character value option name.\n\nIf not present, there's no single character option for the parameter." + }, + "field_name": { + "type": "string", + "description": "The fully qualified name of the option referred to by the operation element in *Vapi.Metadata.Cli.Command.Info.operation_id*." + }, + "description": { + "type": "string", + "description": "The description of the option to be displayed to the user when they request usage information for a CLI command." + }, + "type": { + "type": "string", + "description": "The type of option. This is used to display information about what kind of data is expected (string, number, boolean, etc.) for the option when they request usage information for a CLI command. For enumerated type this stores the fully qualified enumerated type id." + }, + "generic": { + "type": "string", + "description": "This is used to tell the user whether the option is required or optional, or whether they can specify the option multiple times.\n\nPossible values:\n - `NONE`: Default case.\n - `OPTIONAL`: Input parameter is an optional.\n - `LIST`: Input parameter is a list.\n - `OPTIONAL_LIST`: Input parameter is an optional of type list.\n\nThis constant was added in __vSphere API 6.5__.\n - `LIST_OPTIONAL`: Input parameter is a list of optionals.\n\nThis constant was added in __vSphere API 6.5__.\n\n\nFor more information see: *Vapi.Metadata.Cli.Command.GenericType*." + } + }, + "description": "The Vapi.Metadata.Cli.Command.OptionInfo schema describes information about a specific input option of a command." + }, + "Vapi.Metadata.Cli.Command.Identity": { + "required": [ + "name", + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The dot-separated path of the namespace containing the command in the CLI command tree." + }, + "name": { + "type": "string", + "description": "Name of the command." + } + }, + "description": "The Vapi.Metadata.Cli.Command.Identity schema uniquely identifies a command in the CLI commands tree." + }, + "Vapi.Metadata.Cli.Command.Info": { + "required": [ + "description", + "identity", + "operation_id", + "options", + "output_field_list", + "service_id" + ], + "type": "object", + "properties": { + "identity": { + "description": "Basic command identity.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Command.Identity" + } + ] + }, + "description": { + "type": "string", + "description": "The text description displayed to the user in help output." + }, + "service_id": { + "type": "string", + "description": "The service identifier that contains the operations for this CLI command.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation_id": { + "type": "string", + "description": "The operation identifier corresponding to this CLI command.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "options": { + "type": "array", + "description": "The input for this command.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Command.OptionInfo" + } + }, + "formatter": { + "type": "string", + "description": "The formatter to use when displaying the output of this command.\n\nPossible values:\n - `SIMPLE`: Displays command output as it is.\n - `TABLE`: Displays command output in table format.\n - `JSON`: Displays command output in JSON format.\n - `XML`: Displays command output in XML format.\n - `CSV`: Displays command output in CSV format.\n - `HTML`: Displays command output in HTML format.\n\n\nFor more information see: *Vapi.Metadata.Cli.Command.FormatterType*.\n\nIf not present, client can choose a default output formatter." + }, + "output_field_list": { + "type": "array", + "description": "List of output structure name and output field info.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Command.OutputInfo" + } + } + }, + "description": "The Vapi.Metadata.Cli.Command.Info schema contains information about a command. It includes the identity of the command, a description, information about the resource and operation that implement the command, and CLI-specific information for the command." + }, + "Vapi.Metadata.Cli.Namespace.Identity": { + "required": [ + "name", + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The dot-separated path of the namespace containing the namespace in the CLI node tree. For top-level namespace this will be empty." + }, + "name": { + "type": "string", + "description": "The name displayed to the user for this namespace." + } + }, + "description": "The Vapi.Metadata.Cli.Namespace.Identity schema uniquely identifies a namespace in the CLI namespace tree." + }, + "Vapi.Metadata.Cli.Namespace.Info": { + "required": [ + "children", + "description", + "identity" + ], + "type": "object", + "properties": { + "identity": { + "description": "Basic namespace identity.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Namespace.Identity" + } + ] + }, + "description": { + "type": "string", + "description": "The text description displayed to the user in help output." + }, + "children": { + "type": "array", + "description": "The children of this namespace in the tree of CLI namespaces.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Cli.Namespace.Identity" + } + } + }, + "description": "The Vapi.Metadata.Cli.Namespace.Info schema contains information about a namespace. It includes the identity of the namespace, a description, information children namespaces." + }, + "Vapi.Metadata.Metamodel.ComponentData": { + "required": [ + "fingerprint", + "info" + ], + "type": "object", + "properties": { + "info": { + "description": "Metamodel information of the component element. This includes information about all the package elements contained in this component element. \n\n The metamodel information about a component could be quite large if there are a lot of package elements contained in this component.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ComponentInfo" + } + ] + }, + "fingerprint": { + "type": "string", + "description": "Fingerprint of the metamodel metadata of the component component. \n\n Metamodel information could change when there is an infrastructure update and new functionality is added to an existing component. \n\n Since the data present in *Vapi.Metadata.Metamodel.ComponentData.info* could be quite large, fingerprint provides a convenient way to check if the data for a particular component is updated. \n\n You should store the fingerprint associated with a component. After an update, by invoking the *GET /vapi/metadata/metamodel/component/{componentId}/fingerprint* operation, you can retrieve the new fingerprint for the component. If the new fingerprint and the previously stored fingerprint do not match, clients can use the *GET /vapi/metadata/metamodel/component/{componentId}* to retrieve the new metamodel information for the component." + } + }, + "description": "The Vapi.Metadata.Metamodel.ComponentData schema contains the metamodel metadata information of a component element along with its fingerprint." + }, + "Vapi.Metadata.Metamodel.ComponentInfo": { + "required": [ + "documentation", + "metadata", + "name", + "packages" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Dot separated name of the component element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention." + }, + "packages": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.PackageInfo" + }, + "description": "Metamodel metadata information of all the package elements contained in the component element. The key in the map is the identifier of the package element and the value in the map is the metamodel information of the package element.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.package`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.package`." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Generic metadata for the component element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for keys in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for a component. It can contain HTML markup and documentation tags (similar to Javadoc tags). The first sentence of the package documentation is a complete sentence that identifies the component by name and summarizes the purpose of the component." + } + }, + "description": "The Vapi.Metadata.Metamodel.ComponentInfo schema contains metamodel metadata information about a component element." + }, + "Vapi.Metadata.Metamodel.ConstantInfo": { + "required": [ + "documentation", + "type", + "value" + ], + "type": "object", + "properties": { + "type": { + "description": "Type of the constant element.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.Type" + } + ] + }, + "value": { + "description": "Value of the constant element.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ConstantValue" + } + ] + }, + "documentation": { + "type": "string", + "description": "English language documentation for the constant element. It can contain HTML markup and documentation tags (similar to Javadoc tags)." + } + }, + "description": "The Vapi.Metadata.Metamodel.ConstantInfo schema contains metamodel information of the constant elements." + }, + "Vapi.Metadata.Metamodel.ConstantValue": { + "required": [ + "category" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Category of the type of constant value.\n\nPossible values:\n - `PRIMITIVE`: Indicates the type of constant value is primitive.\n - `LIST`: Indicates the type of constant value is a list.\n\n\nFor more information see: *Vapi.Metadata.Metamodel.ConstantValue.Category*." + }, + "primitive_value": { + "description": "Primitive value of the constant element.\n\nThis property is optional and it is only relevant when the value of category is *Vapi.Metadata.Metamodel.ConstantValue.Category.PRIMITIVE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.PrimitiveValue" + } + ] + }, + "list_value": { + "type": "array", + "description": "List value of the constant element.\n\nThis property is optional and it is only relevant when the value of category is *Vapi.Metadata.Metamodel.ConstantValue.Category.LIST*.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.PrimitiveValue" + } + } + }, + "description": "The Vapi.Metadata.Metamodel.ConstantValue schema contains the metamodel information of the constant element." + }, + "Vapi.Metadata.Metamodel.ConstantValue.Category": { + "type": "string", + "description": "The Vapi.Metadata.Metamodel.ConstantValue.Category enumerated type defines enumeration values for the valid kinds of values.\n\nPossible values:\n - `PRIMITIVE`: Indicates the type of constant value is primitive.\n - `LIST`: Indicates the type of constant value is a list.\n", + "enum": [ + "PRIMITIVE", + "LIST" + ] + }, + "Vapi.Metadata.Metamodel.ElementMap": { + "required": [ + "elements" + ], + "type": "object", + "properties": { + "elements": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementValue" + }, + "description": "Metamodel information of the metadata elements. The key parameter of the map is the identifier for the element and the value corresponds to the element value." + } + }, + "description": "The Vapi.Metadata.Metamodel.ElementMap schema contains the metadata elements. \n\n One of the sources for metadata is the annotations present in the interface definition language. When an annotation is represented in the Vapi.Metadata.Metamodel.ElementMap, Vapi.Metadata.Metamodel.ElementMap describes the data specified in the arguments for the annotation. \n\n For example, in `@UnionCase(tag=\"tag\", value=\"SELECT\")`, ElementMap describes the keyword arguments tag and value." + }, + "Vapi.Metadata.Metamodel.ElementValue": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the value.\n\nPossible values:\n - `LONG`: Indicates the type of the value is a long (64 bit signed integer).\n - `STRING`: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8.\n - `STRING_LIST`: Indicates the type of the value is a list of strings.\n - `STRUCTURE_REFERENCE`: Indicates the type of the value is an identifier for a structure element.\n - `STRUCTURE_REFERENCE_LIST`: Indicates the type of the value is a list of identifiers for a structure element.\n\n\nFor more information see: *Vapi.Metadata.Metamodel.ElementValue.Type*." + }, + "long_value": { + "type": "integer", + "description": "Long value of the metadata element.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.ElementValue.Type.LONG*.", + "format": "int64" + }, + "string_value": { + "type": "string", + "description": "String value of the metadata element.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.ElementValue.Type.STRING*." + }, + "list_value": { + "type": "array", + "description": "List of strings value of the metadata element.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.ElementValue.Type.STRING_LIST*.", + "items": { + "type": "string" + } + }, + "structure_id": { + "type": "string", + "description": "Identifier of the structure element.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.ElementValue.Type.STRUCTURE_REFERENCE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.structure`." + }, + "structure_ids": { + "type": "array", + "description": "List of identifiers of the structure elements.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.ElementValue.Type.STRUCTURE_REFERENCE_LIST*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vapi.structure`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vapi.Metadata.Metamodel.ElementValue schema describes the value of the metadata element." + }, + "Vapi.Metadata.Metamodel.ElementValue.Type": { + "type": "string", + "description": "The Vapi.Metadata.Metamodel.ElementValue.Type enumerated type defines the valid types for values in metadata elements.\n\nPossible values:\n - `LONG`: Indicates the type of the value is a long (64 bit signed integer).\n - `STRING`: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8.\n - `STRING_LIST`: Indicates the type of the value is a list of strings.\n - `STRUCTURE_REFERENCE`: Indicates the type of the value is an identifier for a structure element.\n - `STRUCTURE_REFERENCE_LIST`: Indicates the type of the value is a list of identifiers for a structure element.\n", + "enum": [ + "LONG", + "STRING", + "STRING_LIST", + "STRUCTURE_REFERENCE", + "STRUCTURE_REFERENCE_LIST" + ] + }, + "Vapi.Metadata.Metamodel.EnumerationInfo": { + "required": [ + "documentation", + "metadata", + "name", + "values" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Dot separated name of the enumeration element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention." + }, + "values": { + "type": "array", + "description": "Metamodel information of all the enumeration value elements contained in this enumeration element. The order of the enumeration value elements in the list is same as the order in which they are defined in the interface definition file.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.EnumerationValueInfo" + } + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Generic metadata elements for an enumeration element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for keys in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for an enumeration element. It can contain HTML markup and Javadoc tags. The first sentence of the enumeration documentation is a complete sentence that identifies the enumeration by name and summarizes the purpose of the enumeration. The documentation describes the context in which the enumeration is used. \n\n The documentation also contains references to the context in which the enumeration is used. But if the enumeration is used in many contexts, the references may not be present." + } + }, + "description": "The Vapi.Metadata.Metamodel.EnumerationInfo schema contains the metamodel information of an enumeration element." + }, + "Vapi.Metadata.Metamodel.EnumerationValueInfo": { + "required": [ + "documentation", + "metadata", + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Value in the enumerated type. All the characters in the string are capitalized." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Additional metadata for enumeration value in the enumerated type. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for keys in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for an enumeration value. It can contain HTML markup and documentation tags (similar to Javadoc tags). The first statement will be a noun or verb phrase that describes the purpose of the enumeration value." + } + }, + "description": "The Vapi.Metadata.Metamodel.EnumerationValueInfo schema describes the enumeration value in the enumerated type." + }, + "Vapi.Metadata.Metamodel.ErrorInfo": { + "required": [ + "documentation", + "structure_id" + ], + "type": "object", + "properties": { + "structure_id": { + "type": "string", + "description": "Identifier for the structure element corresponding to the error that is being reported by the operation.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.structure`." + }, + "documentation": { + "type": "string", + "description": "The English language documentation for the error element. It can contain HTML markup and Javadoc tags." + } + }, + "description": "The Vapi.Metadata.Metamodel.ErrorInfo schema contains the metadata information about the error elements contained in an operation element." + }, + "Vapi.Metadata.Metamodel.FieldInfo": { + "required": [ + "documentation", + "metadata", + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the field element in a canonical format. The format is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention." + }, + "type": { + "description": "Type information.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.Type" + } + ] + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Generic metadata elements for the field element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for keys in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for the field element. It can contain HTML markup and Javadoc tags." + } + }, + "description": "The Vapi.Metadata.Metamodel.FieldInfo schema contains metamodel information of a field element contained in a structure element." + }, + "Vapi.Metadata.Metamodel.GenericInstantiation": { + "required": [ + "generic_type" + ], + "type": "object", + "properties": { + "generic_type": { + "type": "string", + "description": "The generic type that is being instantiated.\n\nPossible values:\n - `LIST`: Indicates the generic type is a list.\n - `MAP`: Indicates the generic type is a map.\n - `OPTIONAL`: Indicates the generic type is an optional.\n - `SET`: Indicates the generic type is a set.\n\n\nFor more information see: *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType*." + }, + "element_type": { + "description": "Type of the element parameter if the generic type instantiation is a *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType.LIST*, *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType.OPTIONAL* or *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType.SET*.\n\nThis property is optional and it is only relevant when the value of generic_type is one of *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType.LIST*, *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType.OPTIONAL*, or *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType.SET*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.Type" + } + ] + }, + "map_key_type": { + "description": "Type of the key parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the value parameter is described by *Vapi.Metadata.Metamodel.GenericInstantiation.map_value_type*..\n\nThis property is optional and it is only relevant when the value of generic_type is *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType.MAP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.Type" + } + ] + }, + "map_value_type": { + "description": "Type of the value parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the key parameter is described by *Vapi.Metadata.Metamodel.GenericInstantiation.map_key_type*..\n\nThis property is optional and it is only relevant when the value of generic_type is *Vapi.Metadata.Metamodel.GenericInstantiation.GenericType.MAP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.Type" + } + ] + } + }, + "description": "The Vapi.Metadata.Metamodel.GenericInstantiation schema describes the type information of a typed element when the type is an instantiation of one of the generic types provided by the infrastructure." + }, + "Vapi.Metadata.Metamodel.GenericInstantiation.GenericType": { + "type": "string", + "description": "The Vapi.Metadata.Metamodel.GenericInstantiation.GenericType enumerated type provides enumeration values for each of the generic types provided by the infrastructure.\n\nPossible values:\n - `LIST`: Indicates the generic type is a list.\n - `MAP`: Indicates the generic type is a map.\n - `OPTIONAL`: Indicates the generic type is an optional.\n - `SET`: Indicates the generic type is a set.\n", + "enum": [ + "LIST", + "MAP", + "OPTIONAL", + "SET" + ] + }, + "Vapi.Metadata.Metamodel.OperationInfo": { + "required": [ + "documentation", + "errors", + "metadata", + "name", + "output", + "params" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation element in a canonical format. The format is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention." + }, + "params": { + "type": "array", + "description": "Metamodel information for the parameter elements. The order of the parameters elements in the list is same as the order of the parameters declared in the interface definition file.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.FieldInfo" + } + }, + "output": { + "description": "Metamodel type for the output element.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.OperationResultInfo" + } + ] + }, + "errors": { + "type": "array", + "description": "List of error elements that might be reported by the operation element. If the operation reports the same error for more than one reason, the list contains the error element associated with the error more than once with different documentation elements.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ErrorInfo" + } + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Generic metadata elements for the operation element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for key in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for the operation element. It can contain HTML markup and Javadoc tags." + } + }, + "description": "The Vapi.Metadata.Metamodel.OperationInfo schema contains metamodel information of an operation element." + }, + "Vapi.Metadata.Metamodel.OperationResultInfo": { + "required": [ + "documentation", + "metadata", + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "Type information of the operation result element.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.Type" + } + ] + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Generic metadata elements for the service element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for keys in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for the operation result element. It can contain HTML markup and Javadoc tags." + } + }, + "description": "The Vapi.Metadata.Metamodel.OperationResultInfo schema contains the metamodel information of an operation result element. \n\n An operation accepts a list of parameters and returns a result or an error. The Vapi.Metadata.Metamodel.OperationResultInfo describes the result element of an operation." + }, + "Vapi.Metadata.Metamodel.PackageInfo": { + "required": [ + "documentation", + "enumerations", + "metadata", + "name", + "services", + "structures" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Dot separated name of the package element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention." + }, + "structures": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.StructureInfo" + }, + "description": "Metamodel information of all the structure elements contained in the package element. The key in the map is the identifier of the structure element and the value in the map is the metamodel information for the structure element. \n\n This does not include the structure elements contained in the service elements that are contained in this package element.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.structure`." + }, + "enumerations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.EnumerationInfo" + }, + "description": "Metamodel information of all the enumeration elements contained in the package element. The key in the map is the identifier of the enumeration element and the value in the map is the metamodel information for the enumeration element. \n\n This does not include the enumeration elements that are contained in the service elements of this package element or structure elements of this package element.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.enumeration`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.enumeration`." + }, + "services": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ServiceInfo" + }, + "description": "Metamodel information of all the service elements contained in the package element. The key in the map is the identifier of the service element and the value in the map is the metamodel information for the service element.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Generic metadata elements for the package element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for keys in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for a package. It can contain HTML markup and Javadoc tags. The first sentence of the package documentation is a complete sentence that identifies the package by name and summarizes the purpose of the package. \n\n The primary purpose of a package documentation is to provide high-level context that will provide a framework in which the users can put the detail about the package contents." + } + }, + "description": "The Vapi.Metadata.Metamodel.PackageInfo schema contains the metamodel information of all the service elements, structure elements and enumeration elements contained in the package element." + }, + "Vapi.Metadata.Metamodel.PrimitiveValue": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the constant value.\n\nPossible values:\n - `BOOLEAN`: Indicates the value is a boolean (true or false).\n - `DOUBLE`: Indicates the value is a double (64 bit floating number).\n - `LONG`: Indicates the value is a long (64 bit signed integer).\n - `STRING`: Indicates the value is a string (a variable length sequence of characters). The encoding is UTF8.\n\n\nFor more information see: *Vapi.Metadata.Metamodel.PrimitiveValue.Type*." + }, + "boolean_value": { + "type": "boolean", + "description": "Boolean value of the constant.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.PrimitiveValue.Type.BOOLEAN*." + }, + "double_value": { + "type": "number", + "description": "Double value of the constant.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.PrimitiveValue.Type.DOUBLE*.", + "format": "double" + }, + "long_value": { + "type": "integer", + "description": "Long value of the constant.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.PrimitiveValue.Type.LONG*.", + "format": "int64" + }, + "string_value": { + "type": "string", + "description": "String value of the constant.\n\nThis property is optional and it is only relevant when the value of type is *Vapi.Metadata.Metamodel.PrimitiveValue.Type.STRING*." + } + }, + "description": "The Vapi.Metadata.Metamodel.PrimitiveValue schema contains value of the constant element." + }, + "Vapi.Metadata.Metamodel.PrimitiveValue.Type": { + "type": "string", + "description": "The Vapi.Metadata.Metamodel.PrimitiveValue.Type enumerated type defines the valid types for values in constant elements.\n\nPossible values:\n - `BOOLEAN`: Indicates the value is a boolean (true or false).\n - `DOUBLE`: Indicates the value is a double (64 bit floating number).\n - `LONG`: Indicates the value is a long (64 bit signed integer).\n - `STRING`: Indicates the value is a string (a variable length sequence of characters). The encoding is UTF8.\n", + "enum": [ + "BOOLEAN", + "DOUBLE", + "LONG", + "STRING" + ] + }, + "Vapi.Metadata.Metamodel.ServiceInfo": { + "required": [ + "constants", + "documentation", + "enumerations", + "metadata", + "name", + "operations", + "structures" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Dot separated name of the service element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention." + }, + "operations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.OperationInfo" + }, + "description": "Metamodel information of all the operation elements contained in the service element. The key in the map is the identifier of the operation element and the value in the map is the metamodel information for the operation element.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "structures": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.StructureInfo" + }, + "description": "Metamodel information of all the structure elements contained in the service element. The key in the map is the identifier of the structure element and the value in the map is the metamodel information for the structure element.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.structure`." + }, + "enumerations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.EnumerationInfo" + }, + "description": "Metamodel information of all the enumeration elements contained in the service element. The key in the map is the identifier of the enumeration element and the value in the map is the metamodel information for the enumeration element.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.enumeration`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.enumeration`." + }, + "constants": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ConstantInfo" + }, + "description": "Metamodel information of all the constant elements contained in the service element. The key in the map is the name of the constant element and the value in the map is the metamodel information for the contant element." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Generic metadata elements for the service element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for keys in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for the service element. It can contain HTML markup and Javadoc tags. The first sentence of the service documentation is a complete sentence that identifies the service by name and summarizes the purpose of the service. The remaining part of the documentation provides a summary of how to use the operations defined in the service." + } + }, + "description": "The Vapi.Metadata.Metamodel.ServiceInfo schema contains the metamodel information of all the operation elements, structure elements and enumeration elements containted in a service element." + }, + "Vapi.Metadata.Metamodel.StructureInfo": { + "required": [ + "constants", + "documentation", + "enumerations", + "fields", + "metadata", + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Dot separated name of the structure element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention." + }, + "type": { + "type": "string", + "description": "Type of the structure.\n\nPossible values:\n - `STRUCTURE`: If the type is a structure element.\n - `ERROR`: If the type is an error element.\n\n\nFor more information see: *Vapi.Metadata.Metamodel.StructureInfo.Type*." + }, + "enumerations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.EnumerationInfo" + }, + "description": "Metamodel information of all the enumeration elements contained in the structure element. The key in the map is the identifier of the enumeration element and the value is the metamodel information of the enumeration element.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.enumeration`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.enumeration`." + }, + "constants": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ConstantInfo" + }, + "description": "Metamodel information of all the constant elements contained in the structure element. The key in the map is the name of the constant element and the value in the map is the metamodel information for the constant element." + }, + "fields": { + "type": "array", + "description": "Metamodel information of all the field elements. The order of the field elements in the list matches the order in which the fields are defined in the service.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.FieldInfo" + } + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.ElementMap" + }, + "description": "Generic metadata elements for the structure element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. \n\n The *Vapi.Metadata.Metamodel.MetadataIdentifier* contains possible string values for keys in the map." + }, + "documentation": { + "type": "string", + "description": "English language documentation for a structure element. It can contain HTML markup and Javadoc tags. The first sentence of the structure documentation is a complete sentence that identifies the structure by name and summarizes the purpose of the structure." + } + }, + "description": "The Vapi.Metadata.Metamodel.StructureInfo schema contains the metamodel information of all the field elements, constant elements and enumeration elements contained in the structure element. \n\n In the interface definition language, API designers have the ability to include all the fields from one structure to another structure. This is done by using an annotation `@Include` on the structure in which we want to add the fields. If this annotation is present, the list of fields in the Vapi.Metadata.Metamodel.StructureInfo will also contain the fields that are being included. The annotation information is also retained in the *Vapi.Metadata.Metamodel.StructureInfo.metadata* element as well." + }, + "Vapi.Metadata.Metamodel.StructureInfo.Type": { + "type": "string", + "description": "The Vapi.Metadata.Metamodel.StructureInfo.Type enumerated type defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the errors of an operation element.\n\nPossible values:\n - `STRUCTURE`: If the type is a structure element.\n - `ERROR`: If the type is an error element.\n", + "enum": [ + "STRUCTURE", + "ERROR" + ] + }, + "Vapi.Metadata.Metamodel.Type": { + "required": [ + "category" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Category of this type.\n\nPossible values:\n - `BUILTIN`: The type is one of the built-in types specified in *Vapi.Metadata.Metamodel.Type.BuiltinType*\n - `USER_DEFINED`: The type is one of the user defined named types.\n - `GENERIC`: The type is an instantiation of one of the generic types.\n\n\nFor more information see: *Vapi.Metadata.Metamodel.Type.Category*." + }, + "builtin_type": { + "type": "string", + "description": "Category of the built-in type.\n\nPossible values:\n - `VOID`: The built-in type is a void. The value is missing or `null`.\n - `BOOLEAN`: The built-in type is a boolean. The value is true or false.\n - `LONG`: The built-in type is a long. The value is a 64 bit signed integer.\n - `DOUBLE`: The built-in type is a double. The value is a 64 bit floating point number.\n - `STRING`: The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.\n - `BINARY`: The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.\n - `SECRET`: The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.\n - `DATE_TIME`: The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.\n - `ID`: The built-in type is an ID. The value represents an identifier for a resource.\n - `URI`: The built-in type is an URI. The value follows the IRI specification in RFC 3987.\n - `ANY_ERROR`: The built-in type is an arbitrary error type. This is used if the value of a typed element can be one of any user defined named type which is an error.\n - `DYNAMIC_STRUCTURE`: The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.\n - `OPAQUE`: The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure resources.\n\n\nFor more information see: *Vapi.Metadata.Metamodel.Type.BuiltinType*.\n\nThis property is optional and it is only relevant when the value of category is *Vapi.Metadata.Metamodel.Type.Category.BUILTIN*." + }, + "user_defined_type": { + "description": "Identifier and type of the user defined type.\n\nThis property is optional and it is only relevant when the value of category is *Vapi.Metadata.Metamodel.Type.Category.USER_DEFINED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.UserDefinedType" + } + ] + }, + "generic_instantiation": { + "description": "Instantiation of one of the generic types available in the interface definition language.\n\nThis property is optional and it is only relevant when the value of category is *Vapi.Metadata.Metamodel.Type.Category.GENERIC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Metamodel.GenericInstantiation" + } + ] + } + }, + "description": "The Vapi.Metadata.Metamodel.Type schema describes the type information of a typed element in the interface definiton language. The following elements in the metamodel are typed: \n - Field element in a structure element. See *Vapi.Metadata.Metamodel.StructureInfo.fields* \n - Parameter element in an operation element. See *Vapi.Metadata.Metamodel.OperationInfo.params* \n - Result element in an operation element. See *Vapi.Metadata.Metamodel.OperationInfo.output* \n The type could be one of the three following categories: \n - Built-in types: These are types present in the interface definition language type system. They are provided by the infrastructure. \n - User defined named type: API designers can create custom types and use them for the typed elements. These types have a unique identifier.\n - Generic type instantiation: The language infrastructure also provides generic types such as list, map, set and so on. An instantiation of one of these generic types could also be used for the typed elements.\n " + }, + "Vapi.Metadata.Metamodel.Type.Category": { + "type": "string", + "description": "The Vapi.Metadata.Metamodel.Type.Category enumerated type provides enumeration value for each category of the type.\n\nPossible values:\n - `BUILTIN`: The type is one of the built-in types specified in *Vapi.Metadata.Metamodel.Type.BuiltinType*\n - `USER_DEFINED`: The type is one of the user defined named types.\n - `GENERIC`: The type is an instantiation of one of the generic types.\n", + "enum": [ + "BUILTIN", + "USER_DEFINED", + "GENERIC" + ] + }, + "Vapi.Metadata.Metamodel.Type.BuiltinType": { + "type": "string", + "description": "The Vapi.Metadata.Metamodel.Type.BuiltinType enumerated type provides enumeration value for each of the built-in types present in the interface definition language type system.\n\nPossible values:\n - `VOID`: The built-in type is a void. The value is missing or `null`.\n - `BOOLEAN`: The built-in type is a boolean. The value is true or false.\n - `LONG`: The built-in type is a long. The value is a 64 bit signed integer.\n - `DOUBLE`: The built-in type is a double. The value is a 64 bit floating point number.\n - `STRING`: The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.\n - `BINARY`: The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.\n - `SECRET`: The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.\n - `DATE_TIME`: The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.\n - `ID`: The built-in type is an ID. The value represents an identifier for a resource.\n - `URI`: The built-in type is an URI. The value follows the IRI specification in RFC 3987.\n - `ANY_ERROR`: The built-in type is an arbitrary error type. This is used if the value of a typed element can be one of any user defined named type which is an error.\n - `DYNAMIC_STRUCTURE`: The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.\n - `OPAQUE`: The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure resources.\n", + "enum": [ + "VOID", + "BOOLEAN", + "LONG", + "DOUBLE", + "STRING", + "BINARY", + "SECRET", + "DATE_TIME", + "ID", + "URI", + "ANY_ERROR", + "DYNAMIC_STRUCTURE", + "OPAQUE" + ] + }, + "Vapi.Metadata.Metamodel.UserDefinedType": { + "required": [ + "resource_id", + "resource_type" + ], + "type": "object", + "properties": { + "resource_type": { + "type": "string", + "description": "Category of the user defined named type. The named type could be a structure element or an enumeration element.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`. When operations return a value of this schema as a response, the property will be one of `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`." + }, + "resource_id": { + "type": "string", + "description": "Identifier of the user defined named type.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for one of these resource types: `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`. When operations return a value of this schema as a response, the property will be an identifier for one of these resource types: `com.vmware.vapi.structure` or `com.vmware.vapi.enumeration`." + } + }, + "description": "The Vapi.Metadata.Metamodel.UserDefinedType schema contains the metamodel type information of a typed element whose type is a user defined named type." + }, + "Vapi.Metadata.Privilege.ComponentData": { + "required": [ + "fingerprint", + "info" + ], + "type": "object", + "properties": { + "info": { + "description": "Privilege information of the component. This includes information about all the namespaces in the component.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.ComponentInfo" + } + ] + }, + "fingerprint": { + "type": "string", + "description": "Fingerprint of the metadata of the component. \n\n Privilege information could change when there is an infrastructure update. Since the data present in *Vapi.Metadata.Privilege.ComponentData.info* could be quite large, fingerprint provides a convenient way to check if the data for a particular component is updated. \n\n You should store the fingerprint associated with a component. After an update, by invoking the *GET /vapi/metadata/privilege/component/{componentId}/fingerprint* operation, you can retrieve the new fingerprint for the component. If the new fingerprint and the previously stored fingerprint do not match, clients can then use the *GET /vapi/metadata/privilege/component/{componentId}* to retrieve the new privilege information for the component." + } + }, + "description": "The Vapi.Metadata.Privilege.ComponentData schema contains the privilege information of the component along with its fingerprint." + }, + "Vapi.Metadata.Privilege.ComponentInfo": { + "required": [ + "packages" + ], + "type": "object", + "properties": { + "packages": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.PackageInfo" + }, + "description": "Privilege information of all the package elements. The key in the map is the identifier of the package element and the value in the map is the privilege information for the package element. \n\n For an explanation of privilege information containment within package elements, see *Vapi.Metadata.Privilege.Package*.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.package`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.package`." + } + }, + "description": "The Vapi.Metadata.Privilege.ComponentInfo schema contains the privilege information of a component element. \n\n For an explanation of privilege information contained within component elements, see *Vapi.Metadata.Privilege.Component*." + }, + "Vapi.Metadata.Privilege.OperationInfo": { + "required": [ + "privilege_info", + "privileges" + ], + "type": "object", + "properties": { + "privileges": { + "type": "array", + "description": "List of all privileges assigned to the operation element.", + "items": { + "type": "string" + } + }, + "privilege_info": { + "type": "array", + "description": "Privilege information of all the parameter elements of the operation element. \n\n For an explanation of containment of privilege information within parameter elements, see *Vapi.Metadata.Privilege.PrivilegeInfo*.", + "items": { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.PrivilegeInfo" + } + } + }, + "description": "The Vapi.Metadata.Privilege.OperationInfo schema contains privilege information of an operation element. \n\n For an explanation of containment within operation elements, see *Vapi.Metadata.Privilege.Service.Operation*." + }, + "Vapi.Metadata.Privilege.PackageInfo": { + "required": [ + "privileges", + "services" + ], + "type": "object", + "properties": { + "privileges": { + "type": "array", + "description": "List of default privileges to be used for all the operations present in this package. If a particular operation element has no explicit privileges defined in the privilege definition file, these privileges are used for enforcing authorization.", + "items": { + "type": "string" + } + }, + "services": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.ServiceInfo" + }, + "description": "Information about all service elements contained in this package element that contain privilege information. The key in the map is the identifier of the service element and the value in the map is the privilege information for the service element. \n\n For an explanation of privilege information containment within service elements, see *Vapi.Metadata.Privilege.Service*.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.service`." + } + }, + "description": "The Vapi.Metadata.Privilege.PackageInfo schema contains the privilege information of a package element. \n\n For an explanation of privilege information contained within package elements, see *Vapi.Metadata.Privilege.Package*." + }, + "Vapi.Metadata.Privilege.PrivilegeInfo": { + "required": [ + "privileges", + "property_path" + ], + "type": "object", + "properties": { + "property_path": { + "type": "string", + "description": "The property_path points to an entity that is used in the operation element. An entity can either be present in one of the parameter elements or if a parameter is a structure element, it could also be present in one of the field elements. \n\n If the privilege is assigned to an entity used in the parameter, property_path will just contain the name of the parameter field. If the privilege is assigned to an entity in one of the field elements of a parameter element that is a structure element, then property_path will contain a path to the field element starting from the parameter name." + }, + "privileges": { + "type": "array", + "description": "List of privileges assigned to the entity that is being referred by *Vapi.Metadata.Privilege.PrivilegeInfo.property_path*.", + "items": { + "type": "string" + } + } + }, + "description": "The Vapi.Metadata.Privilege.PrivilegeInfo schema contains the privilege information for a parameter element in an operation element." + }, + "Vapi.Metadata.Privilege.ServiceInfo": { + "required": [ + "operations" + ], + "type": "object", + "properties": { + "operations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Metadata.Privilege.OperationInfo" + }, + "description": "Information about all operation elements contained in this service element that contain privilege information. The key in the map is the identifier of the operation element and the value in the map is the privilege information for the operation element. \n\n For an explanation of containment of privilege information within operation elements, see *Vapi.Metadata.Privilege.Service.Operation*.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vapi.operation`." + } + }, + "description": "The Vapi.Metadata.Privilege.ServiceInfo schema contains privilege information of a service element. \n\n For an explanation of privilege information contained within service elements, see *Vapi.Metadata.Privilege.Service*." + }, + "Vapi.Std.AuthenticationScheme": { + "type": "object", + "description": "The *Vapi.Std.AuthenticationScheme* class defines constants for authentication scheme identifiers for authentication mechanisms present in the vAPI infrastructure shipped by VMware. \n\n A third party extension can define and implements it's own authentication mechanism and define a constant in a different IDL file." + }, + "Vapi.Std.DynamicID": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of resource being identified (for example `com.acme.Person`). \n\n Resources that contain operations for creating and deleting resources typically contain a constant specifying the resource type for the resources being created and deleted. The API metamodel metadata resources include a resource that allows retrieving all the known resource types." + }, + "id": { + "type": "string", + "description": "The identifier for a resource whose type is specified by *Vapi.Std.DynamicID.type*.\n\nWhen clients pass a value of this schema as a parameter, the property type must contain the actual resource type. When operations return a value of this schema as a response, the property type will contain the actual resource type." + } + }, + "description": "The Vapi.Std.DynamicID schema represents an identifier for a resource of an arbitrary type." + }, + "Vapi.Std.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the localizable string or message template. \n\n This identifier is typically used to retrieve a locale-specific string or message template from a message catalog." + }, + "default_message": { + "type": "string", + "description": "The value of this localizable string or message template in the `en_US` (English) locale. If *Vapi.Std.LocalizableMessage.id* refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog." + }, + "args": { + "type": "array", + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "items": { + "type": "string" + } + }, + "params": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Std.LocalizationParam" + }, + "description": "Named arguments to be substituted into the message template.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nMissing or `null` means that the message template requires no arguments or positional arguments are used." + }, + "localized": { + "type": "string", + "description": "Localized string value as per request requirements.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nwhen the client has not requested specific locale the implementation may not populate this field to conserve resources." + } + }, + "description": "The Vapi.Std.LocalizableMessage schema represents localizable string and message template. Resources include one or more localizable message templates in the errors they report so that clients can display diagnostic messages in the native language of the user. Resources can include localizable strings in the data returned from operations to allow clients to display localized status information in the native language of the user." + }, + "Vapi.Std.LocalizationParam": { + "type": "object", + "properties": { + "s": { + "type": "string", + "description": "String value associated with the parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when string value is used." + }, + "dt": { + "type": "string", + "description": "Date and time value associated with the parameter. Use the format property to specify date and time display style.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when date and time value is used.", + "format": "date-time" + }, + "i": { + "type": "integer", + "description": "long value associated with the parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when long value is used.", + "format": "int64" + }, + "d": { + "type": "number", + "description": "The double value associated with the parameter. The number of displayed fractional digits is changed via precision property.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when double value is used.", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form enumerated type and boolean values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive Vapi.Std.NestedLocalizableMessage instances can be used for localizing short lists of items.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when nested localization message value is used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.NestedLocalizableMessage" + } + ] + }, + "format": { + "type": "string", + "description": "Format associated with the date and time value in dt property. The enumeration value `SHORT_DATETIME` will be used as default.\n\nPossible values:\n - `SHORT_DATE`: The date and time value will be formatted as short date, for example *2019-01-28*\n - `MED_DATE`: The date and time value will be formatted as medium date, for example *2019 Jan 28*\n - `LONG_DATE`: The date and time value will be formatted as long date, for example *2019 Jan 28*\n - `FULL_DATE`: The date and time value will be formatted as full date, for example *2019 Jan 28, Mon*\n - `SHORT_TIME`: The date and time value will be formatted as short time, for example *12:59*\n - `MED_TIME`: The date and time value will be formatted as medium time, for example *12:59:01*\n - `LONG_TIME`: The date and time value will be formatted as long time, for example *12:59:01 Z*\n - `FULL_TIME`: The date and time value will be formatted as full time, for example *12:59:01 Z*\n - `SHORT_DATE_TIME`: The date and time value will be formatted as short date and time, for example *2019-01-28 12:59*\n - `MED_DATE_TIME`: The date and time value will be formatted as medium date and time, for example *2019 Jan 28 12:59:01*\n - `LONG_DATE_TIME`: The date and time value will be formatted as long date and time, for example *2019 Jan 28 12:59:01 Z*\n - `FULL_DATE_TIME`: The date and time value will be formatted as full date and time, for example *2019 Jan 28, Mon 12:59:01 Z*\n\n\nFor more information see: *Vapi.Std.LocalizationParam.DateTimeFormat*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis may not be set if enumeration value `SHORT_DATETIME` default format is appropriate" + }, + "precision": { + "type": "integer", + "description": "Number of fractional digits to include in formatted double value.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis will be set when exact precision is required for rendering double numbers.", + "format": "int64" + } + }, + "description": "This schema holds a single message parameter and formatting settings for it. The schema has fields for string, long, double, date time and nested messages. Only one will be used depending on the type of data sent. For date, double and long it is possible to set additional formatting details.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vapi.Std.LocalizationParam.DateTimeFormat": { + "type": "string", + "description": "The Vapi.Std.LocalizationParam.DateTimeFormat enumerated type lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation.\n\nPossible values:\n - `SHORT_DATE`: The date and time value will be formatted as short date, for example *2019-01-28*\n - `MED_DATE`: The date and time value will be formatted as medium date, for example *2019 Jan 28*\n - `LONG_DATE`: The date and time value will be formatted as long date, for example *2019 Jan 28*\n - `FULL_DATE`: The date and time value will be formatted as full date, for example *2019 Jan 28, Mon*\n - `SHORT_TIME`: The date and time value will be formatted as short time, for example *12:59*\n - `MED_TIME`: The date and time value will be formatted as medium time, for example *12:59:01*\n - `LONG_TIME`: The date and time value will be formatted as long time, for example *12:59:01 Z*\n - `FULL_TIME`: The date and time value will be formatted as full time, for example *12:59:01 Z*\n - `SHORT_DATE_TIME`: The date and time value will be formatted as short date and time, for example *2019-01-28 12:59*\n - `MED_DATE_TIME`: The date and time value will be formatted as medium date and time, for example *2019 Jan 28 12:59:01*\n - `LONG_DATE_TIME`: The date and time value will be formatted as long date and time, for example *2019 Jan 28 12:59:01 Z*\n - `FULL_DATE_TIME`: The date and time value will be formatted as full date and time, for example *2019 Jan 28, Mon 12:59:01 Z*\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SHORT_DATE", + "MED_DATE", + "LONG_DATE", + "FULL_DATE", + "SHORT_TIME", + "MED_TIME", + "LONG_TIME", + "FULL_TIME", + "SHORT_DATE_TIME", + "MED_DATE_TIME", + "LONG_DATE_TIME", + "FULL_DATE_TIME" + ] + }, + "Vapi.Std.NestedLocalizableMessage": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the localizable string or message template. \n\n This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "params": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Std.LocalizationParam" + }, + "description": "Named Arguments to be substituted into the message template.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nservices will not populate this field when there are no parameters to be substituted" + } + }, + "description": "The Vapi.Std.NestedLocalizableMessage schema represents a nested within a parameter localizable string or message template. This schema is useful for modeling composite messages. Such messages are necessary to do correct pluralization of phrases, represent lists of several items etc.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vapi.Std.Errors.AlreadyExists": { + "type": "object", + "description": "The Vapi.Std.Errors.AlreadyExists error indicates that an attempt was made to create an entity but the entity already exists. Typically the entity has a name or identifier that is required to be unique in some context, but there is already an entity with that name or identifier in that context. \n\n Examples: \n - Trying to create a new tag category when a tag category with the specified name already exists.\n - Trying to create a new tag in tag category when a tag with the specified name already exists the tag category.\n - Trying to create a LUN with a specific UUID on a node (for replication purposes) when a LUN with that UUID already exists on the node.\n - Trying to create a file in a directory or move or copy a file to a directory when a file with that name already exists in the directory. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.Error": { + "required": [ + "error_type", + "messages" + ], + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "Stack of one or more localizable messages for human error consumers. \n\n The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked. \n\n Each subsequent message in the stack describes the \"cause\" of the prior message.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "data": { + "type": "object", + "description": "Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. \n\n Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports. \n\n The *Vapi.Std.Errors.ArgumentLocations*, *Vapi.Std.Errors.FileLocations*, and *Vapi.Std.Errors.TransientIndication* schemas are intended as possible values for this property. *Vapi.Std.DynamicID* may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.\n\nSome operations will not set this property when reporting errors." + }, + "error_type": { + "type": "string", + "description": "Discriminator field to help API consumers identify the structure type.\n\nPossible values:\n - `ERROR`: Discriminator for the *Vapi.Std.Errors.Error* type.\n - `ALREADY_EXISTS`: Discriminator for the *Vapi.Std.Errors.AlreadyExists* type.\n - `ALREADY_IN_DESIRED_STATE`: Discriminator for the *Vapi.Std.Errors.AlreadyInDesiredState* type.\n - `CANCELED`: Discriminator for the *Vapi.Std.Errors.Canceled* type.\n - `CONCURRENT_CHANGE`: Discriminator for the *Vapi.Std.Errors.ConcurrentChange* type.\n - `FEATURE_IN_USE`: Discriminator for the *Vapi.Std.Errors.FeatureInUse* type.\n - `INTERNAL_SERVER_ERROR`: Discriminator for the *Vapi.Std.Errors.InternalServerError* type.\n - `INVALID_ARGUMENT`: Discriminator for the *Vapi.Std.Errors.InvalidArgument* type.\n - `INVALID_ELEMENT_CONFIGURATION`: Discriminator for the *Vapi.Std.Errors.InvalidElementConfiguration* type.\n - `INVALID_ELEMENT_TYPE`: Discriminator for the *Vapi.Std.Errors.InvalidElementType* type.\n - `INVALID_REQUEST`: Discriminator for the *Vapi.Std.Errors.InvalidRequest* type.\n - `NOT_ALLOWED_IN_CURRENT_STATE`: Discriminator for the *Vapi.Std.Errors.NotAllowedInCurrentState* type.\n - `NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.NotFound* type.\n - `OPERATION_NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.OperationNotFound* type.\n - `RESOURCE_BUSY`: Discriminator for the *Vapi.Std.Errors.ResourceBusy* type.\n - `RESOURCE_IN_USE`: Discriminator for the *Vapi.Std.Errors.ResourceInUse* type.\n - `RESOURCE_INACCESSIBLE`: Discriminator for the *Vapi.Std.Errors.ResourceInaccessible* type.\n - `SERVICE_UNAVAILABLE`: Discriminator for the *Vapi.Std.Errors.ServiceUnavailable* type.\n - `TIMED_OUT`: Discriminator for the *Vapi.Std.Errors.TimedOut* type.\n - `UNABLE_TO_ALLOCATE_RESOURCE`: Discriminator for the *Vapi.Std.Errors.UnableToAllocateResource* type.\n - `UNAUTHENTICATED`: Discriminator for the *Vapi.Std.Errors.Unauthenticated* type.\n - `UNAUTHORIZED`: Discriminator for the *Vapi.Std.Errors.Unauthorized* type.\n - `UNEXPECTED_INPUT`: Discriminator for the *Vapi.Std.Errors.UnexpectedInput* type.\n - `UNSUPPORTED`: Discriminator for the *Vapi.Std.Errors.Unsupported* type.\n - `UNVERIFIED_PEER`: Discriminator for the *Vapi.Std.Errors.UnverifiedPeer* type.\n\n\nFor more information see: *Vapi.Std.Errors.Error.Type*.\n\nThis property was added in __vSphere API 6.7.2__.\n\nCan be missing or `null` for compatibility with preceding implementations." + } + }, + "description": "The Vapi.Std.Errors.Error error describes theproperties common to all standard errors. \n\n This error serves two purposes: \n 1. It is the error that clients in many programming languages can catch to handle all standard errors. Typically those clients will display one or more of the localizable messages from *Vapi.Std.Errors.Error.messages* to a human. \n 2. It is the error that operations can report when they need to report some error, but the error doesn't fit into any other standard error, and in fact the only reasonable way for a client to react to the error is to display the message(s) to a human. \n ", + "discriminator": { + "propertyName": "error_type", + "mapping": { + "ALREADY_EXISTS": "#/components/schemas/Vapi.Std.Errors.AlreadyExists", + "ALREADY_IN_DESIRED_STATE": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState", + "CANCELED": "#/components/schemas/Vapi.Std.Errors.Canceled", + "CONCURRENT_CHANGE": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange", + "ERROR": "#/components/schemas/Vapi.Std.Errors.Error", + "FEATURE_IN_USE": "#/components/schemas/Vapi.Std.Errors.FeatureInUse", + "INTERNAL_SERVER_ERROR": "#/components/schemas/Vapi.Std.Errors.InternalServerError", + "INVALID_ARGUMENT": "#/components/schemas/Vapi.Std.Errors.InvalidArgument", + "INVALID_ELEMENT_CONFIGURATION": "#/components/schemas/Vapi.Std.Errors.InvalidElementConfiguration", + "INVALID_ELEMENT_TYPE": "#/components/schemas/Vapi.Std.Errors.InvalidElementType", + "INVALID_REQUEST": "#/components/schemas/Vapi.Std.Errors.InvalidRequest", + "NOT_ALLOWED_IN_CURRENT_STATE": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState", + "NOT_FOUND": "#/components/schemas/Vapi.Std.Errors.NotFound", + "OPERATION_NOT_FOUND": "#/components/schemas/Vapi.Std.Errors.OperationNotFound", + "RESOURCE_BUSY": "#/components/schemas/Vapi.Std.Errors.ResourceBusy", + "RESOURCE_IN_USE": "#/components/schemas/Vapi.Std.Errors.ResourceInUse", + "RESOURCE_INACCESSIBLE": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible", + "SERVICE_UNAVAILABLE": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable", + "TIMED_OUT": "#/components/schemas/Vapi.Std.Errors.TimedOut", + "UNABLE_TO_ALLOCATE_RESOURCE": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource", + "UNAUTHENTICATED": "#/components/schemas/Vapi.Std.Errors.Unauthenticated", + "UNAUTHORIZED": "#/components/schemas/Vapi.Std.Errors.Unauthorized", + "UNEXPECTED_INPUT": "#/components/schemas/Vapi.Std.Errors.UnexpectedInput", + "UNSUPPORTED": "#/components/schemas/Vapi.Std.Errors.Unsupported", + "UNVERIFIED_PEER": "#/components/schemas/Vapi.Std.Errors.UnverifiedPeer" + } + } + }, + "Vapi.Std.Errors.AlreadyInDesiredState": { + "type": "object", + "description": "The Vapi.Std.Errors.AlreadyInDesiredState error indicates that an attempt to change the state of a resource or service had no effect because the resource or service is already in the desired state. \n\n Examples: \n - Trying to power on a virtual machine that is already powered on.\n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ArgumentLocations": { + "required": [ + "primary", + "secondary" + ], + "type": "object", + "properties": { + "primary": { + "type": "string", + "description": "String describing the location of the input that triggered the error." + }, + "secondary": { + "type": "array", + "description": "List (possibly empty) of strings describing the locations of other inputs that caused the the primary input to trigger the error.", + "items": { + "type": "string" + } + } + }, + "description": "The Vapi.Std.Errors.ArgumentLocations schema describes which part(s) of the input to the operation caused the error. \n\n Some types of errors are caused by the value of one of the inputs to the operation, possibly due to an interaction with other inputs to the operation. \n\n This schema is intended to be used as the payload to identify those inputs when the operation reports errors like *Vapi.Std.Errors.InvalidArgument* or *Vapi.Std.Errors.NotFound*. See *Vapi.Std.Errors.Error.data*." + }, + "Vapi.Std.Errors.Canceled": { + "type": "object", + "description": "The Vapi.Std.Errors.Canceled error indicates that the operation canceled itself in response to an explicit request to do so. Operations being \"canceled\" for other reasons (for example the client connection was closed, a time out occured, or due to excessive resource consumption) should not report this error. \n\n Examples: \n - A user is monitoring the progress of the operation in a GUI and sees that it is likely to take longer than he is willing to wait and clicks the cancel button. \n - A user invokes the operation using a command-line tool and decides that she didn't really want to invoke that operation, and presses CTRL-c. \n \n\n Counterexamples: \n - The client's connection to the server was closed. Reporting an error is pointless since the client will not receive the error response because the connection has been closed. \n - The request is taking longer than some amount of time. The *Vapi.Std.Errors.TimedOut* error would be reported if the time was specified as part of the input or is documented in the API contract. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ConcurrentChange": { + "type": "object", + "description": "The Vapi.Std.Errors.ConcurrentChange error indicates that a data structure, entity, or resource has been modified since some earlier point in time. Typically this happens when the client is doing the *write* portion of a read-modify-write sequence and indicates that it wants the server to notify it if the data in the server has changed after it did the *read*, so that it can avoid overwriting that change inadvertantly.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.Error.Type": { + "type": "string", + "description": "Enumeration of all standard errors. Used as discriminator in protocols that have no standard means for transporting the error type, e.g. REST.\n\nPossible values:\n - `ERROR`: Discriminator for the *Vapi.Std.Errors.Error* type.\n - `ALREADY_EXISTS`: Discriminator for the *Vapi.Std.Errors.AlreadyExists* type.\n - `ALREADY_IN_DESIRED_STATE`: Discriminator for the *Vapi.Std.Errors.AlreadyInDesiredState* type.\n - `CANCELED`: Discriminator for the *Vapi.Std.Errors.Canceled* type.\n - `CONCURRENT_CHANGE`: Discriminator for the *Vapi.Std.Errors.ConcurrentChange* type.\n - `FEATURE_IN_USE`: Discriminator for the *Vapi.Std.Errors.FeatureInUse* type.\n - `INTERNAL_SERVER_ERROR`: Discriminator for the *Vapi.Std.Errors.InternalServerError* type.\n - `INVALID_ARGUMENT`: Discriminator for the *Vapi.Std.Errors.InvalidArgument* type.\n - `INVALID_ELEMENT_CONFIGURATION`: Discriminator for the *Vapi.Std.Errors.InvalidElementConfiguration* type.\n - `INVALID_ELEMENT_TYPE`: Discriminator for the *Vapi.Std.Errors.InvalidElementType* type.\n - `INVALID_REQUEST`: Discriminator for the *Vapi.Std.Errors.InvalidRequest* type.\n - `NOT_ALLOWED_IN_CURRENT_STATE`: Discriminator for the *Vapi.Std.Errors.NotAllowedInCurrentState* type.\n - `NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.NotFound* type.\n - `OPERATION_NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.OperationNotFound* type.\n - `RESOURCE_BUSY`: Discriminator for the *Vapi.Std.Errors.ResourceBusy* type.\n - `RESOURCE_IN_USE`: Discriminator for the *Vapi.Std.Errors.ResourceInUse* type.\n - `RESOURCE_INACCESSIBLE`: Discriminator for the *Vapi.Std.Errors.ResourceInaccessible* type.\n - `SERVICE_UNAVAILABLE`: Discriminator for the *Vapi.Std.Errors.ServiceUnavailable* type.\n - `TIMED_OUT`: Discriminator for the *Vapi.Std.Errors.TimedOut* type.\n - `UNABLE_TO_ALLOCATE_RESOURCE`: Discriminator for the *Vapi.Std.Errors.UnableToAllocateResource* type.\n - `UNAUTHENTICATED`: Discriminator for the *Vapi.Std.Errors.Unauthenticated* type.\n - `UNAUTHORIZED`: Discriminator for the *Vapi.Std.Errors.Unauthorized* type.\n - `UNEXPECTED_INPUT`: Discriminator for the *Vapi.Std.Errors.UnexpectedInput* type.\n - `UNSUPPORTED`: Discriminator for the *Vapi.Std.Errors.Unsupported* type.\n - `UNVERIFIED_PEER`: Discriminator for the *Vapi.Std.Errors.UnverifiedPeer* type.\n\n\nThis enumeration was added in __vSphere API 6.7.2__.", + "enum": [ + "ERROR", + "ALREADY_EXISTS", + "ALREADY_IN_DESIRED_STATE", + "CANCELED", + "CONCURRENT_CHANGE", + "FEATURE_IN_USE", + "INTERNAL_SERVER_ERROR", + "INVALID_ARGUMENT", + "INVALID_ELEMENT_CONFIGURATION", + "INVALID_ELEMENT_TYPE", + "INVALID_REQUEST", + "NOT_ALLOWED_IN_CURRENT_STATE", + "NOT_FOUND", + "OPERATION_NOT_FOUND", + "RESOURCE_BUSY", + "RESOURCE_IN_USE", + "RESOURCE_INACCESSIBLE", + "SERVICE_UNAVAILABLE", + "TIMED_OUT", + "UNABLE_TO_ALLOCATE_RESOURCE", + "UNAUTHENTICATED", + "UNAUTHORIZED", + "UNEXPECTED_INPUT", + "UNSUPPORTED", + "UNVERIFIED_PEER" + ] + }, + "Vapi.Std.Errors.FeatureInUse": { + "type": "object", + "description": "The Vapi.Std.Errors.FeatureInUse error indicates that an action cannot be completed because a feature is in use. \n\n Examples: \n - Trying to disable snapshots on a virtual machine which has a snapshot. \n - Trying to downgrade a license that has licensed features that are in use. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.FileLocations": { + "required": [ + "primary", + "secondary" + ], + "type": "object", + "properties": { + "primary": { + "type": "string", + "description": "String identifying the file that triggered the error." + }, + "secondary": { + "type": "array", + "description": "List (possibly empty) of strings identifying other files that caused the primary file to trigger the error.", + "items": { + "type": "string" + } + } + }, + "description": "The Vapi.Std.Errors.FileLocations schema identifies the file(s) that caused the operation to report the error. \n\n Some types of errors are caused by a problem with one or more files. This schema is intended to be used as the payload to identify those files when the operation reports errors like *Vapi.Std.Errors.NotFound*. See *Vapi.Std.Errors.Error.data*." + }, + "Vapi.Std.Errors.InternalServerError": { + "type": "object", + "description": "The Vapi.Std.Errors.InternalServerError error indicates that the server encounters an unexpected condition that prevented it from fulfilling the request. \n\n This error is reported by the API infrastructure, so it could occur in response to the invocation of any operation. \n\n Examples: \n - The operation returns a value whose type doesn't match the type type the operation says it should return.\n - The operation reports an error that is not included in the list of errors the operation says that it can report.\n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.InvalidArgument": { + "type": "object", + "description": "The Vapi.Std.Errors.InvalidArgument error indicates that the values received for one or more parameters are not acceptable. \n\n This error is reported by the API infrastructure, so it could occur in response to the invocation of any operation. It may also be reported as the result of operation-specific validation. \n\n Examples: \n - A parameter has a value that is not of the expected type. \n - A parameter has a value that is not in the required range. \n - A parameter has a value that is not one of the specifically allowed strings. \n - One property of a schema is the tag for a tagged union, and has a specific value but another property of the schema that is required to be specified when the tag has that value is not specified, or another property of the schema that is required to be unspecified when the tag has that value is specified. \n \n\n Counterexamples: \n - Trying to create a new tag in tag category when a tag with the specified name already exists the tag category. The *Vapi.Std.Errors.AlreadyExists* error would be used instead. \n - Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. The *Vapi.Std.Errors.NotFound* error would be used instead. \n - Attempt to put a virtual machine into a folder that can only contain hosts. The *Vapi.Std.Errors.InvalidElementType* error would be used instead. \n - Attempt to attach a SCSI virtual disk to an IDE port. The *Vapi.Std.Errors.InvalidElementType* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.InvalidElementConfiguration": { + "type": "object", + "description": "The Vapi.Std.Errors.InvalidElementConfiguration error indicates that an attempt to modify the configuration of an element or a group containing the element failed due to the configuraton of the element. \n\n A typical case is when the operation is am attempt to change the group membership of the element fails, in which case a configuration change on the element may allow the group membership change to succeed. \n\n Examples: \n - Attempt to move a host with a fault tolerant virtual machine out of a cluster (i.e. make the host a standalone host). \n - Attempt to remove a host from a DRS cluster without putting the host into maintenance mode. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.InvalidElementType": { + "type": "object", + "description": "The Vapi.Std.Errors.InvalidElementType error indicates that the server was unable to fulfil the request because an element of a specific type cannot be a member of particular group. \n\n This error could be reported, for example, if an attempt is made to put an element into the wrong type of container. \n\n Examples: \n - Attempt to put a virtual machine into a folder that can only contain hosts. \n - Attempt to attach a SCSI virtual disk to an IDE port. \n Counterexamples: \n - A parameter has a value that is not of the expected type. The *Vapi.Std.Errors.InvalidArgument* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.InvalidRequest": { + "type": "object", + "description": "The Vapi.Std.Errors.InvalidRequest error indicates that the request is malformed in such a way that the server is unable to process it. \n\n Examples: \n - The XML in a SOAP request is not well-formed so the server cannot parse the request. \n - The XML in a SOAP request is well-formed but does not match the structure required by the SOAP specification. \n - A JSON-RPC request is not valid JSON. \n - The JSON sent in a JSON-RPC request is not a valid JSON-RPC Request object. \n - The Request object from a JSON-RPC request does not match the structure required by the API infrastructure. \n \n\n Counterexamples: \n - The parameter has a value that is not with the required range. The *Vapi.Std.Errors.InvalidArgument* error would be used instead. \n - The name of the operation specified in the request doesn't not match any known operation. The *Vapi.Std.Errors.NotFound* error would be used instead. \n \n\n Some transport protocols (for example JSON-RPC) include their own mechanism for reporting these kinds of errors, and the API infrastructure for a programming language may expose the errors using a language specific mechanism, so this error might not be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.NotAllowedInCurrentState": { + "type": "object", + "description": "The Vapi.Std.Errors.NotAllowedInCurrentState error indicates that the requested operation is not allowed with a resource or service in its current state. This could be because the operation is performing a configuration change that is not allowed in the current state or because operation itself is not allowed in the current state. \n\n Examples: \n - Trying to add a virtual device that cannot be hot plugged to a running virtual machine. \n - Trying to upgrade the virtual hardware version for a suspended virtual machine. \n - Trying to power off, reset, or suspend a virtual machine that is not powered on. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. The *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.NotFound": { + "type": "object", + "description": "The Vapi.Std.Errors.NotFound error indicates that a specified element could not be found. \n\n Examples: \n - Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. \n - Invoke the operation to modify the configuration of a virtual nic, passing an id that does not identify an existing virtual nic in the specified virtual machine. \n - Invoke the operation to remove a vswitch, passing an id that does not identify an existing vswitch. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.OperationNotFound": { + "type": "object", + "description": "The Vapi.Std.Errors.OperationNotFound error indicates that the operation specified in the request could not be found. \n\n Every API request specifies a service identifier and an operation identifier along with the parameters. If the API infrastructure is unable to find the requested resource or operation it reports this error. \n\n This error can be reported by the API infrastructure for any operation, but it is specific to the API infrastructure, and should never be reported by the implementation of any operation. \n\n Examples: \n - A client provides an invalid service or operation identifier when invoking the operation using a dynamic interface (for example REST). \n - A client invokes the operation from a resource, but that resource has not been installed. \n \n\n Counterexamples: \n - A client invokes a task scheduling operation, but provides an invalid service identifier or operation identifier. The *Vapi.Std.Errors.NotFound* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ResourceBusy": { + "type": "object", + "description": "The Vapi.Std.Errors.ResourceBusy error indicates that the operation could not be completed because a resource it needs is busy. \n\n Examples: \n - Trying to power off a virtual machine that is in the process of being powered on. \n \n\n Counterexamples: \n - Trying to remove a VMFS datastore when there is a virtual machine registered on any host attached to the datastore. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ResourceInUse": { + "type": "object", + "description": "The Vapi.Std.Errors.ResourceInUse error indicates that the operation could not be completed because a resource is in use. \n\n Examples: \n - Trying to remove a VMFS datastore when the is a virtual machine registered on any host attached to the datastore. \n - Trying to add a virtual switch if the physical network adapter being bridged is already in use. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. The *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ResourceInaccessible": { + "type": "object", + "description": "The Vapi.Std.Errors.ResourceInaccessible error indicates that the operation could not be completed because an entity is not accessible. \n\n Examples: \n - Attempt to invoke some operation on a virtual machine when the virtual machine's configuration file is not accessible (for example due to a storage APD condition). \n \n\n Counterexamples: \n - Attempt to invoke some operation when the server is too busy. The *Vapi.Std.Errors.ServiceUnavailable* error would be used instead. \n - Attempt to invoke some operation when the server is undergoing maintenance. The *Vapi.Std.Errors.ServiceUnavailable* error would be used instead. \n - Some operation fails to contact VMware Tools running inside the virtual machine. The *Vapi.Std.Errors.ServiceUnavailable* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ServiceUnavailable": { + "type": "object", + "description": "The Vapi.Std.Errors.ServiceUnavailable error indicates that the resource is unavailable. \n\n Examples: \n - Attempt to invoke a operation when the server is too busy. \n - Attempt to invoke a operation when the server is undergoing maintenance. \n - An operation fails to contact VMware Tools running inside the virtual machine. \n \n\n Counterexamples: \n - A client provides an invalid service or operation identifier when invoking the operation using a dynamic interface (for example REST). The *Vapi.Std.Errors.OperationNotFound* error would be used instead. \n - A client invokes the operation from the resource, but that resource has not been installed. The *Vapi.Std.Errors.OperationNotFound* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.TimedOut": { + "type": "object", + "description": "The Vapi.Std.Errors.TimedOut error indicates that the operation did not complete within the allowed amount of time. The allowed amount of time might be: \n - provided by the client as an input parameter. \n - a fixed limit of the resource implementation that is a documented part of the contract of the resource. \n - a configurable limit used by the implementation of the resource. \n - a dynamic limit computed by the implementation of the resource. \n The operation may or may not complete after the Vapi.Std.Errors.TimedOut error was reported. \n\n Examples: \n - The operation was unable to complete within the timeout duration specified by a parameter of the operation. \n \n\n Counterexamples: \n - A server implementation that puts requests into a queue before dispatching them might delete a request from the queue if it doesn't get dispatched within *n* minutes. The *Vapi.Std.Errors.ServiceUnavailable* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.TransientIndication": { + "required": [ + "is_transient" + ], + "type": "object", + "properties": { + "is_transient": { + "type": "boolean", + "description": "Indicates that the error this schema is attached to is transient." + } + }, + "description": "The Vapi.Std.Errors.TransientIndication schema indicates whether or not the error is transient. \n\n Some types of errors are transient in certain situtations and not transient in other situtations. This error payload can be used to indicate to clients whether a particular error is transient. See *Vapi.Std.Errors.Error.data*." + }, + "Vapi.Std.Errors.UnableToAllocateResource": { + "type": "object", + "description": "The Vapi.Std.Errors.UnableToAllocateResource error indicates that the operation failed because it was unable to allocate or acquire a required resource. \n\n Examples: \n - Trying to power on a virtual machine when there are not enough licenses to do so. \n - Trying to power on a virtual machine that would violate a resource usage policy. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. A *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n - Trying to remove a VMFS datastore when the is a virtual machine registered on any host attached to the datastore. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n - Trying to add a virtual switch if the physical network adapter being bridged is already in use. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n - Attempt to invoke some operation on a virtual machine when the virtual machine's configuration file is not accessible (for example due to a storage APD condition). The *Vapi.Std.Errors.ResourceInaccessible* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.Unauthenticated": { + "type": "object", + "properties": { + "challenge": { + "type": "string", + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. \n\n For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vapi.Std.Errors.Unauthenticated error indicates that the operation requires authentication and the user is not authenticated. \n\n API requests may include a security context containing user credentials. For example, the user credentials could be a SAML token, a user name and password, or the session identifier for a previously established session. \n\n Examples: \n - The SAML token in the request's security context has expired. \n - The user name and password in the request's security context are invalid. \n - The session identifier in the request's security context identifies a session that has expired. \n Counterexamples: \n - The user is authenticated but isn't authorized to perform the requested operation. The *Vapi.Std.Errors.Unauthorized* error would be used instead. \n \n\n For security reasons, the *Vapi.Std.Errors.Error.data* property in this error is missing or `null`, and the *Vapi.Std.Errors.Error.messages* property in this error does not disclose which part of the security context is correct or incorrect. For example the messages would not disclose whether a username or a password is valid or invalid, but only that a combination of username and password is invalid.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.Unauthorized": { + "type": "object", + "properties": { + "challenge": { + "type": "string", + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. \n\n For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da158-2ba4-11e9-b\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vapi.Std.Errors.Unauthorized error indicates that the user is not authorized to perform the operation. \n\n API requests may include a security context containing user credentials. For example, the user credentials could be a SAML token, a user name and password, or the session identifier for a previously established session. Invoking the operation may require that the user identified by those credentials has particular privileges on the operation or on one or more resource identifiers passed to the operation. \n\n Examples: \n - The operation requires that the user have one or more privileges on the operation, but the user identified by the credentials in the security context does not have the required privileges. \n - The operation requires that the user have one or more privileges on a resource identifier passed to the operation, but the user identified by the credentials in the security context does not have the required privileges. \n \n\n \n\n Counterexamples: \n - The SAML token in the request's security context has expired. A *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n - The user name and password in the request's security context are invalid. The *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n - The session identifier in the request's security context identifies a session that has expired. The *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n \n\n For security reasons, the *Vapi.Std.Errors.Error.data* property in this error is missing or `null`, and the *Vapi.Std.Errors.Error.messages* property in this error does not disclose why the user is not authorized to perform the operation. For example the messages would not disclose which privilege the user did not have or which resource identifier the user did not have the required privilege to access. The API documentation should indicate what privileges are required.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.UnexpectedInput": { + "type": "object", + "description": "The Vapi.Std.Errors.UnexpectedInput error indicates that the request contained a parameter or property whose name is not known by the server. \n\n Every operation expects parameters with known names. Some of those parameters may be (or contain) schemas, and the operation expects those schemas to contain properties with known names. If the operation receives parameters or properties with names that is does not expect, this error may be reported. \n\n This error can be reported by the API infrastructure for any operation, but it is specific to the API infrastructure, and should never be reported by the implementation of any operation. \n\n Examples: \n - A client using stubs generated from the interface specification for version2 of a resource invokes the operation passing one or more parameters that were added in version2, but they are communicating with a server that only supports version1 of the resource. \n - A client provides an unexpected parameter or property name when invoking the operation using a dynamic interface (for example REST). \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.Unsupported": { + "type": "object", + "description": "The Vapi.Std.Errors.Unsupported error indicates that the operation is not supported by the resource. \n\n Examples: \n - Trying to hot-plug a CPU when the current configuration of the VM does not support hot-plugging of CPUs. \n - Trying to change the memory size to a value that is not within the acceptable guest memory bounds supported by the virtual machine's host. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.UnverifiedPeer": { + "type": "object", + "description": "The Vapi.Std.Errors.UnverifiedPeer error indicates that an attempt to connect to an unknown or not-yet-trusted endpoint failed because the system was unable to verify the identity of the endpoint. \n\n Typically the *Vapi.Std.Errors.Error.data* property of this error will contain information that can be presented to a human to allow them to decide whether to trust the endpoint. If they decide to trust the endpoint, the request can be resubmitted with an indication that the endpoint should be trusted. \n\n Examples: \n - The client provides an IP address or URL of an endpoint the system should communicate with using an SSL connection, but the endpoint's SSL certificate is self-signed, expired, or otherwise not trustworthy. \n - The client provides an IP address of a host the system should communicate with using ssh, but ssh doesn't recognize the public key of the host\n \n\n\n\nThis schema was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vcenter.UsernamePassword": { + "required": [ + "password", + "user_name" + ], + "type": "object", + "properties": { + "user_name": { + "type": "string", + "description": "The username for username-password based authentication.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "password": { + "type": "string", + "description": "The password for username-password based authentication.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "password" + } + }, + "description": "The Vcenter.UsernamePassword specifies the credentials when username-password based authentication is to be used for a service end-point.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Credential": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of credential to use for connecting to a VC.\n\nPossible values:\n - `USERNAME_PASSWORD`: Username-password based authentication is being used.\n - `SAML_TOKEN`: SAML based authentication is being used.\n\n\nFor more information see: *Vcenter.Credential.Type*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "username_password": { + "description": "Username-password details.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Credential.Type.USERNAME_PASSWORD*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.UsernamePassword" + } + ] + }, + "saml_token": { + "type": "string", + "description": "SAML token details, when using SAML based authentication.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Credential.Type.SAML_TOKEN*.", + "format": "password" + } + }, + "description": "The Vcenter.Credential provides credential for authentication such as username/password or SAML token.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Credential.Type": { + "type": "string", + "description": "The credential type to use for authentication.\n\nPossible values:\n - `USERNAME_PASSWORD`: Username-password based authentication is being used.\n - `SAML_TOKEN`: SAML based authentication is being used.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "USERNAME_PASSWORD", + "SAML_TOKEN" + ] + }, + "Vcenter.ServiceLocator": { + "required": [ + "credential", + "instance_uuid", + "url" + ], + "type": "object", + "properties": { + "instance_uuid": { + "type": "string", + "description": "Unique ID of the instance to which the service belongs. For instances that support the vSphere API, this is the same as the value found in vim.AboutInfo#instanceUuid.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "url": { + "type": "string", + "description": "URL used to access the service endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "credential": { + "description": "Credential to establish the connection and login to the service.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Credential" + } + ] + }, + "ssl_thumbprint": { + "type": "string", + "description": "The sslThumbprint of the service endpoint. Superseded by *Vcenter.ServiceLocator.ssl_certificate*. Note: If both `sslThumbprint` and `sslCertificate` are set, `sslThumbprint` must correspond to the `sslCertificate`.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, then `sslCertificate` will be checked. If both these fields are missing or `null`, then thumbprint from first connection will be trusted." + }, + "ssl_certificate": { + "type": "string", + "description": "The SSL certificate of the service endpoint in PEM format. A replacement for *Vcenter.ServiceLocator.ssl_thumbprint*. Note: If both `sslThumbprint` and `sslCertificate` are set, `sslThumbprint` must correspond to the `sslCertificate`.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, then remote service endpoint certificate will not be verified upon connection." + } + }, + "description": "This data object type specifies the information of a service endpoint as well as the parameters needed to locate and login to to the service endpoint.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Cluster.FilterSpec": { + "type": "object", + "properties": { + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of clusters that can match the filter.\n\nIf missing or `null` or empty, clusters with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that clusters must have to match the filter (see *Vcenter.Cluster.Info.name*).\n\nIf missing or `null` or empty, clusters with any name match the filter.", + "items": { + "type": "string" + } + }, + "folders": { + "uniqueItems": true, + "type": "array", + "description": "Folders that must contain the cluster for the cluster to match the filter.\n\nIf missing or `null` or empty, clusters in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "items": { + "type": "string" + } + }, + "datacenters": { + "uniqueItems": true, + "type": "array", + "description": "Datacenters that must contain the cluster for the cluster to match the filter.\n\nIf missing or `null` or empty, clusters in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Cluster.FilterSpec schema contains properties used to filter the results when listing clusters (see *GET /vcenter/cluster*). If multiple properties are specified, only clusters matching all of the properties match the filter." + }, + "Vcenter.Cluster.Summary": { + "required": [ + "cluster", + "drs_enabled", + "ha_enabled", + "name" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier of the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "name": { + "type": "string", + "description": "Name of the cluster." + }, + "ha_enabled": { + "type": "boolean", + "description": "Flag indicating whether the vSphere HA feature is enabled for the cluster." + }, + "drs_enabled": { + "type": "boolean", + "description": "Flag indicating whether the vSphere DRS service is enabled for the cluster." + } + }, + "description": "The Vcenter.Cluster.Summary schema contains commonly used information about a cluster in vCenter Server." + }, + "Vcenter.Cluster.Info": { + "required": [ + "name", + "resource_pool" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the cluster" + }, + "resource_pool": { + "type": "string", + "description": "Identifier of the root resource pool of the cluster\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + } + }, + "description": "The Vcenter.Cluster.Info schema contains information about a cluster in vCenter Server." + }, + "Vcenter.Datacenter.CreateSpec": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the datacenter to be created." + }, + "folder": { + "type": "string", + "description": "Datacenter folder in which the new datacenter should be created.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose a suitable folder for the datacenter; if a folder cannot be chosen, the datacenter creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.Datacenter.CreateSpec schema defines the information used to create a datacenter." + }, + "Vcenter.Datacenter.FilterSpec": { + "type": "object", + "properties": { + "datacenters": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of datacenters that can match the filter.\n\nIf missing or `null` or empty, datacenters with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that datacenters must have to match the filter (see *Vcenter.Datacenter.Info.name*).\n\nIf missing or `null` or empty, datacenters with any name match the filter.", + "items": { + "type": "string" + } + }, + "folders": { + "uniqueItems": true, + "type": "array", + "description": "Folders that must contain the datacenters for the datacenter to match the filter.\n\nIf missing or `null` or empty, datacenters in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Datacenter.FilterSpec schema contains properties used to filter the results when listing datacenters (see *GET /vcenter/datacenter*). If multiple properties are specified, only datacenters matching all of the properties match the filter." + }, + "Vcenter.Datacenter.Summary": { + "required": [ + "datacenter", + "name" + ], + "type": "object", + "properties": { + "datacenter": { + "type": "string", + "description": "Identifier of the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datacenter`." + }, + "name": { + "type": "string", + "description": "Name of the datacenter." + } + }, + "description": "The Vcenter.Datacenter.Summary schema contains commonly used information about a datacenter in vCenter Server." + }, + "Vcenter.Datacenter.Info": { + "required": [ + "datastore_folder", + "host_folder", + "name", + "network_folder", + "vm_folder" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the datacenter." + }, + "datastore_folder": { + "type": "string", + "description": "The root datastore folder associated with the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "host_folder": { + "type": "string", + "description": "The root host and cluster folder associated with the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "network_folder": { + "type": "string", + "description": "The root network folder associated with the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "vm_folder": { + "type": "string", + "description": "The root virtual machine folder associated with the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.Datacenter.Info schema contains information about a datacenter in vCenter Server." + }, + "Vcenter.Datastore.Type": { + "type": "string", + "description": "The Vcenter.Datastore.Type enumerated type defines the supported types of vCenter datastores.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n", + "enum": [ + "VMFS", + "NFS", + "NFS41", + "CIFS", + "VSAN", + "VFFS", + "VVOL" + ] + }, + "Vcenter.Datastore.Info": { + "required": [ + "accessible", + "multiple_host_access", + "name", + "thin_provisioning_supported", + "type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the datastore." + }, + "type": { + "type": "string", + "description": "Type (Type) of the datastore.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*." + }, + "accessible": { + "type": "boolean", + "description": "Whether or not this datastore is accessible." + }, + "free_space": { + "type": "integer", + "description": "Available space of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the available space of this datastore is not known.", + "format": "int64" + }, + "multiple_host_access": { + "type": "boolean", + "description": "Whether or not more than one host in the datacenter has been configured with access to the datastore." + }, + "thin_provisioning_supported": { + "type": "boolean", + "description": "Whether or not the datastore supports thin provisioning on a per file basis. When thin provisioning is used, backing storage is lazily allocated." + } + }, + "description": "The Vcenter.Datastore.Info schema contains information about a datastore." + }, + "Vcenter.Datastore.FilterSpec": { + "type": "object", + "properties": { + "datastores": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of datastores that can match the filter.\n\nIf missing or `null` or empty, datastores with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that datastores must have to match the filter (see *Vcenter.Datastore.Info.name*).\n\nIf missing or `null` or empty, datastores with any name match the filter.", + "items": { + "type": "string" + } + }, + "types": { + "uniqueItems": true, + "type": "array", + "description": "Types that datastores must have to match the filter (see *Vcenter.Datastore.Summary.type*).\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*.\n\nIf missing or `null` or empty, datastores with any type match the filter.", + "items": { + "type": "string" + } + }, + "folders": { + "uniqueItems": true, + "type": "array", + "description": "Folders that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "items": { + "type": "string" + } + }, + "datacenters": { + "uniqueItems": true, + "type": "array", + "description": "Datacenters that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Datastore.FilterSpec schema contains properties used to filter the results when listing datastores (see *GET /vcenter/datastore*). If multiple properties are specified, only datastores matching all of the properties match the filter." + }, + "Vcenter.Datastore.Summary": { + "required": [ + "datastore", + "name", + "type" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "name": { + "type": "string", + "description": "Name of the datastore." + }, + "type": { + "type": "string", + "description": "Type (Type) of the datastore.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*." + }, + "free_space": { + "type": "integer", + "description": "Available space of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the available space of this datastore is not known.", + "format": "int64" + }, + "capacity": { + "type": "integer", + "description": "Capacity of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the capacity of this datastore is not known.", + "format": "int64" + } + }, + "description": "The Vcenter.Datastore.Summary schema contains commonly used information about a datastore." + }, + "Vcenter.EvcModes.Source": { + "type": "object", + "properties": { + "service_locator": { + "description": "The vCenter Server location from which the objects are referenced.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the current vCenter server will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ServiceLocator" + } + ] + }, + "clusters": { + "type": "array", + "description": "The clusters to be used as reference objects.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then no clusters are used for computing the custom EVC mode. At least ne of `clusters` or `hosts` must be specified.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "hosts": { + "type": "array", + "description": "The hosts to be used as reference objects.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then no hosts are used for computing the the custom EVC mode. At least one of `clusters` or `hosts` must be specified.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.EvcModes.Source are the objects used as input in the creation of custom Vcenter.EvcMode.EvcMode objects.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.EvcModes.CreateSpec": { + "required": [ + "sources" + ], + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "List of all sources to be used for creating a custom EVC mode.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.EvcModes.Source" + } + } + }, + "description": "The Vcenter.EvcModes.CreateSpec contains information for creating a custom Vcenter.EvcMode.EvcMode.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.EvcModes.PartitionResult": { + "type": "object", + "properties": { + "cpu_evc_mode": { + "description": "CPU specific EVC mode created from an EVC mode partitioning operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, then no CPU EVC mode details were found in Vcenter.EvcMode.EvcMode object being partitioned.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.EvcMode.EvcMode" + } + ] + }, + "graphics_evc_mode": { + "description": "Graphics specific EVC mode created from an EVC mode partitioning operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, then no Graphics EVC mode details were found in Vcenter.EvcMode.EvcMode object being partitioned.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.EvcMode.EvcMode" + } + ] + } + }, + "description": "This class provides information about the CPU Vcenter.EvcMode.EvcMode and graphics Vcenter.EvcMode.EvcMode associated with a custom Vcenter.EvcMode.EvcMode.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Folder.Type": { + "type": "string", + "description": "The Vcenter.Folder.Type enumerated type defines the type of a vCenter Server folder. The type of a folder determines what what kinds of children can be contained in the folder.\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n", + "enum": [ + "DATACENTER", + "DATASTORE", + "HOST", + "NETWORK", + "VIRTUAL_MACHINE" + ] + }, + "Vcenter.Folder.FilterSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type that folders must have to match the filter (see *Vcenter.Folder.Summary.type*).\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n\n\nFor more information see: *Vcenter.Folder.Type*.\n\nIf missing or `null`, folders with any type match the filter." + } + }, + "description": "The Vcenter.Folder.FilterSpec schema contains properties used to filter the results when listing folders (see *GET /vcenter/folder*). If multiple properties are specified, only folders matching all of the properties match the filter." + }, + "Vcenter.Folder.Summary": { + "required": [ + "folder", + "name", + "type" + ], + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Identifier of the folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "name": { + "type": "string", + "description": "Name of the vCenter Server folder." + }, + "type": { + "type": "string", + "description": "Type (Type) of the vCenter Server folder.\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n\n\nFor more information see: *Vcenter.Folder.Type*." + } + }, + "description": "The Vcenter.Folder.Summary schema contains commonly used information about a folder." + }, + "Vcenter.FoundationLoadBalancers.NodeSize": { + "type": "string", + "description": "The Vcenter.FoundationLoadBalancers.NodeSize enumerated type defines the cpu/memory/storage resource size to deploy the load balancer node(s).\n\nPossible values:\n - `SMALL`: *Vcenter.FoundationLoadBalancers.NodeSize.SMALL* allocates 2 CPUs, 4 GB memory, and 8 GB storage for deployment.\n - `MEDIUM`: *Vcenter.FoundationLoadBalancers.NodeSize.MEDIUM* allocates 4 CPUs, 8 GB memory, and 8 GB storage for deployment.\n - `LARGE`: *Vcenter.FoundationLoadBalancers.NodeSize.LARGE* allocates 8 CPUs, 12 GB memory, and 8 GB storage for deployment.\n - `X_LARGE`: *Vcenter.FoundationLoadBalancers.NodeSize.X_LARGE* allocates 16 CPUs, 16 GB memory, and 8 GB storage for deployment.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SMALL", + "MEDIUM", + "LARGE", + "X_LARGE" + ] + }, + "Vcenter.FoundationLoadBalancers.MaintenanceMode": { + "type": "string", + "description": "Vcenter.FoundationLoadBalancers.MaintenanceMode enumerated type defines maintenance status.\n\nPossible values:\n - `ENABLE`: Maintenance mode enabled.\n - `DISABLE`: Maintenance mode disabled.\n - `UNKNOWN`: The status means can't get maintenance status successfully.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "ENABLE", + "DISABLE", + "UNKNOWN" + ] + }, + "Vcenter.FoundationLoadBalancers.HaStatus": { + "type": "string", + "description": "The Vcenter.FoundationLoadBalancers.HaStatus enumerated type defines high availability status of load balancer node(s).\n\nPossible values:\n - `INVALID`: The status means can't get high availability status.\n - `ACTIVE`: High availability status is *Vcenter.FoundationLoadBalancers.HaStatus.ACTIVE*.\n - `STANDBY`: High availability status is *Vcenter.FoundationLoadBalancers.HaStatus.STANDBY*.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "INVALID", + "ACTIVE", + "STANDBY" + ] + }, + "Vcenter.FoundationLoadBalancers.UtilizationStatus": { + "type": "string", + "description": "The Vcenter.FoundationLoadBalancers.UtilizationStatus enumerated type defines the utilization status of a specific indicator.\n\nPossible values:\n - `INVALID`: The status means can't get the utilization status.\n - `GREEN`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.GREEN*.\n - `YELLOW`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.YELLOW*.\n - `RED`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.RED*.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "INVALID", + "GREEN", + "YELLOW", + "RED" + ] + }, + "Vcenter.FoundationLoadBalancers.DeploymentStatus": { + "type": "string", + "description": "The Vcenter.FoundationLoadBalancers.DeploymentStatus enumerated type describes the deployment status of the backend load balancer node(s).\n\nPossible values:\n - `INVALID`: The status means can't get deployment status of backend load balancer node(s).\n - `IN_PROGRESS`: The deployment process is ongoing.\n - `SUCCESS`: The deployment process is successful.\n - `ERROR`: The deployment process has encountered errors.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "INVALID", + "IN_PROGRESS", + "SUCCESS", + "ERROR" + ] + }, + "Vcenter.FoundationLoadBalancers.HealthStatus": { + "type": "string", + "description": "The Vcenter.FoundationLoadBalancers.HealthStatus enumerated type defines the load balancer workload runtime health status.\n\nPossible values:\n - `INVALID`: The status means can't get workload health status.\n - `GREEN`: The load balancer workload health status is healthy.\n - `YELLOW`: The load balancer workload is almost healthy, there are some errors occurring in non-critical components.\n - `RED`: The load balancer workload is not healthy, there are some critical errors.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "INVALID", + "GREEN", + "YELLOW", + "RED" + ] + }, + "Vcenter.FoundationLoadBalancers.OperationStatus": { + "type": "string", + "description": "The Vcenter.FoundationLoadBalancers.OperationStatus enumerated type defines the consolidated operation status in making changes to associated load balancer.\n\nPossible values:\n - `SUCCESS`: The create/update/redeploy/resize/upgrade operation is successful.\n - `SETTING`: The load balancer is executing operation of creating, updating or increasing the number of load balancer, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.SETTING* status.\n - `SETTING_ERROR`: There are some errors occurring in the process of creating or updating load balancer, it changes into *Vcenter.FoundationLoadBalancers.OperationStatus.SETTING_ERROR* status.\n - `REDEPLOYING`: The load balancer is executing operation of redeploying, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.REDEPLOYING* status. In such status, all other operations which will change the load balancer node status are blocked.\n - `REDEPLOYING_ERROR`: There are some errors occurring in redeploying the load balancer node, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.REDEPLOYING_ERROR* status.\n - `RESIZING`: The load balancer is executing operation of resizing, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.RESIZING* status. In such status, all other operations which will change the load balancer status are blocked.\n - `RESIZING_ERROR`: There are some errors occurring in resizing load balancer, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.RESIZING_ERROR* status.\n - `UPGRADING`: The load balancer is executing operation of upgrading, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.UPGRADING* status. In such status, all other operations which will change the status are blocked.\n - `UPGRADING_ERROR`: There are some errors occurring in upgrading the load balancer, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.UPGRADING_ERROR* status.\n - `DELETING`: The load balancer is executing operation of deleting, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.DELETING* status. In such status, all other operations which will change the load balancer status are blocked.\n - `DELETING_ERROR`: There are some errors occurring in deleting the load balancer, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.DELETING_ERROR* status. In such status, all other operations which will change the load balancer status are blocked.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SUCCESS", + "SETTING", + "SETTING_ERROR", + "REDEPLOYING", + "REDEPLOYING_ERROR", + "RESIZING", + "RESIZING_ERROR", + "UPGRADING", + "UPGRADING_ERROR", + "DELETING", + "DELETING_ERROR" + ] + }, + "Vcenter.FoundationLoadBalancers.SizingSpec": { + "type": "object", + "properties": { + "reserve_cpu": { + "type": "boolean", + "description": "CPU resource reservation: If set to false, no CPU resource is reserved. If set to true, the CPU matching the specified *Vcenter.FoundationLoadBalancers.NodeSize* is fully reserved. If the load balancer node size *Vcenter.FoundationLoadBalancers.NodeSize* is changed, the new size will also be fully reserved. The CPU reservation is calculated as 1GHZ * number of CPUs.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, there is no CPU reserved." + }, + "reserve_mem": { + "type": "boolean", + "description": "Memory resource reservation: If set to false, no memory resource is reserved. If set to true, the memory matching the specified *Vcenter.FoundationLoadBalancers.NodeSize* is fully reserved. If the load balancer node size *Vcenter.FoundationLoadBalancers.NodeSize* is changed, the new size will also be fully reserved.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, there is no memory reserved." + }, + "size": { + "type": "string", + "description": "Deployment size of load balancer node(s).\n\nPossible values:\n - `SMALL`: *Vcenter.FoundationLoadBalancers.NodeSize.SMALL* allocates 2 CPUs, 4 GB memory, and 8 GB storage for deployment.\n - `MEDIUM`: *Vcenter.FoundationLoadBalancers.NodeSize.MEDIUM* allocates 4 CPUs, 8 GB memory, and 8 GB storage for deployment.\n - `LARGE`: *Vcenter.FoundationLoadBalancers.NodeSize.LARGE* allocates 8 CPUs, 12 GB memory, and 8 GB storage for deployment.\n - `X_LARGE`: *Vcenter.FoundationLoadBalancers.NodeSize.X_LARGE* allocates 16 CPUs, 16 GB memory, and 8 GB storage for deployment.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.NodeSize*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, its default value is MEDIUM." + } + }, + "description": "Vcenter.FoundationLoadBalancers.SizingSpec schema defines the capacity of load balancer node(s).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.PlacementSpec": { + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Cluster where the load balancer node(s) should be placed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is currently required, alternative configuration may be supported in the future, if this property is missing or `null`, it may indicate support for cross-cluster functionality.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "res_pool": { + "type": "string", + "description": "Resource pool where the load balancer node(s) should be placed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIn the future, if this property is missing or `null`, the system will attempt to choose a suitable resource pool for the load balancer node(s), if a resource pool can't be chosen, the load balancer node(s) creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "storage_policy": { + "type": "string", + "description": "Identifier of the storage policy which should be associated with the load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field is required for now, In the future, if this property is missing or `null`, it means customer specify datastore directly.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + }, + "folder": { + "type": "string", + "description": "The folder where load balancer node(s) should be placed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf this property is missing or `null`, the load balancer node(s) will stay in the current folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "Vcenter.FoundationLoadBalancers.PlacementSpec schema defines the location information of the load balancer node(s).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.LoadBalancerController": { + "required": [ + "address", + "port" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The load balancer server IP address, e.g., 10.0.0.1.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "port": { + "type": "integer", + "description": "The load balancer controller server port.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.FoundationLoadBalancers.LoadBalancerController schema defines the load balancer controller server network connection information.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.DNS": { + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "The DNS server IP addresses of the load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the servers keep unchanged.", + "items": { + "type": "string" + } + }, + "search_domains": { + "type": "array", + "description": "DNS search domains.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the search domains keep unchanged.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.FoundationLoadBalancers.DNS schema describes DNS servers and search domains for a given network.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.NetworkConfigSpec": { + "type": "object", + "properties": { + "ntp_servers": { + "type": "array", + "description": "The NTP server IP addresses of the load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the ntpServers keep unchanged on load balancer node(s).", + "items": { + "type": "string" + } + }, + "dns": { + "description": "The DNS servers and search domains for a given network.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the servers and search domains keep unchanged on load balancer node(s).", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.DNS" + } + ] + }, + "extra_vip_subnets": { + "type": "array", + "description": "The extra VIP subnets of the load balancer node(s) in CIDR format.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the extraVipSubnets keep unchanged on load balancer node(s).", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.FoundationLoadBalancers.NetworkConfigSpec schema defines load balancer node(s) network configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.LogConfigSpec": { + "type": "object", + "properties": { + "log_verbosity": { + "type": "string", + "description": "Node log level for logging specified events.\n\nPossible values:\n - `DEBUG`: Debug level.\n - `INFO`: Info level.\n - `NOTICE`: Notice level.\n - `WARNING`: Warning level.\n - `ERROR`: Error level.\n - `CRITICAL`: Critical level.\n - `FATAL`: Fatal level.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.LogConfigSpec.LogLevel*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the default value is INFO." + }, + "syslog_server": { + "type": "string", + "description": "Syslog server forwarding configuration, its format follows protocol://hostname|ipv4[:port]. The protocol can be tcp, udp or tls. 'tcp' means transmission of log to server via TCP channel, 'udp' means transmission log to server via UDP channel, 'tls' means transmission via a TLS-encrypted channel.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the default value is empty, it won't forward log to syslog server." + } + }, + "description": "The Vcenter.FoundationLoadBalancers.LogConfigSpec schema defines the load balancer log configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.LogConfigSpec.LogLevel": { + "type": "string", + "description": "The Vcenter.FoundationLoadBalancers.LogConfigSpec.LogLevel enumerated type defines log level.\n\nPossible values:\n - `DEBUG`: Debug level.\n - `INFO`: Info level.\n - `NOTICE`: Notice level.\n - `WARNING`: Warning level.\n - `ERROR`: Error level.\n - `CRITICAL`: Critical level.\n - `FATAL`: Fatal level.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "DEBUG", + "INFO", + "NOTICE", + "WARNING", + "ERROR", + "CRITICAL", + "FATAL" + ] + }, + "Vcenter.FoundationLoadBalancers.IpAddressSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "IP address assignment method.\n\nPossible values:\n - `DHCP`: IP address is automatically assigned by a DHCP server.\n - `STATIC`: IP address is manually assigned.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.IpAddressSpec.Type*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "ip_address": { + "type": "string", + "description": "IP address assigned to the node.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThe field is required when assigning a STATIC type of IP address and skipped when assigning a DHCP type of IP address. The field is automatically populated with currently requested DHCP IP address." + }, + "prefix": { + "type": "integer", + "description": "IP address prefix length.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThe field is required when assigning a STATIC IP address and skipped when assigning a DHCP IP address.", + "format": "int64" + }, + "personas": { + "type": "array", + "description": "The network interface role, it can contain multiple roles used for different scenarios.\n\nPossible values:\n - `MANAGEMENT`: This type is intended for network interface with manager role.\n - `FRONTEND`: This type is intended for network interface used for frontend.\n - `BACKEND`: This type is intended for network interface used for backend.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.IpAddressSpec.Persona*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, keep current configuration unset or unchanged.", + "items": { + "type": "string" + } + }, + "gateway": { + "type": "string", + "description": "The default gateway address of the load balancer node, address in CIDR format, e.g., 10.0.0.1/24.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the default gateway keeps unset or unchanged." + } + }, + "description": "Vcenter.FoundationLoadBalancers.IpAddressSpec schema defines IP address configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.IpAddressSpec.Type": { + "type": "string", + "description": "Vcenter.FoundationLoadBalancers.IpAddressSpec.Type enumerated type defines ways to setup IP address.\n\nPossible values:\n - `DHCP`: IP address is automatically assigned by a DHCP server.\n - `STATIC`: IP address is manually assigned.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "DHCP", + "STATIC" + ] + }, + "Vcenter.FoundationLoadBalancers.IpAddressSpec.Persona": { + "type": "string", + "description": "Vcenter.FoundationLoadBalancers.IpAddressSpec.Persona enumerated type defines how the network interface is used.\n\nPossible values:\n - `MANAGEMENT`: This type is intended for network interface with manager role.\n - `FRONTEND`: This type is intended for network interface used for frontend.\n - `BACKEND`: This type is intended for network interface used for backend.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "MANAGEMENT", + "FRONTEND", + "BACKEND" + ] + }, + "Vcenter.FoundationLoadBalancers.NetworkInterfaceSpec": { + "type": "object", + "properties": { + "ip_settings": { + "type": "array", + "description": "IP configuration of the network interface.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThe field is required for deployment but optional for updating, If missing or `null`, the IP configuration on the network interface will keep unchanged.", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.IpAddressSpec" + } + }, + "network": { + "type": "string", + "description": "The network to which the interface is attached.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThe field is required for deployment but optional for updating, If missing or `null`, current network configuration will keep unchanged.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "device_id": { + "type": "string", + "description": "The network interface device identifier.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThe field is not required when updating an existing network interface or creating a new one. It would be filled when getting the information of the load balancer node, if missing or `null` indicates the network interface is not ready." + } + }, + "description": "Vcenter.FoundationLoadBalancers.NetworkInterfaceSpec schema defines the information that is used for creating network interface.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.NodeInfo": { + "required": [ + "id", + "nics", + "node_runtime_info", + "version" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The load balancer node id generated by service or passed by the caller.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`." + }, + "version": { + "description": "The version of load balancer image running on current node.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Version" + } + ] + }, + "nics": { + "type": "array", + "description": "Network interface configuration of load balancer node.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.NetworkInterfaceSpec" + } + }, + "node_runtime_info": { + "description": "The runtime information of the node.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.NodeRuntimeInfo" + } + ] + } + }, + "description": "The Vcenter.FoundationLoadBalancers.NodeInfo schema defines load balancer permanent description information and runtime operation information.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.Version": { + "required": [ + "major", + "minor", + "patch", + "revision" + ], + "type": "object", + "properties": { + "major": { + "type": "integer", + "description": "Major version number.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "minor": { + "type": "integer", + "description": "Minor version number.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "patch": { + "type": "integer", + "description": "Patch number.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "revision": { + "type": "integer", + "description": "Revision number.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "Vcenter.FoundationLoadBalancers.Version schema defines version number.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.UtilizationInfo": { + "required": [ + "cpu", + "memory" + ], + "type": "object", + "properties": { + "cpu": { + "type": "string", + "description": "CPU utilization. If the utilization is below 75%, the status is GREEN. If utilization is between 75% and 90% for more than 5 minutes, the status changes to YELLOW. If utilization exceeds 90% for more than 5 minutes, the status changes to RED.\n\nPossible values:\n - `INVALID`: The status means can't get the utilization status.\n - `GREEN`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.GREEN*.\n - `YELLOW`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.YELLOW*.\n - `RED`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.RED*.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.UtilizationStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "memory": { + "type": "string", + "description": "Memory utilization. If the utilization is below 85%, the status is GREEN. If utilization is between 85% and 95% for more than 10 minutes, the status changes to YELLOW. If utilization exceeds 95% for more than 10 minutes, the status changes to RED.\n\nPossible values:\n - `INVALID`: The status means can't get the utilization status.\n - `GREEN`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.GREEN*.\n - `YELLOW`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.YELLOW*.\n - `RED`: The utilization status is *Vcenter.FoundationLoadBalancers.UtilizationStatus.RED*.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.UtilizationStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.FoundationLoadBalancers.UtilizationInfo schema defines the combined utilization status, it contains cpu, memory currently.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.NodeRuntimeInfo": { + "required": [ + "deployment_status", + "ha_status", + "health_status", + "maintenance_mode", + "utilization" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "The identifier of virtual machine that runs the load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the virtual machine deployment is not complete.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "maintenance_mode": { + "type": "string", + "description": "The load balancer node maintenance status, the value can be ENABLED, DISABLED or UNKNOWN, If ENABLED, the node does not process network traffic.\n\nPossible values:\n - `ENABLE`: Maintenance mode enabled.\n - `DISABLE`: Maintenance mode disabled.\n - `UNKNOWN`: The status means can't get maintenance status successfully.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.MaintenanceMode*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "management_ip": { + "type": "string", + "description": "The management IP address of the load balancer node.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means the management IP address is not configured or not ready." + }, + "deployment_status": { + "type": "string", + "description": "The deployment status of load balancer node.\n\nPossible values:\n - `INVALID`: The status means can't get deployment status of backend load balancer node(s).\n - `IN_PROGRESS`: The deployment process is ongoing.\n - `SUCCESS`: The deployment process is successful.\n - `ERROR`: The deployment process has encountered errors.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.DeploymentStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "deployment_notifications": { + "type": "array", + "description": "The notification messages used to describe the detailed process of deploying a load balancer node. The load balancer service will try to resolve possible deployment issues, for some resource issues the service can't deal with, it will notify the caller(s) to handle.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means there is no deployment related messages need to notify to the caller(s).", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Notification" + } + }, + "ha_status": { + "type": "string", + "description": "The high availability status.\n\nPossible values:\n - `INVALID`: The status means can't get high availability status.\n - `ACTIVE`: High availability status is *Vcenter.FoundationLoadBalancers.HaStatus.ACTIVE*.\n - `STANDBY`: High availability status is *Vcenter.FoundationLoadBalancers.HaStatus.STANDBY*.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.HaStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "health_status": { + "type": "string", + "description": "The load balancer workload health status.\n\nPossible values:\n - `INVALID`: The status means can't get workload health status.\n - `GREEN`: The load balancer workload health status is healthy.\n - `YELLOW`: The load balancer workload is almost healthy, there are some errors occurring in non-critical components.\n - `RED`: The load balancer workload is not healthy, there are some critical errors.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.HealthStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "health_notifications": { + "type": "array", + "description": "Detailed notifications of health status.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means there is no health related messages need to notify to the caller(s).", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Notification" + } + }, + "workload_alarms": { + "type": "array", + "description": "The load balancer workload alarms.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means no alarms were sent from workload.", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Notification" + } + }, + "utilization": { + "description": "The combined status of load balancer node.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.UtilizationInfo" + } + ] + } + }, + "description": "The Vcenter.FoundationLoadBalancers.NodeRuntimeInfo schema defines load balancer node runtime information.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.Notification": { + "required": [ + "message", + "severity", + "title" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "The notification message severity level, this field indicates the severity of current message, user can select their preferred severity level for notifications based on this field.\n\nPossible values:\n - `INFO`: Info level.\n - `WARNING`: Warning level.\n - `ERROR`: Error level.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.Notification.Severity*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "title": { + "type": "string", + "description": "Fixed string to indicate the notification's type.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "message": { + "type": "string", + "description": "The content of the notification message.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "time": { + "type": "string", + "description": "The generation time of the notification message.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` the notification message doesn't contain a generation time.", + "format": "date-time" + } + }, + "description": "The Vcenter.FoundationLoadBalancers.Notification schema contains properties to describe any info/warning/error messages that the service can raise in deploying/configuring/running the load balancers.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.Notification.Severity": { + "type": "string", + "description": "The Vcenter.FoundationLoadBalancers.Notification.Severity enumerated type defines the severity level of notification message.\n\nPossible values:\n - `INFO`: Info level.\n - `WARNING`: Warning level.\n - `ERROR`: Error level.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.FoundationLoadBalancers.RuntimeInfo": { + "required": [ + "deployment_status", + "health_status", + "operation_status", + "utilization" + ], + "type": "object", + "properties": { + "operation_status": { + "type": "string", + "description": "The consolidated operation status of load balancer, it describes which stage the operation is in when making changes to current associated load balancer.\n\nPossible values:\n - `SUCCESS`: The create/update/redeploy/resize/upgrade operation is successful.\n - `SETTING`: The load balancer is executing operation of creating, updating or increasing the number of load balancer, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.SETTING* status.\n - `SETTING_ERROR`: There are some errors occurring in the process of creating or updating load balancer, it changes into *Vcenter.FoundationLoadBalancers.OperationStatus.SETTING_ERROR* status.\n - `REDEPLOYING`: The load balancer is executing operation of redeploying, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.REDEPLOYING* status. In such status, all other operations which will change the load balancer node status are blocked.\n - `REDEPLOYING_ERROR`: There are some errors occurring in redeploying the load balancer node, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.REDEPLOYING_ERROR* status.\n - `RESIZING`: The load balancer is executing operation of resizing, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.RESIZING* status. In such status, all other operations which will change the load balancer status are blocked.\n - `RESIZING_ERROR`: There are some errors occurring in resizing load balancer, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.RESIZING_ERROR* status.\n - `UPGRADING`: The load balancer is executing operation of upgrading, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.UPGRADING* status. In such status, all other operations which will change the status are blocked.\n - `UPGRADING_ERROR`: There are some errors occurring in upgrading the load balancer, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.UPGRADING_ERROR* status.\n - `DELETING`: The load balancer is executing operation of deleting, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.DELETING* status. In such status, all other operations which will change the load balancer status are blocked.\n - `DELETING_ERROR`: There are some errors occurring in deleting the load balancer, it keeps in *Vcenter.FoundationLoadBalancers.OperationStatus.DELETING_ERROR* status. In such status, all other operations which will change the load balancer status are blocked.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.OperationStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "operation_notifications": { + "type": "array", + "description": "The notification messages used to describe the detailed process of making changes to current associated load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means there isn't any exception to notify the caller(s).", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Notification" + } + }, + "deployment_status": { + "type": "string", + "description": "The consolidated deployment status of all backend load balancer node(s).\n\nPossible values:\n - `INVALID`: The status means can't get deployment status of backend load balancer node(s).\n - `IN_PROGRESS`: The deployment process is ongoing.\n - `SUCCESS`: The deployment process is successful.\n - `ERROR`: The deployment process has encountered errors.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.DeploymentStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "health_status": { + "type": "string", + "description": "The consolidated health status of load balancer workload(s), more information of the health status refers to specific load balancer node.\n\nPossible values:\n - `INVALID`: The status means can't get workload health status.\n - `GREEN`: The load balancer workload health status is healthy.\n - `YELLOW`: The load balancer workload is almost healthy, there are some errors occurring in non-critical components.\n - `RED`: The load balancer workload is not healthy, there are some critical errors.\n\n\nFor more information see: *Vcenter.FoundationLoadBalancers.HealthStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "utilization": { + "description": "The consolidated utilization status of load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.UtilizationInfo" + } + ] + } + }, + "description": "The Vcenter.FoundationLoadBalancers.RuntimeInfo schema defines load balancer different status information while the load balancer is running.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.Info": { + "required": [ + "id", + "name", + "network_config_spec", + "node_info_map", + "owner", + "placement_spec", + "replica", + "runtime", + "size", + "version" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`." + }, + "name": { + "type": "string", + "description": "The name of the load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "owner": { + "type": "string", + "description": "The owner of the load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "owner_id": { + "type": "string", + "description": "The owner identifier of the load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, it means the owner identifier is not configured when creating the load balancer." + }, + "replica": { + "type": "integer", + "description": "The replica number of the load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "size": { + "description": "The load balancer node(s) capacity.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.SizingSpec" + } + ] + }, + "available_versions": { + "type": "array", + "description": "The available versions could be used for upgrading.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means there are no versions for upgrading.", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Version" + } + }, + "version": { + "description": "The version of load balancer image.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Version" + } + ] + }, + "placement_spec": { + "description": "The placement configuration of load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.PlacementSpec" + } + ] + }, + "network_config_spec": { + "description": "The network configuration of load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.NetworkConfigSpec" + } + ] + }, + "log_config_spec": { + "description": "The log configuration of load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means doesn't configure log setting when creating load balancer.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.LogConfigSpec" + } + ] + }, + "load_balancer_controllers": { + "type": "array", + "description": "The location of load balancer controller.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means doesn't configure load balancer controller when creating load balancer.", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.LoadBalancerController" + } + }, + "node_info_map": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.NodeInfo" + }, + "description": "The load balancer node(s) information, the key(ID) was dynamically generated when creating the load balancer node and it will stick with the load balancer node during the whole lifecycle, even if you make changes to the load balancer node, such as reconfiguration and redeployment.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`." + }, + "trusted_ca": { + "description": "The TLS certificate chain of the load balancer used by load balancer node(s) to verify the load balancer controller.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, load balancer node(s) use system-wide certificates finishing the verification process for load balancer controller.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + }, + "runtime": { + "description": "The runtime information associated with load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.RuntimeInfo" + } + ] + }, + "system_trusted_cas": { + "type": "array", + "description": "List of trusted CA certificate chains used by load balancer node(s) for verifying the TLS certificates. These certificate chains are imported into the system-wide database to secure TLS connections of load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the system certificate store of the load balancer node(s) will remain empty.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + } + }, + "description": "The Vcenter.FoundationLoadBalancers.Info schema defines information about load balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.FilterSpec": { + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "The creator name of load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, it won't match creator information when listing load balancers." + }, + "owner_id": { + "type": "string", + "description": "The load balancer creator identifier.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, it won't match creator information when listing load balancers." + }, + "name": { + "type": "string", + "description": "The load balancer name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, it won't match load balancer name when listing load balancers." + }, + "full_info": { + "type": "boolean", + "description": "The field indicates whether to get load balancer detailed info list, if the value is true, get load balancer detailed info list and ID list, if the value is false, get load balancer ID list only.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means get load balancer ID list only." + } + }, + "description": "The Vcenter.FoundationLoadBalancers.FilterSpec schema contains parameters used for filter the results when listing load balancers.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.ListResult": { + "required": [ + "load_balancers" + ], + "type": "object", + "properties": { + "load_balancers": { + "uniqueItems": true, + "type": "array", + "description": "Identifier(s) of load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.FoundationLoadBalancer`.", + "items": { + "type": "string" + } + }, + "infos": { + "type": "array", + "description": "Detailed info list of load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` means client doesn't intend to get a detailed info list.", + "items": { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.Info" + } + } + }, + "description": "The Vcenter.FoundationLoadBalancers.ListResult schema contains commonly used information about a load balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.ControllerSpec": { + "type": "object", + "properties": { + "jwt": { + "type": "string", + "description": "Token used by load balancer node(s) to authenticate with the controller.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, load balancer node(s) won't have a token in JWT format when accessing load balancer controller.", + "format": "password" + }, + "trusted_ca": { + "description": "The TLS certificate chain of the load balancer used by load balancer node(s) to verify the load balancer controller.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, load balancer node(s) will stop certificate verification workflow for load balancer controller.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + } + }, + "description": "Vcenter.FoundationLoadBalancers.ControllerSpec schema defines information for load balancer node(s) connecting to controller.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.LoginConfigSpec": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password used for \"vmware-system-user\" user.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the value keeps unset or unchanged.", + "format": "password" + }, + "authorized_keys": { + "type": "array", + "description": "The authorized keys of the load balancer node(s) for key-based ssh login.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the value keeps unset or unchanged.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.FoundationLoadBalancers.LoginConfigSpec schema defines login configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.PasswordSpec": { + "required": [ + "password" + ], + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "The field indicates the new password user wants to set to the load balancer node.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "password" + } + }, + "description": "The Vcenter.FoundationLoadBalancers.PasswordSpec schema defines the new password for load balancer node(s).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Host.ConnectionState": { + "type": "string", + "description": "The Vcenter.Host.ConnectionState enumerated type defines the connection status of a host.\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n", + "enum": [ + "CONNECTED", + "DISCONNECTED", + "NOT_RESPONDING" + ] + }, + "Vcenter.Host.PowerState": { + "type": "string", + "description": "The Vcenter.Host.PowerState enumerated type defines the power states of a host.\n\nPossible values:\n - `POWERED_ON`: The host is powered on. A host that is entering standby mode is also in this state.\n - `POWERED_OFF`: The host was specifically powered off by the user through vCenter server. This state is not a certain state, because after vCenter server issues the command to power off the host, the host might crash, or kill all the processes but fail to power off.\n - `STANDBY`: The host was specifically put in standby mode, either explicitly by the user, or automatically by DPM. This state is not a certain state, because after VirtualCenter issues the command to put the host in standby state, the host might crash, or kill all the processes but fail to enter standby mode. A host that is exiting standby mode is also in this state.\n", + "enum": [ + "POWERED_ON", + "POWERED_OFF", + "STANDBY" + ] + }, + "Vcenter.Host.CreateSpec": { + "required": [ + "hostname", + "password", + "thumbprint_verification", + "user_name" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the host." + }, + "port": { + "type": "integer", + "description": "The port of the host.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "user_name": { + "type": "string", + "description": "The administrator account on the host." + }, + "password": { + "type": "string", + "description": "The password for the administrator account on the host.", + "format": "password" + }, + "folder": { + "type": "string", + "description": "Host and cluster folder in which the new standalone host should be created.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose a suitable folder for the host; if a folder cannot be chosen, the host creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "thumbprint_verification": { + "type": "string", + "description": "Type of host's SSL certificate verification to be done.\n\nPossible values:\n - `NONE`: Accept the host's thumbprint without verifying it.\n - `THUMBPRINT`: Host's SSL certificate verified by checking its thumbprint against the specified thumbprint.\n - `CERTIFICATE`: Host's SSL certificate verified by checking it against the provided PEM SSL certificate.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Host.CreateSpec.ThumbprintVerification*." + }, + "thumbprint": { + "type": "string", + "description": "The thumbprint of the SSL certificate, which the host is expected to have. The thumbprint is always computed using the SHA1 hash and is the string representation of that hash in the format: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx where, 'x' represents a hexadecimal digit.\n\nThis property is optional and it is only relevant when the value of thumbprint_verification is *Vcenter.Host.CreateSpec.ThumbprintVerification.THUMBPRINT*." + }, + "ssl_certificate": { + "type": "string", + "description": "The SSL certificate in PEM format, which the host is expected to have.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of thumbprint_verification is *Vcenter.Host.CreateSpec.ThumbprintVerification.CERTIFICATE*." + }, + "force_add": { + "type": "boolean", + "description": "Whether host should be added to the vCenter Server even if it is being managed by another vCenter Server. The original vCenterServer loses connection to the host.\n\nIf missing or `null`, forceAdd is default to false." + } + }, + "description": "The Vcenter.Host.CreateSpec schema defines the information used to create a host." + }, + "Vcenter.Host.CreateSpec.ThumbprintVerification": { + "type": "string", + "description": "The Vcenter.Host.CreateSpec.ThumbprintVerification enumerated type defines the thumbprint verification schemes for a host's SSL certificate.\n\nPossible values:\n - `NONE`: Accept the host's thumbprint without verifying it.\n - `THUMBPRINT`: Host's SSL certificate verified by checking its thumbprint against the specified thumbprint.\n - `CERTIFICATE`: Host's SSL certificate verified by checking it against the provided PEM SSL certificate.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n", + "enum": [ + "NONE", + "THUMBPRINT", + "CERTIFICATE" + ] + }, + "Vcenter.Host.FilterSpec": { + "type": "object", + "properties": { + "standalone": { + "type": "boolean", + "description": "If true, only hosts that are not part of a cluster can match the filter, and if false, only hosts that are are part of a cluster can match the filter.\n\nIf missing or `null` Hosts can match filter independent of whether they are part of a cluster or not. If this field is true and *Vcenter.Host.FilterSpec.clusters* is not empty, no hosts will match the filter." + } + }, + "description": "The Vcenter.Host.FilterSpec schema contains properties used to filter the results when listing hosts (see *GET /vcenter/host*). If multiple properties are specified, only hosts matching all of the properties match the filter." + }, + "Vcenter.Host.Summary": { + "required": [ + "connection_state", + "host", + "name" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Identifier of the host.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "name": { + "type": "string", + "description": "Name of the host." + }, + "connection_state": { + "type": "string", + "description": "Connection status of the host\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n\n\nFor more information see: *Vcenter.Host.ConnectionState*." + }, + "power_state": { + "type": "string", + "description": "Power state of the host\n\nPossible values:\n - `POWERED_ON`: The host is powered on. A host that is entering standby mode is also in this state.\n - `POWERED_OFF`: The host was specifically powered off by the user through vCenter server. This state is not a certain state, because after vCenter server issues the command to power off the host, the host might crash, or kill all the processes but fail to power off.\n - `STANDBY`: The host was specifically put in standby mode, either explicitly by the user, or automatically by DPM. This state is not a certain state, because after VirtualCenter issues the command to put the host in standby state, the host might crash, or kill all the processes but fail to enter standby mode. A host that is exiting standby mode is also in this state.\n\n\nFor more information see: *Vcenter.Host.PowerState*.\n\nThis property is optional and it is only relevant when the value of connection_state is *Vcenter.Host.ConnectionState.CONNECTED*." + }, + "host_uuid": { + "type": "string", + "description": "UUID of the host. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vcenter.Host.Summary schema contains commonly used information about a host in vCenter Server." + }, + "Vcenter.Network.Type": { + "type": "string", + "description": "The Vcenter.Network.Type enumerated type defines the type of a vCenter Server network. The type of a network can be used to determine what features it supports and which APIs can be used to find more information about the network or change its configuration.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n", + "enum": [ + "STANDARD_PORTGROUP", + "DISTRIBUTED_PORTGROUP", + "OPAQUE_NETWORK" + ] + }, + "Vcenter.Network.FilterSpec": { + "type": "object", + "properties": { + "networks": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of networks that can match the filter.\n\nIf missing or `null` or empty, networks with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that networks must have to match the filter (see *Vcenter.Network.Summary.name*).\n\nIf missing or `null` or empty, networks with any name match the filter.", + "items": { + "type": "string" + } + }, + "types": { + "uniqueItems": true, + "type": "array", + "description": "Types that networks must have to match the filter (see *Vcenter.Network.Summary.type*).\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*.\n\nIf missing or `null`, networks with any type match the filter.", + "items": { + "type": "string" + } + }, + "folders": { + "uniqueItems": true, + "type": "array", + "description": "Folders that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "items": { + "type": "string" + } + }, + "datacenters": { + "uniqueItems": true, + "type": "array", + "description": "Datacenters that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Network.FilterSpec schema contains properties used to filter the results when listing networks (see *GET /vcenter/network*). If multiple properties are specified, only networks matching all of the properties match the filter." + }, + "Vcenter.Network.Summary": { + "required": [ + "name", + "network", + "type" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the network.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "name": { + "type": "string", + "description": "Name of the network." + }, + "type": { + "type": "string", + "description": "Type (Type) of the vCenter Server network.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*." + } + }, + "description": "The Vcenter.Network.Summary schema contains commonly used information about a network." + }, + "Vcenter.RegisteredTokens.CreateSpec": { + "type": "object", + "properties": { + "expanded_access_token": { + "type": "string", + "description": "The Expanded Token with all authorization claims, obtained by following the \"ovl\" link.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the token will not be stored.", + "format": "password" + } + }, + "description": "The Vcenter.RegisteredTokens.CreateSpec schema contains information about the specific tokens that require registration.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ResourcePool.SharesInfo": { + "required": [ + "level" + ], + "type": "object", + "properties": { + "level": { + "type": "string", + "description": "The allocation level. It maps to a pre-determined set of numeric values for shares. If the shares value does not map to a predefined size, then the level is set as CUSTOM.\n\nPossible values:\n - `LOW`: For CPU: Shares = 500 * number of virtual CPUs. \n For Memory: Shares = 5 * virtual machine memory size in MB. \n\n - `NORMAL`: For CPU: Shares = 1000 * number of virtual CPUs. \n For Memory: Shares = 10 * virtual machine memory size in MB. \n\n - `HIGH`: For CPU: Shares = 2000 * number of virtual CPUs. \n For Memory: Shares = 20 * virtual machine memory size in MB. \n\n - `CUSTOM`: If set, in case there is resource contention the server uses the shares value to determine the resource allocation.\n\n\nFor more information see: *Vcenter.ResourcePool.SharesInfo.Level*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "shares": { + "type": "integer", + "description": "When *Vcenter.ResourcePool.SharesInfo.level* is set to CUSTOM, it is the number of shares allocated. Otherwise, this value is ignored. \n\n There is no unit for this value. It is a relative measure based on the settings for other resource pools.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of level is *Vcenter.ResourcePool.SharesInfo.Level.CUSTOM*.", + "format": "int64" + } + }, + "description": "The Vcenter.ResourcePool.SharesInfo schema provides specification of shares. \n\n Shares are used to determine relative allocation between resource consumers. In general, a consumer with more shares gets proportionally more of the resource, subject to certain other constraints.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.ResourcePool.SharesInfo.Level": { + "type": "string", + "description": "The Vcenter.ResourcePool.SharesInfo.Level enumerated type defines the possible values for the allocation level.\n\nPossible values:\n - `LOW`: For CPU: Shares = 500 * number of virtual CPUs. \n For Memory: Shares = 5 * virtual machine memory size in MB. \n\n - `NORMAL`: For CPU: Shares = 1000 * number of virtual CPUs. \n For Memory: Shares = 10 * virtual machine memory size in MB. \n\n - `HIGH`: For CPU: Shares = 2000 * number of virtual CPUs. \n For Memory: Shares = 20 * virtual machine memory size in MB. \n\n - `CUSTOM`: If set, in case there is resource contention the server uses the shares value to determine the resource allocation.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "LOW", + "NORMAL", + "HIGH", + "CUSTOM" + ] + }, + "Vcenter.ResourcePool.ResourceAllocationInfo": { + "required": [ + "expandable_reservation", + "limit", + "reservation", + "shares" + ], + "type": "object", + "properties": { + "reservation": { + "type": "integer", + "description": "Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "expandable_reservation": { + "type": "boolean", + "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "limit": { + "type": "integer", + "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "shares": { + "description": "Shares are used in case of resource contention.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.SharesInfo" + } + ] + } + }, + "description": "The Vcenter.ResourcePool.ResourceAllocationInfo schema contains resource allocation information of a resource pool.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.ResourcePool.Info": { + "required": [ + "name", + "resource_pools" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the vCenter Server resource pool." + }, + "resource_pools": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the child resource pools contained in this resource pool.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "items": { + "type": "string" + } + }, + "cpu_allocation": { + "description": "Resource allocation information for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.ResourceAllocationInfo" + } + ] + }, + "memory_allocation": { + "description": "Resource allocation information for memory.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.ResourceAllocationInfo" + } + ] + } + }, + "description": "The Vcenter.ResourcePool.Info schema contains information about a resource pool." + }, + "Vcenter.ResourcePool.FilterSpec": { + "type": "object", + "properties": { + "resource_pools": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of resource pools that can match the filter.\n\nIf missing or `null` or empty, resource pools with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that resource pools must have to match the filter (see *Vcenter.ResourcePool.Info.name*).\n\nIf missing or `null` or empty, resource pools with any name match the filter.", + "items": { + "type": "string" + } + }, + "parent_resource_pools": { + "uniqueItems": true, + "type": "array", + "description": "Resource pools that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "items": { + "type": "string" + } + }, + "datacenters": { + "uniqueItems": true, + "type": "array", + "description": "Datacenters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "items": { + "type": "string" + } + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "Clusters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.ResourcePool.FilterSpec schema contains properties used to filter the results when listing resource pools (see *GET /vcenter/resource-pool*). If multiple properties are specified, only resource pools matching all of the properties match the filter." + }, + "Vcenter.ResourcePool.Summary": { + "required": [ + "name", + "resource_pool" + ], + "type": "object", + "properties": { + "resource_pool": { + "type": "string", + "description": "Identifier of the resource pool.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "name": { + "type": "string", + "description": "Name of the resource pool." + } + }, + "description": "The Vcenter.ResourcePool.Summary schema contains commonly used information about a resource pool in vCenter Server." + }, + "Vcenter.ResourcePool.ResourceAllocationCreateSpec": { + "type": "object", + "properties": { + "reservation": { + "type": "integer", + "description": "Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, *Vcenter.ResourcePool.ResourceAllocationCreateSpec.reservation* will be set to 0.", + "format": "int64" + }, + "expandable_reservation": { + "type": "boolean", + "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, *Vcenter.ResourcePool.ResourceAllocationCreateSpec.expandable_reservation* will be set to true." + }, + "limit": { + "type": "integer", + "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, *Vcenter.ResourcePool.ResourceAllocationCreateSpec.limit* will be set to -1.", + "format": "int64" + }, + "shares": { + "description": "Shares are used in case of resource contention.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, *Vcenter.ResourcePool.ResourceAllocationCreateSpec.shares* will be set to '*Vcenter.ResourcePool.SharesInfo.Level.NORMAL*'.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.SharesInfo" + } + ] + } + }, + "description": "The Vcenter.ResourcePool.ResourceAllocationCreateSpec schema contains resource allocation information used to create a resource pool, see *POST /vcenter/resource-pool*.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.ResourcePool.CreateSpec": { + "required": [ + "name", + "parent" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the resource pool.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "parent": { + "type": "string", + "description": "Parent of the created resource pool.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "cpu_allocation": { + "description": "Resource allocation for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty, use the default CPU allocation specification.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.ResourceAllocationCreateSpec" + } + ] + }, + "memory_allocation": { + "description": "Resource allocation for memory.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty, use the default memory allocation specification.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.ResourceAllocationCreateSpec" + } + ] + } + }, + "description": "The *Vcenter.ResourcePool.CreateSpec* schema contains information used to create a resource pool, see *POST /vcenter/resource-pool*.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.ResourcePool.ResourceAllocationUpdateSpec": { + "type": "object", + "properties": { + "reservation": { + "type": "integer", + "description": "Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, reservation will be set to 0.", + "format": "int64" + }, + "expandable_reservation": { + "type": "boolean", + "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, expandable_reservation will be set to true." + }, + "limit": { + "type": "integer", + "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, limit will be set to -1.", + "format": "int64" + }, + "shares": { + "description": "Shares are used in case of resource contention.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, shares will be set to '*Vcenter.ResourcePool.SharesInfo.Level.NORMAL*'.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.SharesInfo" + } + ] + } + }, + "description": "The resource_allocation_update_spec schema describes the updates to be made to the resource allocation settings of a resource pool.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.ResourcePool.UpdateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the resource pool.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty, the name of the resource pool will not be changed." + }, + "cpu_allocation": { + "description": "Resource allocation for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty, the CPU allocation of the resource pool will not be changed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.ResourceAllocationUpdateSpec" + } + ] + }, + "memory_allocation": { + "description": "Resource allocation for memory.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif missing or `null` or empty, the memory allocation of the resource pool will not be changed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.ResourceAllocationUpdateSpec" + } + ] + } + }, + "description": "The *Vcenter.ResourcePool.UpdateSpec* schema contains specification for updating the configuration of a resource pool.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.System.HelloResult": { + "required": [ + "api_release" + ], + "type": "object", + "properties": { + "api_release": { + "type": "string", + "description": "The ID of a mutually-supported API release. This ID should be used in subsequent API calls to the current vCenter system. \n\n If there is no mutually-supported API release, the value will be an empty string, e.g. `\"\"`. Typically, this is a case where one of the parties is much older than the other party.\n\nThis property was added in __vSphere API 8.0.2.0__." + } + }, + "description": "The Vcenter.System.HelloResult schema contains common API communication parameters.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Vcenter.System.HelloSpec": { + "required": [ + "api_releases" + ], + "type": "object", + "properties": { + "api_releases": { + "type": "array", + "description": "List of API release IDs that the client can work with in order of preference. The server will select the first mutually supported release ID.\n\nThis property was added in __vSphere API 8.0.2.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.System.HelloSpec schema describes the API client preferences.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Vcenter.VM.InventoryPlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine should be placed.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.VM.InventoryPlacementSpec schema contains information used to place a virtual machine in the vCenter inventory." + }, + "Vcenter.VM.ComputePlacementSpec": { + "type": "object", + "properties": { + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine should be placed.\n\nThis property is currently required if both host and cluster are missing or `null`. In the future, if this property is missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster into which the virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.VM.ComputePlacementSpec schema contains information used to place a virtual machine on compute resources." + }, + "Vcenter.VM.StoragePlacementSpec": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Datastore on which the virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are created as part of the virtual machine creation operation.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose suitable storage for the virtual machine; if storage cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.VM.StoragePlacementSpec schema contains information used to store a virtual machine's files." + }, + "Vcenter.VM.PlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine should be placed.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine should be placed.\n\nThis property is currently required if both host and cluster are missing or `null`. In the future, if this property is missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster into which the virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "datastore": { + "type": "string", + "description": "Datastore on which the virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are created as part of the virtual machine creation operation.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose suitable storage for the virtual machine; if storage cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.VM.PlacementSpec schema contains information used to place a virtual machine onto resources within the vCenter inventory." + }, + "Vcenter.VM.StoragePolicySpec": { + "required": [ + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the storage policy which should be associated with the virtual machine.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + } + }, + "description": "The Vcenter.VM.StoragePolicySpec schema contains information about the storage policy to be associated with a virtual machine object.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.VM.CreateSpec": { + "required": [ + "guest_os" + ], + "type": "object", + "properties": { + "guest_os": { + "type": "string", + "description": "Guest OS.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*." + }, + "name": { + "type": "string", + "description": "Virtual machine name.\n\nIf missing or `null`, a default name will be generated by the server." + }, + "placement": { + "description": "Virtual machine placement information.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose suitable resources on which to place the virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.PlacementSpec" + } + ] + }, + "hardware_version": { + "type": "string", + "description": "Virtual hardware version.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nIf missing or `null`, defaults to the most recent version supported by the server." + }, + "boot": { + "description": "Boot configuration.\n\nIf missing or `null`, guest-specific default values will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.CreateSpec" + } + ] + }, + "boot_devices": { + "type": "array", + "description": "Boot device configuration.\n\nIf missing or `null`, a server-specific boot sequence will be used.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.EntryCreateSpec" + } + }, + "cpu": { + "description": "CPU configuration.\n\nIf missing or `null`, guest-specific default values will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.UpdateSpec" + } + ] + }, + "memory": { + "description": "Memory configuration.\n\nIf missing or `null`, guest-specific default values will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.UpdateSpec" + } + ] + }, + "disks": { + "type": "array", + "description": "List of disks.\n\nIf missing or `null`, a single blank virtual disk of a guest-specific size will be created on the same storage as the virtual machine configuration, and will use a guest-specific host bus adapter type. If the guest-specific size is 0, no virtual disk will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.CreateSpec" + } + }, + "nics": { + "type": "array", + "description": "List of Ethernet adapters.\n\nIf missing or `null`, no Ethernet adapters will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.CreateSpec" + } + }, + "cdroms": { + "type": "array", + "description": "List of CD-ROMs.\n\nIf missing or `null`, no CD-ROM devices will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.CreateSpec" + } + }, + "floppies": { + "type": "array", + "description": "List of floppy drives.\n\nIf missing or `null`, no floppy drives will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.CreateSpec" + } + }, + "parallel_ports": { + "type": "array", + "description": "List of parallel ports.\n\nIf missing or `null`, no parallel ports will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.CreateSpec" + } + }, + "serial_ports": { + "type": "array", + "description": "List of serial ports.\n\nIf missing or `null`, no serial ports will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.CreateSpec" + } + }, + "sata_adapters": { + "type": "array", + "description": "List of SATA adapters.\n\nIf missing or `null`, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a SATA host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is SATA.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.CreateSpec" + } + }, + "scsi_adapters": { + "type": "array", + "description": "List of SCSI adapters.\n\nIf missing or `null`, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a SCSI host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is SCSI. The type of the SCSI adapter will be a guest-specific default type.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.CreateSpec" + } + }, + "nvme_adapters": { + "type": "array", + "description": "List of NVMe adapters.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a NVMe host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is NVMe.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.CreateSpec" + } + }, + "storage_policy": { + "description": "The Vcenter.VM.StoragePolicySpec schema contains information about the storage policy that is to be associated with the virtual machine home (which contains the configuration and log files).\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the datastore default storage policy (if applicable) is applied. Currently a default storage policy is only supported by object datastores : VVol and vSAN. For non-object datastores, if missing or `null` then no storage policy would be associated with the virtual machine home.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.StoragePolicySpec" + } + ] + } + }, + "description": "Document-based creation spec." + }, + "Vcenter.VM.Info": { + "required": [ + "boot", + "boot_devices", + "cdroms", + "cpu", + "disks", + "floppies", + "guest_os", + "hardware", + "memory", + "name", + "nics", + "parallel_ports", + "power_state", + "sata_adapters", + "scsi_adapters", + "serial_ports" + ], + "type": "object", + "properties": { + "guest_os": { + "type": "string", + "description": "Guest OS.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*." + }, + "name": { + "type": "string", + "description": "Virtual machine name." + }, + "identity": { + "description": "Identity of the virtual machine.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Identity.Info" + } + ] + }, + "power_state": { + "type": "string", + "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." + }, + "instant_clone_frozen": { + "type": "boolean", + "description": "Indicates whether the virtual machine is frozen for instant clone, or not.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "hardware": { + "description": "Virtual hardware version information.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Info" + } + ] + }, + "boot": { + "description": "Boot configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Info" + } + ] + }, + "boot_devices": { + "type": "array", + "description": "Boot device configuration. If the list has no entries, a server-specific default boot sequence is used.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.Entry" + } + }, + "cpu": { + "description": "CPU configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.Info" + } + ] + }, + "memory": { + "description": "Memory configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.Info" + } + ] + }, + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.Info" + }, + "description": "List of disks.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "nics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.Info" + }, + "description": "List of Ethernet adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "cdroms": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.Info" + }, + "description": "List of CD-ROMs.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`." + }, + "floppies": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.Info" + }, + "description": "List of floppy drives.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`." + }, + "parallel_ports": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.Info" + }, + "description": "List of parallel ports.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`." + }, + "serial_ports": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.Info" + }, + "description": "List of serial ports.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`." + }, + "sata_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.Info" + }, + "description": "List of SATA adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`." + }, + "scsi_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.Info" + }, + "description": "List of SCSI adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`." + }, + "nvme_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.Info" + }, + "description": "List of NVMe adapters.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`." + } + }, + "description": "Document-based info." + }, + "Vcenter.VM.GuestCustomizationSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the customization specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no guest customization is performed." + } + }, + "description": "The Vcenter.VM.GuestCustomizationSpec schema contains information required to customize a virtual machine when deploying it.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.VM.DiskCloneSpec": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Destination datastore to clone disk.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is currently required. In the future, if this property is missing or `null` disk will be copied to the datastore specified in the *Vcenter.VM.ClonePlacementSpec.datastore* property of *Vcenter.VM.CloneSpec.placement*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "Document-based disk clone spec.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.VM.ClonePlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the cloned virtual machine should be placed.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf property is missing or `null`, the system will use the virtual machine folder of the source virtual machine. If this results in a conflict due to other placement parameters, the virtual machine clone operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the cloned virtual machine should be placed.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf property is missing or `null`, the system will use the resource pool of the source virtual machine. If this results in a conflict due to other placement parameters, the virtual machine clone operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the cloned virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf this property is unset, if resource_pool is unset, the cloned virtual machine will use the host of the source virtual machine. if resource_pool is set, and the target is a standalone host, the host is used. if resource_pool is set, and the target is a DRS cluster, a host will be picked by DRS. if resource_pool is set, and the target is a cluster without DRS, InvalidArgument will be thrown.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster into which the cloned virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "datastore": { + "type": "string", + "description": "Datastore on which the cloned virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are created as part of the virtual machine clone operation unless individually overridden.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf property is missing or `null`, the system will use the datastore of the source virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.VM.ClonePlacementSpec schema contains information used to place a clone of a virtual machine onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.VM.CloneSpec": { + "required": [ + "name", + "source" + ], + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "Virtual machine to clone from.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "name": { + "type": "string", + "description": "Virtual machine name.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "placement": { + "description": "Virtual machine placement information.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf this property is missing or `null`, the system will use the values from the source virtual machine. If specified, each field will be used for placement. If the fields result in disjoint placement the operation will fail. If the fields along with the placement values of the source virtual machine result in disjoint placement the operation will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.ClonePlacementSpec" + } + ] + }, + "disks_to_remove": { + "uniqueItems": true, + "type": "array", + "description": "Set of Disks to Remove.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, all disks will be copied. If the same identifier is in *Vcenter.VM.CloneSpec.disks_to_update* InvalidArgument fault will be returned.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + }, + "disks_to_update": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VM.DiskCloneSpec" + }, + "description": "Map of Disks to Update.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, all disks will copied to the datastore specified in the *Vcenter.VM.ClonePlacementSpec.datastore* property of *Vcenter.VM.CloneSpec.placement*. If the same identifier is in *Vcenter.VM.CloneSpec.disks_to_remove* InvalidArgument fault will be thrown.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "power_on": { + "type": "boolean", + "description": "Attempt to perform a *Vcenter.VM.CloneSpec.power_on* after clone.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the virtual machine will not be powered on." + }, + "guest_customization_spec": { + "description": "Guest customization spec to apply to the virtual machine after the virtual machine is deployed.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the guest operating system is not customized after clone.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.GuestCustomizationSpec" + } + ] + } + }, + "description": "Document-based clone spec.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.VM.DiskRelocateSpec": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Destination datastore to relocate disk.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is currently required. In the future, if this property is unset, disk will use the datastore specified in *Vcenter.VM.RelocatePlacementSpec.datastore* property of *Vcenter.VM.RelocateSpec.placement*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "Document-based disk relocate spec.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.VM.RelocatePlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine should be placed.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf this property is missing or `null`, the virtual machine will stay in the current folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine should be placed.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf this property is missing or `null`, the virtual machine will stay in the current resource pool.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf this property is unset, if resource_pool is unset, the virtual machine will remain on the current host. if resource_pool is set, and the target is a standalone host, the host is used. if resource_pool is set, and the target is a DRS cluster, a host will be picked by DRS. if resource_pool is set, and the target is a cluster without DRS, InvalidArgument will be thrown.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster into which the virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "datastore": { + "type": "string", + "description": "Datastore on which the virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are associated with the virtual machine, unless individually overridden.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf this property is missing or `null`, the virtual machine will remain on the current datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.VM.RelocatePlacementSpec schema contains information used to change the placement of an existing virtual machine within the vCenter inventory.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.VM.RelocateSpec": { + "type": "object", + "properties": { + "placement": { + "description": "Virtual machine placement information.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf this property is missing or `null`, the system will use the values from the source virtual machine. If specified, each field will be used for placement. If the fields result in disjoint placement the operation will fail. If the fields along with the other existing placement of the virtual machine result in disjoint placement the operation will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.RelocatePlacementSpec" + } + ] + }, + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VM.DiskRelocateSpec" + }, + "description": "Individual disk relocation map.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, all disks will migrate to the datastore specified in the *Vcenter.VM.RelocatePlacementSpec.datastore* property of *Vcenter.VM.RelocateSpec.placement*.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "Document-based relocate spec.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.VM.InstantClonePlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the InstantCloned virtual machine should be placed.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf property is missing or `null`, the system will use the virtual machine folder of the source virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the InstantCloned virtual machine should be placed.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf property is missing or `null`, the system will use the resource pool of the source virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "datastore": { + "type": "string", + "description": "Datastore on which the InstantCloned virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are created as part of the virtual machine InstantClone operation.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf property is missing or `null`, the system will use the datastore of the source virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.VM.InstantClonePlacementSpec schema contains information used to place an InstantClone of a virtual machine onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.VM.InstantCloneSpec": { + "required": [ + "name", + "source" + ], + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "Virtual machine to InstantClone from.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "name": { + "type": "string", + "description": "Name of the new virtual machine.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "placement": { + "description": "Virtual machine placement information.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf this property is missing or `null`, the system will use the values from the source virtual machine. If specified, each field will be used for placement. If the fields result in disjoint placement the operation will fail. If the fields along with the placement values of the source virtual machine result in disjoint placement the operation will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.InstantClonePlacementSpec" + } + ] + }, + "nics_to_update": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.UpdateSpec" + }, + "description": "Map of NICs to update.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, no NICs will be updated.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "disconnect_all_nics": { + "type": "boolean", + "description": "Indicates whether all NICs on the destination virtual machine should be disconnected from the network\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, connection status of all NICs on the destination virtual machine will be the same as on the source virtual machine." + }, + "parallel_ports_to_update": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.UpdateSpec" + }, + "description": "Map of parallel ports to Update.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, no parallel ports will be updated.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`." + }, + "serial_ports_to_update": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.UpdateSpec" + }, + "description": "Map of serial ports to Update.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, no serial ports will be updated.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`." + }, + "bios_uuid": { + "type": "string", + "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, will be generated." + } + }, + "description": "Document-based InstantClone spec.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.VM.FilterSpec": { + "type": "object", + "properties": { + "vms": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of virtual machines that can match the filter.\n\nIf missing or `null` or empty, virtual machines with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that virtual machines must have to match the filter (see *Vcenter.VM.Info.name*).\n\nIf missing or `null` or empty, virtual machines with any name match the filter.", + "items": { + "type": "string" + } + }, + "folders": { + "uniqueItems": true, + "type": "array", + "description": "Folders that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "items": { + "type": "string" + } + }, + "datacenters": { + "uniqueItems": true, + "type": "array", + "description": "Datacenters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "items": { + "type": "string" + } + }, + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "Hosts that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines on any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "Clusters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "resource_pools": { + "uniqueItems": true, + "type": "array", + "description": "Resource pools that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "items": { + "type": "string" + } + }, + "power_states": { + "uniqueItems": true, + "type": "array", + "description": "Power states that a virtual machine must be in to match the filter (see *Vcenter.Vm.Power.Info.state*.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*.\n\nIf missing or `null` or empty, virtual machines in any power state match the filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.VM.FilterSpec schema contains properties used to filter the results when listing virtual machines (see *GET /vcenter/vm*). If multiple properties are specified, only virtual machines matching all of the properties match the filter." + }, + "Vcenter.VM.Summary": { + "required": [ + "name", + "power_state", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of the virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "name": { + "type": "string", + "description": "Name of the Virtual machine." + }, + "power_state": { + "type": "string", + "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." + }, + "cpu_count": { + "type": "integer", + "description": "Number of CPU cores.\n\nThis property will be missing or `null` if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the initial phases of virtual machine creation.", + "format": "int64" + }, + "memory_size_mib": { + "type": "integer", + "description": "Memory size in mebibytes.\n\nThis property will be missing or `null` if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the initial phases of virtual machine creation.", + "format": "int64" + } + }, + "description": "The Vcenter.VM.Summary schema contains commonly used information about a virtual machine." + }, + "Vcenter.VM.RegisterPlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine should be placed.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine should be placed.\n\nThis property is currently required if both host and cluster are missing or `null`. In the future, if this property is missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster into which the virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.VM.RegisterPlacementSpec schema contains information used to place a virtual machine, created from existing virtual machine files on storage, onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 6.8.7__." + }, + "Vcenter.VM.RegisterSpec": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore on which the virtual machine's configuration state is stored.\n\nThis property was added in __vSphere API 6.8.7__.\n\nIf missing or `null`, *Vcenter.VM.RegisterSpec.path* must also be missing or `null` and *Vcenter.VM.RegisterSpec.datastore_path* must be set.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "path": { + "type": "string", + "description": "Path to the virtual machine's configuration file on the datastore corresponding to {@link #datastore).\n\nThis property was added in __vSphere API 6.8.7__.\n\nIf missing or `null`, *Vcenter.VM.RegisterSpec.datastore* must also be missing or `null` and *Vcenter.VM.RegisterSpec.datastore_path* must be set." + }, + "datastore_path": { + "type": "string", + "description": "Datastore path for the virtual machine's configuration file in the format \"[datastore name] path\". For example \"[storage1] Test-VM/Test-VM.vmx\".\n\nThis property was added in __vSphere API 6.8.7__.\n\nIf missing or `null`, both *Vcenter.VM.RegisterSpec.datastore* and *Vcenter.VM.RegisterSpec.path* must be set." + }, + "name": { + "type": "string", + "description": "Virtual machine name.\n\nThis property was added in __vSphere API 6.8.7__.\n\nIf missing or `null`, the display name from the virtual machine's configuration file will be used." + }, + "placement": { + "description": "Virtual machine placement information.\n\nThis property was added in __vSphere API 6.8.7__.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose suitable resources on which to place the virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.RegisterPlacementSpec" + } + ] + } + }, + "description": "The Vcenter.VM.RegisterSpec schema contains information used to create a virtual machine from existing virtual machine files on storage. \n\n The location of the virtual machine files on storage must be specified by providing either *Vcenter.VM.RegisterSpec.datastore* and *Vcenter.VM.RegisterSpec.path* or by providing *Vcenter.VM.RegisterSpec.datastore_path*. If *Vcenter.VM.RegisterSpec.datastore* and *Vcenter.VM.RegisterSpec.path* are set, *Vcenter.VM.RegisterSpec.datastore_path* must be missing or `null`, and if *Vcenter.VM.RegisterSpec.datastore_path* is set, *Vcenter.VM.RegisterSpec.datastore* and *Vcenter.VM.RegisterSpec.path* must be missing or `null`.\n\nThis schema was added in __vSphere API 6.8.7__." + }, + "Vcenter.Deployment.Task": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "status" + ], + "type": "object", + "properties": { + "progress": { + "description": "The progress info of this deployment task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "result": { + "description": "Result of the task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if result is not available at the current step of the task.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Notifications" + } + ] + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Vcenter.Deployment.Task schema contains properties to describe a particular deployment task.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.Info": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "state", + "status" + ], + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "State of the vCenter Server Appliance.\n\nPossible values:\n - `NOT_INITIALIZED`: The appliance is in the process of being initialized and not ready for configuration.\n - `INITIALIZED`: The appliance is initialized and ready to be configured.\n - `CONFIG_IN_PROGRESS`: The appliance is in the process of being configured.\n - `QUESTION_RAISED`: The deployment script has raised a question and is waiting for an answer to continue with the appliance configuration.\n - `FAILED`: The appliance configuration has failed.\n - `CONFIGURED`: The appliance has been configured.\n\n\nFor more information see: *Vcenter.Deployment.ApplianceState*.\n\nThis property was added in __vSphere API 6.7__." + }, + "progress": { + "description": "The progress info of the current appliance status.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "subtask_order": { + "type": "array", + "description": "The ordered list of subtasks for this deployment operation.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set when the appliance state is RUNNING_IN_PROGRESS, FAILED, CANCELLED and SUCCEEDED.", + "items": { + "type": "string" + } + }, + "subtasks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Deployment.Task" + }, + "description": "The map of the deployment subtasks and their status information.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set when the appliance state is RUNNING_IN_PROGRESS, FAILED, CANCELLED and SUCCEEDED." + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Vcenter.Deployment.Info schema contains properties to describe the state of the appliance.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Ovfs.DiskProvisioningType": { + "type": "string", + "description": "The Vcenter.Ovfs.DiskProvisioningType enumerated type specifies types of disk provisioning that can be set for the disk in the deployed OVF package.\n\nPossible values:\n - `MONOLITHIC_SPARSE`: A sparse (allocate on demand) monolithic disk. Disks in this format can be used with other VMware products.\n - `MONOLITHIC_FLAT`: A preallocated monolithic disk. Disks in this format can be used with other VMware products.\n - `TWO_GB_MAXEXTENT_SPARSE`: A sparse (allocate on demand) disk with 2GB maximum extent size. Disks in this format can be used with other VMware products. The 2GB extent size makes these disks easier to burn to DVD or use on filesystems that don't support large files.\n - `TWO_GB_MAXEXTENT_FLAT`: A preallocated disk with 2GB maximum extent size. Disks in this format can be used with other VMware products. The 2GB extent size makes these disks easier to burn to DVD or use on filesystems that don't support large files.\n - `THIN`: Space required for thin-provisioned virtual disk is allocated and zeroed on demand as the space is used.\n - `THICK`: A thick disk has all space allocated at creation time and the space is zeroed on demand as the space is used.\n - `SE_SPARSE`: A sparse (allocate on demand) format with additional space optimizations.\n - `EAGER_ZEROED_THICK`: An eager zeroed thick disk has all space allocated and wiped clean of any previous contents on the physical media at creation time. Such disks may take a longer time during creation compared to other disk formats.\n - `SPARSE`: Depending on the supported Disk types on the target host, Sparse is mapped to either MonolithicSparse or Thin.\n - `FLAT`: Depending on the supported Disk types on the target host, Flat is mapped to either MonolithicFlat or Thick.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "MONOLITHIC_SPARSE", + "MONOLITHIC_FLAT", + "TWO_GB_MAXEXTENT_SPARSE", + "TWO_GB_MAXEXTENT_FLAT", + "THIN", + "THICK", + "SE_SPARSE", + "EAGER_ZEROED_THICK", + "SPARSE", + "FLAT" + ] + }, + "Vcenter.Ovfs.NetworkInfo": { + "required": [ + "net_type", + "network" + ], + "type": "object", + "properties": { + "net_type": { + "type": "string", + "description": "Type for the network.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `DistributedVirtualPortgroup`, `Network`, or `OpaqueNetwork`. When operations return a value of this schema as a response, the property will be one of `DistributedVirtualPortgroup`, `Network`, or `OpaqueNetwork`." + }, + "network": { + "type": "string", + "description": "The identifier of the network in the inventory that is the target of the OVF network.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for one of these resource types: `DistributedVirtualPortgroup`, `Network`, or `OpaqueNetwork`. When operations return a value of this schema as a response, the property will be an identifier for one of these resource types: `DistributedVirtualPortgroup`, `Network`, or `OpaqueNetwork`." + } + }, + "description": "The Vcenter.Ovfs.NetworkInfo schema defines network information for specifying network mappings from the OVF descriptor to a Network in the inventory.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Ovfs.DatastoreInfo": { + "required": [ + "datastore" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "The identifier of the datastore in the inventory that is the target of the OVF datastore mapping.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.Ovfs.DatastoreInfo schema defines the datastore information used for mapping of datastores in the inventory.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Ovfs.DeploySpec": { + "required": [ + "name", + "url", + "vm_home_datastore" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The HTTP location of the source OVF files or OVA.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "uri" + }, + "resource_pool": { + "type": "string", + "description": "The resource pool where the VM or vApp will deploy. Currently required but in the future versions may become optional.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty, the deployment will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "folder": { + "type": "string", + "description": "The folder where the VirtualMachine will be placed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` or empty, the folder will be set to vmFolder in the datacenter where the resource pool is.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "name": { + "type": "string", + "description": "The name of the VM or vApp being deployed as specified by an OVF.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "host_system": { + "type": "string", + "description": "The identifier of the host being deployed to.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, a suitable host will be picked if possible, meeting datastore and network constraints.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "network_mapping": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Ovfs.NetworkInfo" + }, + "description": "The networkMapping defines user choices for mapping of a network as specified by the OVF descriptor to a Network in the inventory.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no network mapping is used." + }, + "vm_home_datastore": { + "description": "The datastore selection for VM's home directory.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovfs.DatastoreInfo" + } + ] + }, + "disk_provisioning": { + "type": "string", + "description": "The optional disk provisioning type used upon deployment. If set all the disks in the deployed OVF will have the same specified disk type (e.g., thin provisioned).\n\nPossible values:\n - `MONOLITHIC_SPARSE`: A sparse (allocate on demand) monolithic disk. Disks in this format can be used with other VMware products.\n - `MONOLITHIC_FLAT`: A preallocated monolithic disk. Disks in this format can be used with other VMware products.\n - `TWO_GB_MAXEXTENT_SPARSE`: A sparse (allocate on demand) disk with 2GB maximum extent size. Disks in this format can be used with other VMware products. The 2GB extent size makes these disks easier to burn to DVD or use on filesystems that don't support large files.\n - `TWO_GB_MAXEXTENT_FLAT`: A preallocated disk with 2GB maximum extent size. Disks in this format can be used with other VMware products. The 2GB extent size makes these disks easier to burn to DVD or use on filesystems that don't support large files.\n - `THIN`: Space required for thin-provisioned virtual disk is allocated and zeroed on demand as the space is used.\n - `THICK`: A thick disk has all space allocated at creation time and the space is zeroed on demand as the space is used.\n - `SE_SPARSE`: A sparse (allocate on demand) format with additional space optimizations.\n - `EAGER_ZEROED_THICK`: An eager zeroed thick disk has all space allocated and wiped clean of any previous contents on the physical media at creation time. Such disks may take a longer time during creation compared to other disk formats.\n - `SPARSE`: Depending on the supported Disk types on the target host, Sparse is mapped to either MonolithicSparse or Thin.\n - `FLAT`: Depending on the supported Disk types on the target host, Flat is mapped to either MonolithicFlat or Thick.\n\n\nFor more information see: *Vcenter.Ovfs.DiskProvisioningType*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the type will be set to thick." + }, + "pull_from_esx": { + "type": "boolean", + "description": "Use Push mode for transferring VM files to ESX. Push mode transfers files from source to ESXi, whereas in Pull mode ESX \"pulls\" the files directly from source. The user needs privilege VApp.PullFromUrls in vCenter to use Pull mode.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the default is set to Pull mode." + }, + "signature_required": { + "type": "boolean", + "description": "Require that the OVF package includes both a certificate (.cert) file and a manifest (.mf) file. The certificate file contains a vendor-supplied public key and the signature of the manifest file as signed with the vendor-supplied private key.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the default is set to false." + }, + "skip_manifest_check": { + "type": "boolean", + "description": "Skip manifest validation. The manifest validation involves validating format and content of the manifest file. In Push mode of deployment all SHA entries present in the manifest file are validated against SHA digest of transferred files. If value is true and manifest file is not present a warning is generated.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the default is set to false." + }, + "power_on": { + "type": "boolean", + "description": "Whether to power on the deployed entity.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the default is set to false." + }, + "custom_http_headers": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Use this optional field to specify any custom headers required by the source server, including authenticating headers.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no headers are used to access source." + }, + "custom_properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "These parameters will apply to OVF Properties to customize the guest OS after it is deployed. These parameters specify values for corresponding ovf:Property flags. Example: if ovf:Property has ovf:key=\"ip\" and desired value is \"1.2.3.4\" then an entry would be added which would map \"ip\" to \"1.2.3.4\".\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no customization is done." + }, + "source_certificate": { + "type": "string", + "description": "Optionally used for HTTPS source validation. The source is the location where the OVF/OVA files are located. The source server certificate in PEM format.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no certificate is used." + }, + "deployment_option": { + "type": "string", + "description": "The key of the chosen deployment option. If empty, the default option is chosen. The list of available deployment options can optionally be specified in the OVF file being deployed and this key specifies which one to use for deployment from that list.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Ovfs.DeploySpec schema contains parameters supplied at the time the OVF deploys onto a specific host. Users must supply some required parameters, and may override other default parameters. Customization parameters are also provided for Guest OS customization.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Ovfs.DeployResult": { + "required": [ + "created_entity", + "result_type" + ], + "type": "object", + "properties": { + "result_type": { + "type": "string", + "description": "Type for the result.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `VirtualApp` or `VirtualMachine`. When operations return a value of this schema as a response, the property will be one of `VirtualApp` or `VirtualMachine`." + }, + "created_entity": { + "type": "string", + "description": "Identifier of the deployed Virtual Machine or Virtual Appliance if deployment succeeded. In case of a deployment failure an exception is thrown instead of returning DeployResult.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for one of these resource types: `VirtualApp` or `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for one of these resource types: `VirtualApp` or `VirtualMachine`." + } + }, + "description": "The Vcenter.Ovfs.DeployResult schema defines the result of a successful API call which will include the ID of the entity created.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authentication.Token.IssueSpec": { + "required": [ + "grant_type" + ], + "type": "object", + "properties": { + "grant_type": { + "type": "string", + "description": "The value of `urn:ietf:params:oauth:grant-type:token-exchange` indicates that a token exchange is being performed.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `urn:ietf:params:oauth:grant-type:token-exchange`. When operations return a value of this schema as a response, the property will be one of `urn:ietf:params:oauth:grant-type:token-exchange`." + }, + "resource": { + "type": "string", + "description": "Indicates the location of the target service or resource where the client intends to use the requested security token.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, it is inferred from other arguments." + }, + "audience": { + "type": "string", + "description": "The logical name of the target service where the client intends to use the requested security token. This serves a purpose similar to the *Vcenter.Authentication.Token.IssueSpec.resource* property, but with the client providing a logical name rather than a location.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, it is inferred from other arguments." + }, + "scope": { + "type": "string", + "description": "A list of space-delimited, case-sensitive strings, that allow the client to specify the desired scope of the requested security token in the context of the service or resource where the token will be used.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, it is inferred from other arguments." + }, + "requested_token_type": { + "type": "string", + "description": "An identifier for the type of the requested security token. If the requested type is unspecified, the issued token type is at the discretion of the server and may be dictated by knowledge of the requirements of the service or resource indicated by the *Vcenter.Authentication.Token.IssueSpec.resource* or *Vcenter.Authentication.Token.IssueSpec.audience* property.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, it is inferred from other arguments." + }, + "subject_token": { + "type": "string", + "description": "A security token that represents the identity of the party on behalf of whom exchange is being made. Typically, the subject of this token will be the subject of the security token issued. Token is base64-encoded. \n\nThe property is required when the value of the *Vcenter.Authentication.Token.IssueSpec.grant_type* property is `urn:ietf:params:oauth:grant-type:token-exchange`.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is currently required. In the future, the schema may support grant-types other than `urn:ietf:params:oauth:grant-type:token-exchange` for which the value may be missing or `null`." + }, + "subject_token_type": { + "type": "string", + "description": "An identifier, that indicates the type of the security token in the *Vcenter.Authentication.Token.IssueSpec.subject_token* property. \n\nThe property is required when the value of the *Vcenter.Authentication.Token.IssueSpec.grant_type* property is `urn:ietf:params:oauth:grant-type:token-exchange`.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is currently required. In the future, the schema may support grant-types other than `urn:ietf:params:oauth:grant-type:token-exchange` for which the value may be missing or `null`." + }, + "actor_token": { + "type": "string", + "description": "A security token that represents the identity of the acting party. Typically, this will be the party that is authorized to use the requested security token and act on behalf of the subject.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nmissing or `null` if not needed for the specific case of exchange." + }, + "actor_token_type": { + "type": "string", + "description": "An identifier, that indicates the type of the security token in the *Vcenter.Authentication.Token.IssueSpec.actor_token* property.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nmissing or `null` if *Vcenter.Authentication.Token.IssueSpec.actor_token* property is not present." + } + }, + "description": "The Vcenter.Authentication.Token.IssueSpec schema contains arguments required for token exchange.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Authorization.Permissions.Principal": { + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the principal.\n\nPossible values:\n - `USER`: The principal is a user.\n - `GROUP`: The principal is a group.\n\n\nFor more information see: *Vcenter.Authorization.Permissions.Principal.Type*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "name": { + "type": "string", + "description": "The name of the principal.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "domain": { + "type": "string", + "description": "The domain name which this principal belongs to.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, 'localos' domain is assumed." + } + }, + "description": "The Vcenter.Authorization.Permissions.Principal schema contains the name, the domain and whether it is a user or group.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Permissions.Principal.Type": { + "type": "string", + "description": "The Vcenter.Authorization.Permissions.Principal.Type enumerated type lists all possible types of principals.\n\nPossible values:\n - `USER`: The principal is a user.\n - `GROUP`: The principal is a group.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "USER", + "GROUP" + ] + }, + "Vcenter.Authorization.Permissions.CreateSpec": { + "required": [ + "object", + "principal", + "propagating", + "role" + ], + "type": "object", + "properties": { + "object": { + "description": "The object that this permission is assigned on.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "principal": { + "description": "The principal that this permission is assigned for.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.Principal" + } + ] + }, + "role": { + "type": "string", + "description": "The role which this permission grants.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`." + }, + "propagating": { + "type": "boolean", + "description": "Indicator whether the permission apply only on the object which it is assigned on or it propagates through the hierarchy of sub-entities.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Authorization.Permissions.CreateSpec schema contains detailed information about the creation of a permission.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Permissions.Info": { + "required": [ + "object", + "principal", + "propagating", + "role" + ], + "type": "object", + "properties": { + "object": { + "description": "The object that this permission is assigned on.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "principal": { + "description": "The principal that this permission is assigned for.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.Principal" + } + ] + }, + "role": { + "type": "string", + "description": "The role which this permission grants.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`." + }, + "propagating": { + "type": "boolean", + "description": "Indicator whether the permission apply only on the object which it is assigned on or it propagates through the hierarchy of sub-entities.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Authorization.Permissions.Info schema contains detailed information about a specific authorization permission.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Permissions.UpdateSpec": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "The role which this permission grants.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the role won't be updated.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`." + }, + "is_propagating": { + "type": "boolean", + "description": "Indicator whether the permission apply only on the object which it is assigned on or it propagates through the hierarchy of sub-entities.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` propagation flag won't be updated." + } + }, + "description": "The Vcenter.Authorization.Permissions.UpdateSpec schema contains detailed information about the update of a specific authorization permission.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Permissions.FilterSpec": { + "type": "object", + "properties": { + "objects": { + "type": "array", + "description": "Objects which permissions are assigned on.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all permissions match.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + }, + "principals": { + "type": "array", + "description": "Principals who permissions are assigned for.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all permissions match.", + "items": { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.Principal" + } + }, + "roles": { + "uniqueItems": true, + "type": "array", + "description": "The roles granted by the permissions.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all permissions match.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.authorization.Role`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.authorization.Role`.", + "items": { + "type": "string" + } + }, + "is_propagating": { + "type": "boolean", + "description": "Whether the permission is propagating.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all permissions match." + } + }, + "description": "The Vcenter.Authorization.Permissions.FilterSpec schema contains properties based on which authorization permissions can be filtered. Any permission matching all of the conditions is returned.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Permissions.ListItem": { + "required": [ + "info", + "permission" + ], + "type": "object", + "properties": { + "permission": { + "type": "string", + "description": "The ID of the permission.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.Permission`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.Permission`." + }, + "info": { + "description": "Information about the permission.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.Info" + } + ] + } + }, + "description": "The Vcenter.Authorization.Permissions.ListItem schema contains information about an authorization permission in the vCenter Server.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Permissions.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "The permissions that match the specified*Vcenter.Authorization.Permissions.FilterSpec* and *Vcenter.Authorization.Permissions.IterationSpec* in lexicographical order.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Authorization.Permissions.ListItem" + } + }, + "marker": { + "type": "string", + "description": "An opaque marker indicating the last returned permission. If there are more permissions collected than were returned, the next ones can be retrieved directly by passing this value to another call to #list. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` then all of the currently available permissions have been returned." + } + }, + "description": "The Vcenter.Authorization.Permissions.ListResult schema contains information about the authorization permissions defined in the vCenter Server.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Permissions.IterationSpec": { + "type": "object", + "properties": { + "page_size": { + "type": "integer", + "description": "Maximum number of records to return in one call. Clients can limit the response size to a number of records they feel comfortable handling with this setting. A service policy can overwrite it to something that is less than the value specified by the client. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` defaults to 200 permissions.", + "format": "int64" + }, + "marker": { + "type": "string", + "description": "The marker is a simple cursor (pointer) pointing to the position of the last record that has been previously returned. By using the marker, the client is guaranteed to iterate through all records without repetition. \n\n Presenting a marker means that only the records after the position to which the marker points will be returned to the client. \n\n This value is obtained from #list operation. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, first page of records will be returned." + } + }, + "description": "The Vcenter.Authorization.Permissions.IterationSpec schema contains properties used to break results into pages when listing permissions, see *POST /vcenter/authorization/permissions?action=list*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.PrivilegeChecks.Principal": { + "required": [ + "domain", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The principal's username.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "domain": { + "type": "string", + "description": "The principal's domain.\n\nThis property was added in __vSphere API 8.0.0.0__." + } + }, + "description": "The Vcenter.Authorization.PrivilegeChecks.Principal schema contains an identity management principal ID.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Authorization.PrivilegeChecks.Info": { + "required": [ + "object", + "privilege" + ], + "type": "object", + "properties": { + "object": { + "description": "Object for which the privilege was checked.\n\nThis property was added in __vSphere API 8.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "principal": { + "description": "Principal for which the privilege was checked. Note that the username and domain specified are case-insensitive.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` the privilege was checked for an unauthenticated session.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Authorization.PrivilegeChecks.Principal" + } + ] + }, + "privilege": { + "type": "string", + "description": "Privilege that was checked.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.authz.Privilege`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.authz.Privilege`." + } + }, + "description": "The Vcenter.Authorization.PrivilegeChecks.Info schema contains detailed information about a privilege check.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Authorization.PrivilegeChecks.IterationSpec": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "Specifies the maximum number of results to return.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` defaults to default page size, which is controlled by config.vpxd.privilegeChecks.pageSize advanced option.", + "format": "int64" + }, + "marker": { + "type": "string", + "description": "An opaque token which determines where the returned page should begin.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` or empty, privilege checks will be returned from the first record." + }, + "end_marker": { + "type": "string", + "description": "An opaque token which determines where the returned page should end.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` or empty, privilege checks will be returned up to size, if set, or up to the default page size." + }, + "timeout_ms": { + "type": "integer", + "description": "Indicates how long the request should wait in ms for a matching check if *Vcenter.Authorization.PrivilegeChecks.IterationSpec.marker* is set, and there no matching checks to be added to the result.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` or empty, the request will not wait for additional privilege checks and will return immediately.", + "format": "int64" + } + }, + "description": "The Vcenter.Authorization.PrivilegeChecks.IterationSpec schema contains properties used to break results into pages when listing privilege checks, see *POST /vcenter/authorization/privilege-checks?action=list*).\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Authorization.PrivilegeChecks.FilterSpec": { + "type": "object", + "properties": { + "objects": { + "type": "array", + "description": "IDs of the objects on which the privilege check was performed.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` all objects match.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + }, + "sessions": { + "uniqueItems": true, + "type": "array", + "description": "Sessions for which the check was performed.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` all sessions match.", + "items": { + "type": "string" + } + }, + "principals": { + "type": "array", + "description": "Principles for which the privilege check was performed. The missing or `null` Vcenter.Authorization.PrivilegeChecks.Principal value matches privilege checks for anonymous sessions.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` all principles match.", + "items": { + "$ref": "#/components/schemas/Vcenter.Authorization.PrivilegeChecks.Principal" + } + }, + "privileges": { + "uniqueItems": true, + "type": "array", + "description": "Privileges that were checked.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` all privileges match.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.cis.authz.Privilege`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.cis.authz.Privilege`.", + "items": { + "type": "string" + } + }, + "op_ids": { + "uniqueItems": true, + "type": "array", + "description": "OpIDs of the requests for which the check was performed.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null` all opIDs match.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Authorization.PrivilegeChecks.FilterSpec schema contains properties based on which privilege checks can be filtered. Any privilege check matching at least one of the conditions is returned.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Authorization.PrivilegeChecks.ListResult": { + "required": [ + "items", + "marker", + "truncated" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Privilege checks that match the specified*Vcenter.Authorization.PrivilegeChecks.FilterSpec* and *Vcenter.Authorization.PrivilegeChecks.IterationSpec* in chronological order as they were performed. Each check is recorded only the first time it is made. If more than one privilege check matches a given *Vcenter.Authorization.PrivilegeChecks.FilterSpec* (for example, two different opIDs checked System.Read for the same object and the same principal, a FilterSpec which specifies only the principal will only contain the first check).\n\nThis property was added in __vSphere API 8.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Authorization.PrivilegeChecks.Info" + } + }, + "marker": { + "type": "string", + "description": "An opaque marker indicating the last returned privilege check. If there are more privilege checks collected than were returned, the next ones can be retrieved directly by passing this value to another call to com.vmware.vcenter.authorization.PrivilegeChecks.list. \n\n\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "truncated": { + "type": "boolean", + "description": "In case *Vcenter.Authorization.PrivilegeChecks.IterationSpec.marker* was specified and valid, but the privilege check indicated by it is no longer stored, ListResult.truncated is set to True to indicate that some privilege checks are potentially missing. \n\n The number of privilege checks stored is determined by the value of config.vpxd.privilegeChecks.bufferSize advanced option.\n\nThis property was added in __vSphere API 8.0.0.0__." + } + }, + "description": "The Vcenter.Authorization.PrivilegeChecks.ListResult schema contains information about the performed privilege checks, if there are any further privilege checks available for reading, and if there are privilege checks potentially missing.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Authorization.Privileges.Info": { + "required": [ + "description", + "name", + "on_parent", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the privilege. It matches completely with the ID of the privilege.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "A brief summary what this privilege is dedicated for.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "on_parent": { + "type": "boolean", + "description": "Indicates whether the privilege needs to apply on parent object as well.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "version": { + "type": "integer", + "description": "The latest version of the privilege. Default version when the privilege is created is 0. If privilege is modified this counter is increased.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Authorization.Privileges.Info schema contains detailed information about a specific privilege.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Privileges.IterationSpec": { + "type": "object", + "properties": { + "page_size": { + "type": "integer", + "description": "Maximum number of records to return in one call. Clients can limit the response size to a number of records they feel comfortable handling with this setting. A service policy can overwrite it to something that is less than the value specified by the client. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` defaults to 200 privileges.", + "format": "int64" + }, + "marker": { + "type": "string", + "description": "The marker is a simple cursor (pointer) pointing to the position of the last record that has been previously returned. By using the marker, the client is guaranteed to iterate through all records without repetition. \n\n Presenting a marker means that only the records after the position to which the marker points will be returned to the client. \n\n This value is obtained from #list operation. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, first page of records will be returned." + } + }, + "description": "The Vcenter.Authorization.Privileges.IterationSpec schema contains properties used to break results into pages when listing privileges, see *GET /vcenter/authorization/privileges*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Privileges.FilterSpec": { + "type": "object", + "properties": { + "is_on_parent": { + "type": "boolean", + "description": "Whether the privileges should apply to parent object as well.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all privileges match." + } + }, + "description": "The Vcenter.Authorization.Privileges.FilterSpec schema contains properties based on which privileges can be filtered. Any privilege matching all of the conditions is returned.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Privileges.ListItem": { + "required": [ + "info", + "privilege" + ], + "type": "object", + "properties": { + "privilege": { + "type": "string", + "description": "The ID of the privilege.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.Privilege`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.Privilege`." + }, + "info": { + "description": "Information about the privilege.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Authorization.Privileges.Info" + } + ] + } + }, + "description": "The Vcenter.Authorization.Privileges.ListItem schema contains information about an authorization privilege in the vCenter Server.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Privileges.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "The privileges that match the specified*Vcenter.Authorization.Privileges.FilterSpec* and *Vcenter.Authorization.Privileges.IterationSpec* in lexicographical order.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Authorization.Privileges.ListItem" + } + }, + "marker": { + "type": "string", + "description": "An opaque marker indicating the last returned privilege. If there are more privileges collected than were returned, the next ones can be retrieved directly by passing this value to another call to {#list}. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` then all of the currently available privileges have been returned." + } + }, + "description": "The Vcenter.Authorization.Privileges.ListResult schema contains information about the performed privilege checks, if there are any further privilege checks available for reading, and if there are privilege checks potentially missing.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Roles.Info": { + "required": [ + "description", + "name", + "privileges", + "system" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the role.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "A brief summary what this role is dedicated for.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "privileges": { + "uniqueItems": true, + "type": "array", + "description": "The set of *Vcenter.Authorization.Privileges* which are part of this role.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.authorization.Privilege`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.authorization.Privilege`.", + "items": { + "type": "string" + } + }, + "system": { + "type": "boolean", + "description": "Indicator if role is created as system built-in role.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Authorization.Roles.Info schema contains detailed information about a specific role.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Roles.CreateSpec": { + "required": [ + "description", + "name", + "privileges" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the role.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "A brief summary what this role is dedicated for.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "privileges": { + "uniqueItems": true, + "type": "array", + "description": "The set of *Vcenter.Authorization.Privileges* which are part of this role.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.authorization.Privilege`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.authorization.Privilege`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Authorization.Roles.CreateSpec schema contains detailed information about the creation of a specific role.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Roles.UpdateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the role.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the value is unchanged." + }, + "description": { + "type": "string", + "description": "A brief summary what this role is dedicated for.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the value is unchanged." + }, + "privileges": { + "uniqueItems": true, + "type": "array", + "description": "The set of *Vcenter.Authorization.Privileges* which are part of this role.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the value is unchanged.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.authorization.Privilege`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.authorization.Privilege`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Authorization.Roles.UpdateSpec schema contains detailed information about the update of a specific role.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Roles.FilterSpec": { + "type": "object", + "properties": { + "is_system": { + "type": "boolean", + "description": "Whether the role is a system built-in role.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` all roles match." + } + }, + "description": "The Vcenter.Authorization.Roles.FilterSpec schema contains properties based on which authorization roles can be filtered. Any role matching all of the conditions is returned.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Roles.ListItem": { + "required": [ + "info", + "role" + ], + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "The ID of the role.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.Role`." + }, + "info": { + "description": "Information about the role.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Authorization.Roles.Info" + } + ] + } + }, + "description": "The Vcenter.Authorization.Roles.ListItem schema contains information about an authorization role in the vCenter Server.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Roles.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "The roles that match the specified*Vcenter.Authorization.Roles.FilterSpec* and *Vcenter.Authorization.Roles.IterationSpec* in lexicographical order.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Authorization.Roles.ListItem" + } + }, + "marker": { + "type": "string", + "description": "An opaque marker indicating the last returned role. If there are more roles collected than were returned, the next ones can be retrieved directly by passing this value to another call to #list. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` then all of the currently available roles have been returned." + } + }, + "description": "The Vcenter.Authorization.Roles.ListResult schema contains information about the authorization roles defined in the vCenter Server.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.Roles.IterationSpec": { + "type": "object", + "properties": { + "page_size": { + "type": "integer", + "description": "Maximum number of records to return in one call. Clients can limit the response size to a number of records they feel comfortable handling with this setting. A service policy can overwrite it to something that is less than the value specified by the client. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` defaults to 200 roles.", + "format": "int64" + }, + "marker": { + "type": "string", + "description": "The marker is a simple cursor (pointer) pointing to the position of the last record that has been previously returned. By using the marker, the client is guaranteed to iterate through all records without repetition. \n\n Presenting a marker means that only the records after the position to which the marker points will be returned to the client. \n\n This value is obtained from #list operation. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, first page of records will be returned." + } + }, + "description": "The Vcenter.Authorization.Roles.IterationSpec schema contains properties used to break results into pages when listing roles, see *GET /vcenter/authorization/roles*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Authorization.VtContainers.Mappings.Info": { + "required": [ + "object", + "vtcontainer" + ], + "type": "object", + "properties": { + "vtcontainer": { + "type": "string", + "description": "Identifier of the vTContainer instance.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.VtContainer`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.VtContainer`." + }, + "object": { + "description": "Identifier of the containerized object.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + } + }, + "description": "The Vcenter.Authorization.VtContainers.Mappings.Info schema contains all of the information about a containerized object mapping.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Authorization.VtContainers.Mappings.ListItem": { + "required": [ + "info", + "mapping" + ], + "type": "object", + "properties": { + "mapping": { + "type": "string", + "description": "Identifier of the vTContainer mapping.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.vt_containers.Mapping`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.vt_containers.Mapping`." + }, + "info": { + "description": "Information about the vTContainer mapping.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Authorization.VtContainers.Mappings.Info" + } + ] + } + }, + "description": "The Vcenter.Authorization.VtContainers.Mappings.ListItem schema contains all of the information about a containerized object mapping returned by the *GET /vcenter/authorization/vt-containers/mappings* operation.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Authorization.VtContainers.Mappings.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "List of vTContainer mappings.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Authorization.VtContainers.Mappings.ListItem" + } + }, + "marker": { + "type": "string", + "description": "An opaque string in support of pagination which indicates that more items are available. The marker can be used in subsequent calls to the *GET /vcenter/authorization/vt-containers/mappings* operation to retrieve the next set of items.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` there are no additional items." + } + }, + "description": "The Vcenter.Authorization.VtContainers.Mappings.ListResult schema represents the result of the *GET /vcenter/authorization/vt-containers/mappings* operation.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Authorization.VtContainers.Mappings.IterationSpec": { + "type": "object", + "properties": { + "marker": { + "type": "string", + "description": "An opaque string in support of pagination which may be specified to retrieve the next set of items. The marker is obtained from the *Vcenter.Authorization.VtContainers.Mappings.ListResult* schema that is returned by the *GET /vcenter/authorization/vt-containers/mappings* operation.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` the first set of items is returned." + }, + "size": { + "type": "integer", + "description": "Maximum number of items to return in a single call.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` defaults to a size defined by the service.", + "format": "int64" + } + }, + "description": "The Vcenter.Authorization.VtContainers.Mappings.IterationSpec schema contains properties used to limit the number of items returned from the *GET /vcenter/authorization/vt-containers/mappings* operation.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Authorization.VtContainers.Mappings.FilterSpec": { + "type": "object", + "properties": { + "vtcontainers": { + "uniqueItems": true, + "type": "array", + "description": "A set of vTContainers.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` or empty, the result will not be filtered by vTContainer instance.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.authorization.VtContainer`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.authorization.VtContainer`.", + "items": { + "type": "string" + } + }, + "types": { + "uniqueItems": true, + "type": "array", + "description": "A set of object resource types.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` or empty, the result will not be filtered by object resource type.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Authorization.VtContainers.Mappings.FilterSpec schema contains properties used to filter the items returned from a *GET /vcenter/authorization/vt-containers/mappings* operation.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Authorization.VtContainers.Mappings.CreateSpec": { + "required": [ + "object", + "vtcontainer" + ], + "type": "object", + "properties": { + "vtcontainer": { + "type": "string", + "description": "Identifier of the vTContainer instance.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.authorization.VtContainer`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.authorization.VtContainer`." + }, + "object": { + "description": "Identifier of the object that will be containerized.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + } + }, + "description": "The Vcenter.Authorization.VtContainers.Mappings.CreateSpec schema contains the information necessary for associating an object with a vTContainer instance.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Capacity.Usage.Severity": { + "type": "string", + "description": "The Vcenter.Capacity.Usage.Severity enumerated type represents the severity of a configuration's usage, indicating whether it's within limits, exceeds a threshold, or exceeds the maximum.\n\nPossible values:\n - `NORMAL`: The configuration's current usage is within the defined threshold.\n - `THRESHOLD_EXCEEDED`: The configuration's current usage has exceeded the defined threshold.\n - `MAXIMUM_EXCEEDED`: The configuration's current usage has exceeded the maximum recommended value.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NORMAL", + "THRESHOLD_EXCEEDED", + "MAXIMUM_EXCEEDED" + ] + }, + "Vcenter.Capacity.Usage.Config": { + "required": [ + "id", + "max_recommended_value", + "name", + "threshold_percentage" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the configuration.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.capacity.usage`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.capacity.usage`." + }, + "name": { + "description": "Name of the configuration.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "threshold_percentage": { + "type": "number", + "description": "Threshold percentage set for the configuration, ranging from 1 to 100 (inclusive).\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "double" + }, + "max_recommended_value": { + "type": "number", + "description": "Maximum recommended value of the configuration.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "double" + }, + "current_usage_value": { + "type": "number", + "description": "The current usage/count of the configuration.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nmissing or `null` if there is an error fetching the value.", + "format": "double" + }, + "current_usage_percentage": { + "type": "number", + "description": "The percentage of the configuration's maximum that is currently used. Calculated as (*Vcenter.Capacity.Usage.Config.current_usage_value*/*Vcenter.Capacity.Usage.Config.max_recommended_value*)*100\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nmissing or `null` if there is an error fetching the *Vcenter.Capacity.Usage.Config.current_usage_value*.", + "format": "double" + }, + "capacity_unit": { + "type": "string", + "description": "The capacity unit of measurement for the *Vcenter.Capacity.Usage.Config.max_recommended_value* and *Vcenter.Capacity.Usage.Config.current_usage_value* (for example: \"TB\", \"GB\", \"ms\", ..).\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nmissing or `null` if the values are plain integers without a capacity unit." + }, + "severity": { + "type": "string", + "description": "Indicates the severity of the configuration's usage.\n\nPossible values:\n - `NORMAL`: The configuration's current usage is within the defined threshold.\n - `THRESHOLD_EXCEEDED`: The configuration's current usage has exceeded the defined threshold.\n - `MAXIMUM_EXCEEDED`: The configuration's current usage has exceeded the maximum recommended value.\n\n\nFor more information see: *Vcenter.Capacity.Usage.Severity*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nmissing or `null` if there is an error fetching the *Vcenter.Capacity.Usage.Config.current_usage_value*." + }, + "error": { + "description": "Contains the error message if an error occurs while fetching the configuration's data.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nset if any issues encountered.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + } + }, + "description": "The Vcenter.Capacity.Usage.Config schema contains the validation results for a specific configuration including the current usage, Broadcom's recommendation, and information if the current usage is compliant with the set thresholds.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Capacity.Usage.Token": { + "required": [ + "expiry", + "uuid" + ], + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "A one-time, short-lived token required in the HTTP header of the request to the url. This token needs to be passed in as a header with the name \"session-id\".\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "expiry": { + "type": "string", + "description": "Expiry time of the token.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "date-time" + } + }, + "description": "The Vcenter.Capacity.Usage.Token schema contains information about the token required in the HTTP GET request to generate the report.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Capacity.Usage.CsvReportLocation": { + "required": [ + "auth_token", + "uri" + ], + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "CSV Report Download URI.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "uri" + }, + "auth_token": { + "description": "Information about the authentication token required in the HTTP GET request to access the report.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Capacity.Usage.Token" + } + ] + } + }, + "description": "The Vcenter.Capacity.Usage.CsvReportLocation schema contains the URI location to download the report from, as well as a token required (as a header on the HTTP request) to get the bundle. The validity of the token is 30 minutes as best attempt. After the token expires, any attempt to call the URI with said token will fail.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Capacity.Usage.Info": { + "required": [ + "configurations", + "created_at", + "created_by", + "deployment_size", + "version" + ], + "type": "object", + "properties": { + "created_at": { + "type": "string", + "description": "The timestamp when the result was generated.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "date-time" + }, + "deployment_size": { + "type": "string", + "description": "The current deployment size of the vCenter server (for example: tiny,small,medium,large,x-large).\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "version": { + "type": "string", + "description": "The current vCenter server version.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "created_by": { + "type": "string", + "description": "The user who initiated the request.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "configurations": { + "type": "array", + "description": "List of configuration objects containing the current usage and Broadcom's recommendation.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Capacity.Usage.Config" + } + }, + "csv_report_location": { + "description": "Contains the URI to access the CSV Report and the authentication token required to access it.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nmissing or `null` in case of any *Vcenter.Capacity.Usage.Info.error* reported.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Capacity.Usage.CsvReportLocation" + } + ] + }, + "error": { + "description": "Contains error message generated during the validation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nset if any errors encountered before calling the downstream APIs or when *Vcenter.Capacity.Usage.Config.error* is set or any errors reported during CSV generation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + } + }, + "description": "The Vcenter.Capacity.Usage.Info schema contains information about the current configuration usage and its compliance with the configuration recommendation by Broadcom. Additionally, it provides an URI where the CSV report can be downloaded from.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.CertificateManagement.X509CertChain": { + "required": [ + "cert_chain" + ], + "type": "object", + "properties": { + "cert_chain": { + "type": "array", + "description": "Certificate chain in base64 format\n\nThis property was added in __vSphere API 6.7.2__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.CertificateManagement.X509CertChain schema contains x509 certificate chain.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.TrustedRootChains.Info": { + "required": [ + "cert_chain" + ], + "type": "object", + "properties": { + "cert_chain": { + "description": "A certificate chain in base64 encoding\n\nThis property was added in __vSphere API 6.7.2__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" + } + ] + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.TrustedRootChains.Info schema contains information for a trusted root certificate chain.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.TrustedRootChains.Summary": { + "required": [ + "chain" + ], + "type": "object", + "properties": { + "chain": { + "type": "string", + "description": "Unique identifier for chain.\n\nThis property was added in __vSphere API 6.7.2__." + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.TrustedRootChains.Summary schema contains a trusted root certificate chain summary suitable for UI presentation.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.TrustedRootChains.CreateSpec": { + "required": [ + "cert_chain" + ], + "type": "object", + "properties": { + "cert_chain": { + "description": "Certificate chain in base64 encoding\n\nThis property was added in __vSphere API 6.7.2__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" + } + ] + }, + "chain": { + "type": "string", + "description": "Unique identifier for this trusted root. Client can specify at creation as long as it is unique, otherwise one will be generated. An example of a client providing the identifier would be if this trusted root is associated with a VC trust. In this case the identifier would be the domain id.\n\nThis property was added in __vSphere API 6.7.2__.\n\nA unique id will be generated if not given." + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.TrustedRootChains.CreateSpec schema contains information to create a trusted root certificate chain.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.SigningCertificate.Info": { + "required": [ + "active_cert_chain", + "signing_cert_chains" + ], + "type": "object", + "properties": { + "active_cert_chain": { + "description": "The certificate chain that is actively being use by vCenter token service to sign tokens.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" + } + ] + }, + "signing_cert_chains": { + "type": "array", + "description": "List of signing certificate chains for validating vCenter-issued tokens. The list contains X509 certificate chains, each of which is ordered and contains the leaf, intermediate and root certs needed for the complete chain of trust. The leaf certificate is first in the chain and should be used for verifying vCenter-issued tokens.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" + } + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.SigningCertificate.Info schema contains data that represents vCenter signing certificates.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.CertificateManagement.Vcenter.SigningCertificate.SetSpec": { + "required": [ + "private_key", + "signing_cert_chain" + ], + "type": "object", + "properties": { + "signing_cert_chain": { + "description": "Signing certificate chain that the vCenter token service will actively use to sign tokens. The chain must include a valid certificate chain with the leaf cert marked for digital signature key usage.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" + } + ] + }, + "private_key": { + "type": "string", + "description": "The corresponding unencrypted PKCS#8 private key in base64-encoded PEM format.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.SigningCertificate.SetSpec schema contains data to set the active vCenter signing certificate.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.CertificateManagement.Vcenter.Tls.Info": { + "required": [ + "authority_information_access_uri", + "cert", + "extended_key_usage", + "is_ca", + "issuer_dn", + "key_usage", + "path_length_constraint", + "serial_number", + "signature_algorithm", + "subject_alternative_name", + "subject_dn", + "thumbprint", + "valid_from", + "valid_to", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "integer", + "description": "Version (version number) value from the certificate.\n\nThis property was added in __vSphere API 6.7.2__.", + "format": "int64" + }, + "serial_number": { + "type": "string", + "description": "SerialNumber value from the certificate.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "signature_algorithm": { + "type": "string", + "description": "Signature algorithm name from the certificate.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "issuer_dn": { + "type": "string", + "description": "Issuer (issuer distinguished name) value from the certificate.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "valid_from": { + "type": "string", + "description": "validFrom specify the start date of the certificate.\n\nThis property was added in __vSphere API 6.7.2__.", + "format": "date-time" + }, + "valid_to": { + "type": "string", + "description": "validTo specify the end date of the certificate.\n\nThis property was added in __vSphere API 6.7.2__.", + "format": "date-time" + }, + "subject_dn": { + "type": "string", + "description": "Subject (subject distinguished name) value from the certificate.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "thumbprint": { + "type": "string", + "description": "Thumbprint value from the certificate.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "is_ca": { + "type": "boolean", + "description": "Certificate constraints isCA from the critical BasicConstraints extension, (OID = 2.5.29.19).\n\nThis property was added in __vSphere API 6.7.2__." + }, + "path_length_constraint": { + "type": "integer", + "description": "Certificate constraints path length from the critical BasicConstraints extension, (OID = 2.5.29.19).\n\nThis property was added in __vSphere API 6.7.2__.", + "format": "int64" + }, + "key_usage": { + "type": "array", + "description": "Collection of keyusage contained in the certificate.\n\nThis property was added in __vSphere API 6.7.2__.", + "items": { + "type": "string" + } + }, + "extended_key_usage": { + "type": "array", + "description": "Collection of extended keyusage that contains details for which the certificate can be used for.\n\nThis property was added in __vSphere API 6.7.2__.", + "items": { + "type": "string" + } + }, + "subject_alternative_name": { + "type": "array", + "description": "Collection of subject alternative names.\n\nThis property was added in __vSphere API 6.7.2__.", + "items": { + "type": "string" + } + }, + "authority_information_access_uri": { + "type": "array", + "description": "Collection of authority information access URI.\n\nThis property was added in __vSphere API 6.7.2__.", + "items": { + "type": "string" + } + }, + "cert": { + "type": "string", + "description": "TLS certificate in PEM format.\n\nThis property was added in __vSphere API 6.7.2__." + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.Tls.Info schema contains information from a TLS certificate.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.Tls.Spec": { + "required": [ + "cert" + ], + "type": "object", + "properties": { + "cert": { + "type": "string", + "description": "Certificate string in PEM format.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "key": { + "type": "string", + "description": "Private key string in PEM format.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null` the private key from the certificate store will be used. It is required when replacing the certificate with a third party signed certificate.", + "format": "password" + }, + "root_cert": { + "type": "string", + "description": "Third party Root CA certificate in PEM format.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the new third party root CA certificate will not be added to the trust store. It is required when replacing the certificate with a third party signed certificate if the root certificate of the third party is not already a trusted root." + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.Tls.Spec schema contains information for a Certificate and Private Key.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.Tls.ReplaceSpec": { + "required": [ + "country", + "email_address", + "locality", + "organization", + "organization_unit", + "state_or_province" + ], + "type": "object", + "properties": { + "key_size": { + "type": "integer", + "description": "The size of the key to be used for public and private key generation.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null` the key size will be '3072'.", + "format": "int64" + }, + "common_name": { + "type": "string", + "description": "The common name of the host for which certificate is generated\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null` will default to PNID of host." + }, + "organization": { + "type": "string", + "description": "Organization field in certificate subject\n\nThis property was added in __vSphere API 6.7.2__." + }, + "organization_unit": { + "type": "string", + "description": "Organization unit field in certificate subject. \n\n CA Browser forum announced that \"CAs MUST NOT include the organizationalUnitName field\". So OU is no longer needed and an empty string should be used to leave it unset.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "locality": { + "type": "string", + "description": "Locality field in certificate subject\n\nThis property was added in __vSphere API 6.7.2__." + }, + "state_or_province": { + "type": "string", + "description": "State field in certificate subject\n\nThis property was added in __vSphere API 6.7.2__." + }, + "country": { + "type": "string", + "description": "Country field in certificate subject\n\nThis property was added in __vSphere API 6.7.2__." + }, + "email_address": { + "type": "string", + "description": "Email field in Certificate extensions\n\nThis property was added in __vSphere API 6.7.2__." + }, + "subject_alt_name": { + "type": "array", + "description": "SubjectAltName is list of Dns Names and Ip addresses\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null` PNID of host will be used as IPAddress or Hostname for certificate generation .", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.Tls.ReplaceSpec schema contains information to generate a Private Key , CSR and hence VMCA signed machine SSL.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.TlsCsr.Info": { + "required": [ + "csr" + ], + "type": "object", + "properties": { + "csr": { + "type": "string", + "description": "Certificate Signing Request in PEM format.\n\nThis property was added in __vSphere API 6.7.2__." + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.TlsCsr.Info schema contains information for a Certificate signing request.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.TlsCsr.Spec": { + "required": [ + "country", + "email_address", + "locality", + "organization", + "organization_unit", + "state_or_province" + ], + "type": "object", + "properties": { + "key_size": { + "type": "integer", + "description": "The size of the key to be used for public and private key generation.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the key size will be 3072 bits.", + "format": "int64" + }, + "common_name": { + "type": "string", + "description": "Common name field in certificate subject.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the common name will be the PNID." + }, + "organization": { + "type": "string", + "description": "Organization field in certificate subject\n\nThis property was added in __vSphere API 6.7.2__." + }, + "organization_unit": { + "type": "string", + "description": "Organization unit field in certificate subject. \n\n CA Browser forum announced that \"CAs MUST NOT include the organizationalUnitName field\". So OU is no longer needed and an empty string should be used to leave it unset.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "locality": { + "type": "string", + "description": "Locality field in certificate subject\n\nThis property was added in __vSphere API 6.7.2__." + }, + "state_or_province": { + "type": "string", + "description": "State field in certificate subject\n\nThis property was added in __vSphere API 6.7.2__." + }, + "country": { + "type": "string", + "description": "Country field in certificate subject\n\nThis property was added in __vSphere API 6.7.2__." + }, + "email_address": { + "type": "string", + "description": "Email field in Certificate extensions\n\nThis property was added in __vSphere API 6.7.2__." + }, + "subject_alt_name": { + "type": "array", + "description": "Subject Alternative Name field is list of Dns Names and Ip addresses.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null`, the subject alternative name will contain the PNID.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.TlsCsr.Spec schema contains information to generate a Private Key and CSR.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.CertificateManagement.Vcenter.VmcaRoot.CreateSpec": { + "type": "object", + "properties": { + "key_size": { + "type": "integer", + "description": "The size of the key to be used for public and private key generation.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the key size will be 3072.", + "format": "int64" + }, + "common_name": { + "type": "string", + "description": "The common name of the host for which certificate is generated.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the common name will be the primary network identifier (PNID) of the vCenter Virtual Server Appliance (VCSA)." + }, + "organization": { + "type": "string", + "description": "Organization field in certificate subject.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the organization will be 'VMware'." + }, + "organization_unit": { + "type": "string", + "description": "Organization unit field in certificate subject.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the organization unit will not be set in the certificate subject." + }, + "locality": { + "type": "string", + "description": "Locality field in certificate subject.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the locality will be 'Palo Alto'." + }, + "state_or_province": { + "type": "string", + "description": "State field in certificate subject.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the state will be 'California'." + }, + "country": { + "type": "string", + "description": "Country field in certificate subject.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the country will be 'US'." + }, + "email_address": { + "type": "string", + "description": "Email field in Certificate extensions.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` the emailAddress will be 'email@acme.com'." + }, + "subject_alt_name": { + "type": "array", + "description": "SubjectAltName is list of Dns Names and Ip addresses.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null` PNID of host will be used as IPAddress or Hostname for certificate generation.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.CertificateManagement.Vcenter.VmcaRoot.CreateSpec contains information. to generate a Private Key and CSR.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.Cluster.EvcMode.SetSpec": { + "type": "object", + "properties": { + "evc_mode": { + "description": "The EvcMode to configure the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nevcMode If the field is missing or `null`, EvcMode is reset for the cluster.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.EvcMode.EvcMode" + } + ] + } + }, + "description": "Information about configuring or checking Vcenter.Cluster.EvcMode for a cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Cluster.EvcMode.Info": { + "type": "object", + "properties": { + "evc_mode": { + "description": "The EvcMode configured on the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, then the cluster's EvcMode is unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.EvcMode.EvcMode" + } + ] + } + }, + "description": "The Vcenter.Cluster.EvcMode.Info schema contains information about the EvcMode configured for the cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Cluster.EvcMode.CheckResult": { + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "description": "The error associated with the check.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "host_system": { + "type": "string", + "description": "The host associated with the error.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then the error is not associated with any host.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "Information returned from operations that check EvcMode based compatibility.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Compute.Policies.Summary": { + "required": [ + "capability", + "description", + "name", + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the policy.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`." + }, + "name": { + "type": "string", + "description": "Name of the policy.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "Description of the policy.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "capability": { + "type": "string", + "description": "Identifier of the capability this policy is based on.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`." + } + }, + "description": "The Vcenter.Compute.Policies.Summary schema contains commonly used information about a compute policy.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Compute.Policies.UpdateSpec": { + "type": "object", + "properties": { + "managed_by": { + "description": "Information about the entity that manages this policy. This property identifies which entity is responsible for managing the policy and can influence operations such as delete.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the managedBy property is not modified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.ManagedBy" + } + ] + }, + "description": { + "type": "string", + "description": "Description for the policy.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the policy description property is not modified." + } + }, + "description": "The Vcenter.Compute.Policies.UpdateSpec schema describes the changes to be applied to a compute policy.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Compute.Policies.ObjectCompliance": { + "type": "string", + "description": "The Vcenter.Compute.Policies.ObjectCompliance enumerated type defines the compliance states a policy can be in on a particular object.\n\nPossible values:\n - `UNKNOWN`: The object has an unknown compliance state.\n - `NOT_APPLICABLE`: The object is in a state for which the policy does not apply.\n - `COMPLIANT`: The policy is in compliance on the object.\n - `NOT_COMPLIANT`: The policy is not in compliance on the object.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "UNKNOWN", + "NOT_APPLICABLE", + "COMPLIANT", + "NOT_COMPLIANT" + ] + }, + "Vcenter.Compute.Policies.PolicyStrictness": { + "type": "string", + "description": "The Vcenter.Compute.Policies.PolicyStrictness enumerated type defines the strictness of enforcement of a compute policy. It determines whether a compute policy must be strictly enforced or can be violated. For compute policies that impact placement of a virtual machine, PolicyStrictness determines whether a placement workflow will fail when no suitable destination honors the policy, or whether the policy can be violated to allow the placement workflow to succeed. \n\n Values with DURING_PLACEMENT determine how the policy strictness is taken into account when a client powers on a virtual machine or explicitly requests placement of a virtual machine. \n\n Enum values with PREFERRED_DURING_PLACEMENT determine the behavior when a virtual machine cannot be successfully placed on any host while honoring the policy's constraints. In such scenarios, the policy will be applied on a best-effort basis and the policy can be violated to generate a successful placement recommendation. If strictness is configured as REQUIRED_DURING_PLACEMENT and a virtual machine cannot be successfully placed on any host while honoring the policy's constraints, the policy will not be violated and there will be no placement recommendation. \n\n Values with DURING_EXECUTION determine the behavior when a virtual machine that is running on a host (in execution) needs to be evacuated for maintenance operations or for failover operations by vSphere High Availability. \n\n Enum values with PREFERRED_DURING_EXECUTION determine the behavior when a virtual machine cannot be successfully evacuated for maintenance or failed over for High Availability while honoring the policy's constraints. In such scenarios, for these workflows, the policy will be applied on a best-effort basis and the policy can be violated to enable successful evacuation or failover. \n\n An exception to this enforcement of a policy for virtual machines in execution is the behavior of the DRS load balancer. The DRS load balancer always treats the policy strictness as REQUIRED, meaning it will not make placement decisions that violate a policy.\n\nPossible values:\n - `PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n - `REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced and will not be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION", + "REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION" + ] + }, + "Vcenter.Compute.Policies.ManagedBy": { + "required": [ + "entity" + ], + "type": "object", + "properties": { + "entity": { + "type": "string", + "description": "Identifier of the entity that manages this policy.\n\nPossible values:\n - `NONE`: The policy is not managed by any entity.\n - `SUPERVISOR`: The policy is managed by vSphere Supervisor.\n\n\nFor more information see: *Vcenter.Compute.Policies.ManagedBy.Entity*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Compute.Policies.ManagedBy schema identifies the entity that manages a compute policy.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Compute.Policies.ManagedBy.Entity": { + "type": "string", + "description": "The Vcenter.Compute.Policies.ManagedBy.Entity enumeration defines the entities that can manage compute policies.\n\nPossible values:\n - `NONE`: The policy is not managed by any entity.\n - `SUPERVISOR`: The policy is managed by vSphere Supervisor.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NONE", + "SUPERVISOR" + ] + }, + "Vcenter.Compute.Policies.CreateSpec": { + "required": [ + "capability", + "description", + "name" + ], + "type": "object", + "properties": { + "capability": { + "type": "string", + "description": "Identifier of the capability this policy is based on.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nif missing or `null`, then the name of capability schema will be used to distinguish the policy type.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`." + }, + "name": { + "type": "string", + "description": "Name of the policy. The name needs to be unique within this vCenter server.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "Description of the policy.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "managed_by": { + "description": "Information about the entity that manages this policy. \n\n This property identifies which entity is responsible for managing the policy and can influence operations such as delete. If missing or `null`, the policy is not managed by any specific entity. Any user with ComputePolicy.Manage privilege can manage the policy.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.ManagedBy" + } + ] + } + }, + "description": "The Vcenter.Compute.Policies.CreateSpec schema contains common information used to create a new policy.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "discriminator": { + "propertyName": "capability", + "mapping": { + "com.vmware.vcenter.compute.policies.capabilities.cluster_scale_in_ignore_vm_capabilities": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.disable_drs_vmotion": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.DisableDrsVmotion.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.vm.evacuation.best_effort_restart": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.vm.evacuation.vmotion": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.Vmotion.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.vm.placement.anti_affinity_with_vcls": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.vm.placement.span.limit.number_of_hosts_plus_one_for_maintenance": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.vm_host_affinity": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.vm_host_anti_affinity": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.vm_vm_affinity": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec", + "com.vmware.vcenter.compute.policies.capabilities.vm_vm_anti_affinity": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec" + } + } + }, + "Vcenter.Compute.Policies.Info": { + "required": [ + "capability", + "description", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the policy.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "Description of the policy.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "capability": { + "type": "string", + "description": "Identifier of the capability this policy is based on.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`." + }, + "managed_by": { + "description": "Information about the entity that manages this policy. \n\n This property identifies which entity is responsible for managing the policy and can influence operations such as delete. If missing or `null`, the policy is not managed by any specific entity. Any user with ComputePolicy.Manage privilege can manage the policy.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.ManagedBy" + } + ] + } + }, + "description": "The Vcenter.Compute.Policies.Info schema contains common information about a compute policy.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "discriminator": { + "propertyName": "capability", + "mapping": { + "com.vmware.vcenter.compute.policies.capabilities.cluster_scale_in_ignore_vm_capabilities": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.Info", + "com.vmware.vcenter.compute.policies.capabilities.disable_drs_vmotion": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.DisableDrsVmotion.Info", + "com.vmware.vcenter.compute.policies.capabilities.vm.evacuation.best_effort_restart": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.Info", + "com.vmware.vcenter.compute.policies.capabilities.vm.evacuation.vmotion": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.Vmotion.Info", + "com.vmware.vcenter.compute.policies.capabilities.vm.placement.anti_affinity_with_vcls": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.Info", + "com.vmware.vcenter.compute.policies.capabilities.vm.placement.span.limit.number_of_hosts_plus_one_for_maintenance": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info", + "com.vmware.vcenter.compute.policies.capabilities.vm_host_affinity": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info", + "com.vmware.vcenter.compute.policies.capabilities.vm_host_anti_affinity": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info", + "com.vmware.vcenter.compute.policies.capabilities.vm_vm_affinity": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info", + "com.vmware.vcenter.compute.policies.capabilities.vm_vm_anti_affinity": "#/components/schemas/Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info" + } + } + }, + "Vcenter.Compute.Policies.Status": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The compliance status of the policy on a specified object.\n\nPossible values:\n - `UNKNOWN`: The object has an unknown compliance state.\n - `NOT_APPLICABLE`: The object is in a state for which the policy does not apply.\n - `COMPLIANT`: The policy is in compliance on the object.\n - `NOT_COMPLIANT`: The policy is not in compliance on the object.\n\n\nFor more information see: *Vcenter.Compute.Policies.ObjectCompliance*.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Vcenter.Compute.Policies.Status schema describes the current status of a compute policy.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Compute.Policies.Capabilities.Summary": { + "required": [ + "capability", + "description", + "name" + ], + "type": "object", + "properties": { + "capability": { + "type": "string", + "description": "Identifier of the capability.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.policies.Capability`." + }, + "name": { + "type": "string", + "description": "Name of the capability.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "Description of the capability.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.Summary schema contains commonly used information about a compute policy capability.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Compute.Policies.Capabilities.Info": { + "required": [ + "create_spec_type", + "description", + "info_type", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the capability.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "Description of the capability.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "create_spec_type": { + "type": "string", + "description": "Identifier of the schema used to create a policy based on this capability. See *POST /vcenter/compute/policies*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.structure`." + }, + "info_type": { + "type": "string", + "description": "Identifier of the schema returned when retrieving information about a policy based on this capability. See *GET /vcenter/compute/policies/{policy}*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.structure`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.Info schema contains information about a compute policy capability.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Compute.Policies.TagUsage.Summary": { + "required": [ + "category_name", + "policy", + "tag", + "tag_name", + "tag_type" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the policy that uses the tag indicated by *Vcenter.Compute.Policies.TagUsage.Summary.tag*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`." + }, + "policy_name": { + "type": "string", + "description": "Name of the policy indicated by *Vcenter.Compute.Policies.TagUsage.Summary.policy*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "policy_description": { + "type": "string", + "description": "Description of the policy indicated by *Vcenter.Compute.Policies.TagUsage.Summary.policy*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "capability": { + "type": "string", + "description": "Capability of the policy indicated by *Vcenter.Compute.Policies.TagUsage.Summary.policy*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "tag_type": { + "type": "string", + "description": "Identifier of the tag type used by the policy indicated by *Vcenter.Compute.Policies.TagUsage.Summary.policy*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.resource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.resource`." + }, + "tag": { + "type": "string", + "description": "Identifier of the tag used by the policy indicated by *Vcenter.Compute.Policies.TagUsage.Summary.policy*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property tag_type must contain the actual resource type. When operations return a value of this schema as a response, the property tag_type will contain the actual resource type." + }, + "tag_name": { + "type": "string", + "description": "Name of the tag used by the policy indicated by *Vcenter.Compute.Policies.TagUsage.Summary.policy*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "category_name": { + "type": "string", + "description": "Name of the category that has *Vcenter.Compute.Policies.TagUsage.Summary.tag*.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Vcenter.Compute.Policies.TagUsage.Summary schema contains common information about a tag used by a policy.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Compute.Policies.TagUsage.FilterSpec": { + "type": "object", + "properties": { + "policies": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers that compute policies must have to match the filter.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null` or empty, then tags used by any policy match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.compute.Policy`.", + "items": { + "type": "string" + } + }, + "tags": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers that tags must have to match the filter.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null` or empty, then tags with any tag identifier match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.cis.tagging.Tag`.", + "items": { + "type": "string" + } + }, + "tag_types": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers that tag types must have to match the filter.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null` or empty, then tags of any type match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vapi.resource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vapi.resource`.", + "items": { + "type": "string" + } + }, + "policy_names": { + "uniqueItems": true, + "type": "array", + "description": "Names that the policies must have to match the filter.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, then policies of any name match this filter.", + "items": { + "type": "string" + } + }, + "capabilities": { + "uniqueItems": true, + "type": "array", + "description": "Capabilities that the policies must have to match the filter.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, then policies of any capability match this filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Compute.Policies.TagUsage.FilterSpec schema contains properties used to filter the results when listing the tags used by policies as available in this vCenter server (see *GET /vcenter/compute/policies/tag-usage*). If multiple properties are specified, only the tags used by policies that match an element of each property match the filter.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.CreateSpec": { + "required": [ + "vm_capabilities", + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "When considering scaling-in a cluster, policies that have been created with one of the listed *Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.CreateSpec.vm_capabilities* are ignored for virtual machines that have this tag.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + }, + "vm_capabilities": { + "uniqueItems": true, + "type": "array", + "description": "When considering scaling-in a cluster, policies that have been created with one of these capabilities are ignored for virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.CreateSpec.vm_tag*. This set must contain at least one item. Currently, the only allowed capability identifier is com.vmware.vcenter.compute.policies.capabilities.disable_drs_vmotion. In the future, other capabilities may be specified.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.compute.policies.Capability:VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.compute.policies.Capability:VirtualMachine`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.CreateSpec schema contains information used to create a new policy to ignore virtual machine capabilities when scaling-in a cluster, see *POST /vcenter/compute/policies*. When considering scaling-in a cluster, policies that have been created with one of the listed *Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.CreateSpec.vm_capabilities* are ignored for virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.CreateSpec.vm_tag* in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.Info": { + "required": [ + "vm_capabilities", + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "When considering scaling-in a cluster, policies that have been created with one of the listed *Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.Info.vm_capabilities* are ignored for virtual machines that have this tag.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + }, + "vm_capabilities": { + "uniqueItems": true, + "type": "array", + "description": "When considering scaling-in a cluster, policies that have been created with one of these capabilities are ignored for virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.Info.vm_tag*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.compute.policies.Capability:VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.compute.policies.Capability:VirtualMachine`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.Info schema contains information about a policy to ignore virtual machine capabilities when scaling-in a cluster, see *GET /vcenter/compute/policies/{policy}*. When considering scaling-in a cluster, policies that have been created with one of the listed *Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.Info.vm_capabilities* are ignored for virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.ClusterScaleInIgnoreVmCapabilities.Info.vm_tag* in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.DisableDrsVmotion.CreateSpec": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will not be migrated away from the host on which they are powered on, except when the host is put into maintenance mode or failed over.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.DisableDrsVmotion.CreateSpec schema contains information used to create a new DisableDrsVmotion policy, see *POST /vcenter/compute/policies*, in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.DisableDrsVmotion.Info": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will not be migrated away from the host on which they are powered on, except when the host is put into maintenance mode or failed over.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.DisableDrsVmotion.Info schema contains information about a DisableDrsVmotion policy, see *GET /vcenter/compute/policies/{policy}* in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.CreateSpec": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. All virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.CreateSpec.vm_tag* will go through a guest shut-down if their host is entering maintenance-mode. If guest shut-down is unavailable or doesn\u2019t complete in time, then the VM is powered-off. Virtual machines that are in a powered-off state because of this policy will be attempted to be powered-on every few minutes. The host on which the VM will be powered-on can be different than the host where the VM was initially running.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.CreateSpec schema contains information used to create a new policy that applies to virtual machines when their host is entering maintenance mode and that will cause these virtual machines to enter a powered-off state; after which these virtual machines will be powered-on as soon as possible, see *POST /vcenter/compute/policies*. All virtual machines that are running on a host that is entering maintenance-mode and that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.CreateSpec.vm_tag* will go through a guest shut-down. If guest shut-down is unavailable or doesn't complete in time, then the VM is powered-off. Virtual machines that are in a powered-off state because of this policy will be attempted to be powered-on every few minutes. The host on which the VM will be powered-on can be different than the host where the VM was initially running.\n\nThis schema was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.Info": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. All virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.Info.vm_tag* will go through a guest shut-down if their host is entering maintenance-mode. If guest shut-down is unavailable or doesn't complete in time, then the VM is powered-off. Virtual machines that are in a powered-off state because of this policy will be attempted to be powered-on every few minutes. The host on which the VM will be powered-on can be different than the host where the VM was initially running.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.Info schema contains information about a policy that applies to virtual machines when their host is entering maintenance mode and that will cause these virtual machines to enter a powered-off state; after which these virtual machines will be powered-on as soon as possible, see *POST /vcenter/compute/policies*. All virtual machines that are running on a host that is entering maintenance-mode and that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.BestEffortRestart.Info.vm_tag* will go through a guest shut-down. If guest shut-down is unavailable or doesn't complete in time, then the VM is powered-off. Virtual machines that are in a powered-off state because of this policy will be attempted to be powered-on every few minutes. The host on which the VM will be powered-on can be different than the host where the VM was initially running.\n\nThis schema was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.Vmotion.CreateSpec": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be vMotioned from a host if vCenter requires to evacuate the host. If vMotion is not feasible, then the virtual machine will remain running on its current host.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.Vmotion.CreateSpec schema contains information used to create a new vMotion policy that applies when a host is evacuated, see *POST /vcenter/compute/policies*, in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.Vmotion.CreateSpec.vm_tag* will be vMotioned from a host whenever the host is evacuated by vCenter. If vCenter cannot migrate a virtual machine, then it will remain running on its current host.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.Vmotion.Info": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be vMotioned from a host if vCenter requires to evacuate the host. If vMotion is not feasible, then the virtual machine will remain running on its current host.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.Vmotion.Info schema contains information about a vMotion policy that applies when a host is evacuated, see *GET /vcenter/compute/policies/{policy}*, in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Evacuation.Vmotion.Info.vm_tag* will be vMotioned from a host whenever the host is evacuated by vCenter. If vCenter cannot migrate a virtual machine, then it will remain running on its current host.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.CreateSpec": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nIdentifier of a tag that can be associated with a virtual machine. vSphere Cluster Services (vCLS) VMs are anti-affine with virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.CreateSpec.vm_tag*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__. In a future release of vSphere, the vCLS functionality will be disabled, vCLS system VMs will be deleted, and vCLS APIs will be removed.\n\nThe Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.CreateSpec schema contains information used to create a new anti-affinity with vSphere Cluster Services (vCLS) VMs policy, see *POST /vcenter/compute/policies*. vSphere Cluster Services (vCLS) VMs are anti-affine with virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.CreateSpec.vm_tag*.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.Info": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nIdentifier of a tag that can be associated with a virtual machine. vSphere Cluster Services (vCLS) VMs are anti-affine with virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.Info.vm_tag*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__. In a future release of vSphere, the vCLS functionality will be disabled, vCLS system VMs will be deleted, and vCLS APIs will be removed.\n\nThe Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.Info schema contains information about anti-affinity with vSphere Cluster Services (vCLS) VMs policy, see *GET /vcenter/compute/policies/{policy}*. vSphere Cluster Services (vCLS) VMs are anti-affine with virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.AntiAffinityWithVcls.Info.vm_tag*.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec": { + "required": [ + "number_of_hosts", + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. \n\n Powered-on virtual machines in a vCenter cluster that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.vm_tag* will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.number_of_hosts* number of hosts. When one of these hosts is entering maintenance-mode, then until that host has entered maintenance-mode, these virtual machines will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.number_of_hosts* plus one number of hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + }, + "number_of_hosts": { + "type": "integer", + "description": "Placement of virtual machines will consider at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.number_of_hosts* number of hosts. \n\n Powered-on virtual machines in a vCenter cluster that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.vm_tag* will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.number_of_hosts* number of hosts. When one of these hosts is entering maintenance-mode, then until that host has entered maintenance-mode, these virtual machines will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.number_of_hosts* plus one number of hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec schema contains information to create a NumberOfHostsPlusOneForMaintenance policy, used to define a VM placement constraint, see *POST /vcenter/compute/policies*. \n\n The powered-on virtual machines in a vCenter cluster that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.vm_tag* will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.number_of_hosts* number of hosts. When one of these hosts is entering maintenance-mode, then until that host has entered maintenance-mode, these virtual machines will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.CreateSpec.number_of_hosts* plus one number of hosts.\n\nThis schema was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info": { + "required": [ + "number_of_hosts", + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. \n\n Powered-on virtual machines in a vCenter cluster that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.vm_tag* will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.number_of_hosts* number of hosts. When one of these hosts is entering maintenance-mode, then until that host has entered maintenance-mode, these virtual machines will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.number_of_hosts* plus one number of hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + }, + "number_of_hosts": { + "type": "integer", + "description": "Placement of virtual machines will consider at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.number_of_hosts* number of hosts. \n\n Powered-on virtual machines in a vCenter cluster that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.vm_tag* will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.number_of_hosts* number of hosts. When one of these hosts is entering maintenance-mode, then until that host has entered maintenance-mode, these virtual machines will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.number_of_hosts* plus one number of hosts.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info schema contains information about a NumberOfHostsPlusOneForMaintenance policy, see *GET /vcenter/compute/policies/{policy}*. \n\n The powered-on virtual machines in a vCenter cluster that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.vm_tag* will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.number_of_hosts* number of hosts. When one of these hosts is entering maintenance-mode, then until that host has entered maintenance-mode, these virtual machines will be on at most *Vcenter.Compute.Policies.Capabilities.Vm.Placement.Span.Limit.NumberOfHostsPlusOneForMaintenance.Info.number_of_hosts* plus one number of hosts.\n\nThis schema was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec": { + "required": [ + "host_tag", + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be affined to the hosts indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.host_tag*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + }, + "host_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a host. Virtual machines indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.vm_tag* will be affined to hosts with this tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:HostSystem`." + }, + "strictness": { + "type": "string", + "description": "Strictness of enforcement for the placement of virtual machines indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.vm_tag*. The strictness behavior is described by *Vcenter.Compute.Policies.PolicyStrictness*. \n\n If the strictness specified is PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION, and if the virtual machine associated with the policy is being powered-on or is being requested for placement, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation by placing the virtual machine on hosts not tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.host_tag*. If the virtual machine is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to have a successful evacuation or failover by placing the virtual machine on hosts not tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.host_tag*. \n\n If the strictness specified is REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION, and if the virtual machine associated with the policy is being powered-on or is being requested for placement, the policy will not be violated. If it cannot be placed on hosts tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.host_tag*, the placement will fail. If the virtual machine is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to have a successful evacuation or failover by placing the virtual machine on hosts not tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.host_tag*. \n\n\n\nPossible values:\n - `PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n - `REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced and will not be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n\n\nFor more information see: *Vcenter.Compute.Policies.PolicyStrictness*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the strictness defaults to PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec schema contains information used to create a new virtual machine to host affinity policy, see *POST /vcenter/compute/policies*. Virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.vm_tag* will be affined to hosts that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.CreateSpec.host_tag*.\n\nThis schema was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info": { + "required": [ + "host_tag", + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be affined to the hosts indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.host_tag*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + }, + "host_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a host. Virtual machines indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.vm_tag* will be affined to hosts with this tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:HostSystem`." + }, + "strictness": { + "type": "string", + "description": "Strictness of enforcement for the placement of virtual machines indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.vm_tag*. The strictness behavior is described by *Vcenter.Compute.Policies.PolicyStrictness*. \n\n If the strictness specified is PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION, and if the virtual machine associated with the policy is being powered-on or is being requested for placement, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation by placing the virtual machine on hosts not tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.host_tag*. If the virtual machine is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to have a successful evacuation or failover by placing the virtual machine on hosts not tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.host_tag*. \n\n If the strictness specified is REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION, and if the virtual machine associated with the policy is being powered-on or is being requested for placement, the policy will not be violated. If it cannot be placed on hosts tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.host_tag*, the placement will fail. If the virtual machine is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to have a successful evacuation or failover by placing the virtual machine on hosts not tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.host_tag*. \n\n\n\nPossible values:\n - `PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n - `REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced and will not be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n\n\nFor more information see: *Vcenter.Compute.Policies.PolicyStrictness*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the strictness defaults to PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info schema contains information about a virtual machine to host affinity policy, see *GET /vcenter/compute/policies/{policy}*. Virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.vm_tag* will be affined to hosts that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAffinity.Info.host_tag*.\n\nThis schema was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec": { + "required": [ + "host_tag", + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be anti-affined to the hosts indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.host_tag*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + }, + "host_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a host. Virtual machines indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.vm_tag* will be anti-affined to hosts with this tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:HostSystem`." + }, + "strictness": { + "type": "string", + "description": "Strictness of enforcement for the placement of virtual machines indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.vm_tag*. The strictness behavior is described by *Vcenter.Compute.Policies.PolicyStrictness*. \n\n If the strictness specified is PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION, and if the virtual machine associated with the policy is being powered-on or is being requested for placement, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation by placing the virtual machine on hosts tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.host_tag*. If the virtual machine is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to have a successful evacuation or failover by placing the virtual machine on hosts tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.host_tag*. \n\n If the strictness specified is REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION, and if the virtual machine associated with the policy is being powered-on or is being requested for placement, the policy will not be violated. If it cannot be placed on hosts not tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.host_tag*, the placement will fail. If the virtual machine is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to have a successful evacuation or failover by placing the virtual machine on hosts tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.host_tag*. \n\n\n\nPossible values:\n - `PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n - `REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced and will not be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n\n\nFor more information see: *Vcenter.Compute.Policies.PolicyStrictness*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the strictness defaults to PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec schema contains information used to create a new virtual machine to host anti-affinity policy, see *POST /vcenter/compute/policies*. Virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.vm_tag* will be anti-affined to hosts that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.CreateSpec.host_tag*.\n\nThis schema was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info": { + "required": [ + "host_tag", + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be anti-affined to the hosts indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.host_tag*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + }, + "host_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a host. Virtual machines indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.vm_tag* will be anti-affined to hosts with this tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:HostSystem`." + }, + "strictness": { + "type": "string", + "description": "Strictness of enforcement for the placement of virtual machines indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.vm_tag*. The strictness behavior is described by *Vcenter.Compute.Policies.PolicyStrictness*. \n\n If the strictness specified is PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION, and if the virtual machine associated with the policy is being powered-on or is being requested for placement, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation by placing the virtual machine on hosts tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.host_tag*. If the virtual machine is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to have a successful evacuation or failover by placing the virtual machine on hosts tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.host_tag*. \n\n If the strictness specified is REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION, and if the virtual machine associated with the policy is being powered-on or is being requested for placement, the policy will not be violated. If it cannot be placed on hosts not tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.host_tag*, the placement will fail. If the virtual machine is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to have a successful evacuation or failover by placing the virtual machine on hosts tagged with *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.host_tag*. \n\n\n\nPossible values:\n - `PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced on a best-effort basis. The policy can be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n - `REQUIRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION`: If a virtual machine is associated with a compute policy configured with this strictness and a client is either powering on this VM or explicitly requesting placement for this VM, the policy will be enforced and will not be violated to generate a successful placement or power-on recommendation. If a virtual machine associated with a compute policy configured with this strictness is being evacuated or failed over, the policy will be enforced on a best-effort basis. The policy can be violated to enable successful evacuation or failover.\n\n\nFor more information see: *Vcenter.Compute.Policies.PolicyStrictness*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the strictness defaults to PREFERRED_DURING_PLACEMENT_PREFERRED_DURING_EXECUTION." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info schema contains information about a virtual machine to host anti-affinity policy, see *GET /vcenter/compute/policies/{policy}*. Virtual machines that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.vm_tag* will be anti-affined to hosts that have the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmHostAntiAffinity.Info.host_tag*.\n\nThis schema was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be affined to each other.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec schema contains information used to create a new VM-VM affinity policy, see *POST /vcenter/compute/policies*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAffinity.CreateSpec.vm_tag* will be affined to each other in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be affined to each other.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info schema contains information about a VM-VM affinity policy, see *GET /vcenter/compute/policies/{policy}*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAffinity.Info.vm_tag* are affined to each other in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag will be anti-affine to each other.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec schema contains information used to create a new VM-VM anti-affinity policy, see *POST /vcenter/compute/policies*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.CreateSpec.vm_tag* will be anti-affine to each other in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.CreateSpec" + } + ] + }, + "Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info": { + "required": [ + "vm_tag" + ], + "type": "object", + "properties": { + "vm_tag": { + "type": "string", + "description": "Identifier of a tag that can be associated with a virtual machine. Virtual machines with this tag are anti-affine to each other.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag:VirtualMachine`." + } + }, + "description": "The Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info schema contains information about a VM-VM anti-affinity policy, see *GET /vcenter/compute/policies/{policy}*. All virtual machines that share the tag indicated by *Vcenter.Compute.Policies.Capabilities.VmVmAntiAffinity.Info.vm_tag* are anti-affine to each other in VMware Cloud on AWS. Usage beyond VMware Cloud on AWS is not supported.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Compute.Policies.Info" + } + ] + }, + "Vcenter.ConfidentialComputing.Sgx.Hosts.RegisterSpec": { + "required": [ + "host_id" + ], + "type": "object", + "properties": { + "host_id": { + "type": "string", + "description": "The host's identifier.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + } + }, + "description": "The Vcenter.ConfidentialComputing.Sgx.Hosts.RegisterSpec schema contains the data necessary to identify the host.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.Zones.Info": { + "required": [ + "description" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the zone.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.Info schema contains commonly used information about a specific zone.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.Zones.ListItem": { + "required": [ + "info", + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "Identifier of the zone.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "info": { + "description": "Information about the zone.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Info" + } + ] + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.ListItem schema contains commonly used information about a zone.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.Zones.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "The list of zones.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.ListItem" + } + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.ListResult schema contains the returned zones, see *GET /vcenter/consumption-domains/zones*.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.Zones.FilterSpec": { + "type": "object", + "properties": { + "zones": { + "uniqueItems": true, + "type": "array", + "description": "Matches all zones corresponding to the specified set of zone identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, results will not be filtered for specific zone identifiers.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.FilterSpec schema contains properties used to filter the results when listing configured zones, see *GET /vcenter/consumption-domains/zones*.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.Zones.CreateSpec": { + "required": [ + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "Identifier of the zone. It has the following restrictions: 1. The ID must be 63 characters or less (cannot be empty), 2. The ID must begin and end with a lowercase alphanumeric character ([a-z0-9]), 3. The ID must only contain dashes (-), and lowercase alphanumerics in between, 4. The ID must be unique within the vCenter in which it is created.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "description": { + "type": "string", + "description": "Description of the zone.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, an empty description is set." + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.CreateSpec schema contains the information required to create a zone.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.Type": { + "type": "string", + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.Type enumerated type describes the type of association change.\n\nPossible values:\n - `ADDED`: A cluster has been added to a zone.\n - `REMOVING`: A cluster is being removed from a zone.\n - `REMOVED`: A cluster has been removed from a zone.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "ADDED", + "REMOVING", + "REMOVED" + ] + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.Change": { + "required": [ + "cluster", + "type", + "zone" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the change.\n\nPossible values:\n - `ADDED`: A cluster has been added to a zone.\n - `REMOVING`: A cluster is being removed from a zone.\n - `REMOVED`: A cluster has been removed from a zone.\n\n\nFor more information see: *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.Type*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "cluster": { + "type": "string", + "description": "The identifier of the cluster.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "zone": { + "type": "string", + "description": "The identifier of the zone.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + } + }, + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.Change schema contains the details of a zone-cluster association change.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.ListResult": { + "required": [ + "changes", + "token" + ], + "type": "object", + "properties": { + "changes": { + "type": "array", + "description": "List of zone-cluster association changes.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.Change" + } + }, + "token": { + "type": "string", + "description": "An opaque token identifying the next zone-cluster association change to be read from the #list. Clients should use this returned token in the subsequent calls to #list to fetch new changes only.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.ListResult schema contains a list of zone-cluster association changes and a token for the next call to *POST /vcenter/consumption-domains/zone-associations/association-changes?action=query*.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.FilterSpec": { + "type": "object", + "properties": { + "zones": { + "uniqueItems": true, + "type": "array", + "description": "The zone-cluster association changes will be filtered such that each change that is returned will have a zone identifier from this set of specified zone identifiers.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, zone-cluster association changes will not be filtered based on zone identifiers. Changes with any zone identifier will match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.FilterSpec schema contains properties used to filter the results when querying changes of zone-cluster association, see *POST /vcenter/consumption-domains/zone-associations/association-changes?action=query*.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.QuerySpec": { + "type": "object", + "properties": { + "filter": { + "description": "The specification of matching changes. The filter spec specified in clients' first call to #list will also be applied to their subsequent calls, if the token returned in *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.ListResult* is specified in the subsequent calls. If such subsequent calls specify a different filter, then it will be ignored.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nfilter If missing or `null`, the behavior is equivalent to a *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.FilterSpec* with all properties missing or `null`, which means any change will match the filter.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.FilterSpec" + } + ] + }, + "token": { + "type": "string", + "description": "An opaque token identifying the next change to be read. The clients should omit this field in their first call to #list, and then include the token in the returned result in all subsequent calls to #list. For the subsequent calls, all association changes starting from the change identified by the token will be returned.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\ntoken If missing or `null` or empty the current zone-cluster associations matching the *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.FilterSpec* in the *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.QuerySpec* will be returned in the form of *Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.Type.ADDED* changes. If set, only new association changes identified by the token will be returned." + }, + "timeout": { + "type": "integer", + "description": "Number of seconds to wait for matching changes if none are present at the time of the call.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\ntimeout If (@term unset) or zero the service will return immediately. Empty result will be returned if there are no matching zone-cluster association changes.", + "format": "int64" + } + }, + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.AssociationChanges.QuerySpec schema contains properties used to list changes of zone-cluster association, see *POST /vcenter/consumption-domains/zone-associations/association-changes?action=query*.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.AssociationState": { + "type": "string", + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.AssociationState enumerated type describes the valid association states of a given cluster to a vSphere Zone.\n\nPossible values:\n - `ASSOCIATED`: A cluster is associated with the vSphere Zone.\n - `REMOVING`: A cluster is being removed from a vSphere Zone.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "ASSOCIATED", + "REMOVING" + ] + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.ListItem": { + "required": [ + "cluster", + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "Identifier of the zone.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "cluster": { + "type": "string", + "description": "Identifier of the cluster.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "state": { + "type": "string", + "description": "Association state of the cluster to the vSphere Zone.\n\nPossible values:\n - `ASSOCIATED`: A cluster is associated with the vSphere Zone.\n - `REMOVING`: A cluster is being removed from a vSphere Zone.\n\n\nFor more information see: *Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.AssociationState*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "remove_task": { + "type": "string", + "description": "The identifier of the cluster removal task. At the completion of this task, the cluster will be removed from the vSphere Zone.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of state is *Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.AssociationState.REMOVING*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + } + }, + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.ListItem schema describes a zone-cluster association.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.ListResult": { + "required": [ + "associations" + ], + "type": "object", + "properties": { + "associations": { + "type": "array", + "description": "The list of zone-cluster associations.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.ListItem" + } + } + }, + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.ListResult schema contains the list of zone-cluster associations.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.FilterSpec": { + "type": "object", + "properties": { + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "Zone-cluster associations will be filtered such that each association that is returned will have a cluster identifier from this set of specified cluster identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, zone-cluster associations will not be filtered based on cluster identifiers. Associations with any cluster identifier will match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "zones": { + "uniqueItems": true, + "type": "array", + "description": "Zone-cluster associations will be filtered such that each association that is returned will have a zone identifier from this set of specified zone identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, zone-cluster associations will not be filtered based on zone identifiers. Associations with any zone identifier will match this filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.FilterSpec schema contains properties used to filter the results when listing associations between clusters and zones, see *GET /vcenter/consumption-domains/zone-associations/cluster*. If multiple filtering criteria are provided in a Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.FilterSpec, then the filtering is done based on all of them, i.e., every returned zone-cluster association must satisfy all the filtering criteria. This Vcenter.ConsumptionDomains.ZoneAssociations.Cluster.FilterSpec schema can be used to list zones associated with a given cluster as well as to list the clusters associated with a given zone.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.ConsumptionDomains.Zones.Capacity.Summary.CapacityInfo": { + "required": [ + "consumed", + "reserved", + "total" + ], + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total capacity.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "reserved": { + "type": "integer", + "description": "Capacity reserved by the workloads. This metric indicates only the configured reservation does not include current usage of reservation.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "consumed": { + "type": "integer", + "description": "Capacity currently consumed by the workloads.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.Capacity.Summary.CapacityInfo schema contains information that describes the capacity of a resource.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ConsumptionDomains.Zones.Capacity.Summary.Info": { + "required": [ + "cpu", + "memory", + "vm_resource_profiles" + ], + "type": "object", + "properties": { + "cpu": { + "description": "CPU capacity information of the vSphere Zone, units are MHz.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Capacity.Summary.CapacityInfo" + } + ] + }, + "memory": { + "description": "Memory capacity information of the vSphere Zone, units are MiB.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Capacity.Summary.CapacityInfo" + } + ] + }, + "vm_resource_profiles": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Capacity.Summary.CapacityInfo" + }, + "description": "VmResourceProfile capacity information of the vSphere Zone, units are in number of instances.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.VmResourceProfile`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.VmResourceProfile`." + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.Capacity.Summary.Info schema contains information about capacity of a resource in a vSphere Zone.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ConsumptionDomains.Zones.Capacity.Summary.ClusterInfo": { + "required": [ + "cluster_infos" + ], + "type": "object", + "properties": { + "cluster_infos": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.ConsumptionDomains.Zones.Capacity.Summary.Info" + }, + "description": "Capacity info for each cluster\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.Capacity.Summary.ClusterInfo schema contains information about resource capacity in a vSphere Zone for each cluster which is in associated state with the vSphere Zone.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ConsumptionDomains.Zones.Cluster.Associations.Status": { + "required": [ + "failed_clusters", + "success" + ], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "This is true if the complete operation succeeded without any errors. Otherwise, it is false if all or some operations have failed.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "failed_clusters": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "Associations between the identifiers of the clusters for which the operation failed and the reason of the failure.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.ConsumptionDomains.Zones.Cluster.Associations.Status schema contains information about the outcome of the operation to add a set of vSphere clusters to a zone or the operation to remove a set of vSphere clusters from a zone. It also contains information about the partial failures, in case the addition/removal failed for a subset of clusters.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.Content.Registries.DayOfWeek": { + "type": "string", + "description": "The Vcenter.Content.Registries.DayOfWeek enumerated type describes the supported days of the week to run a specific operation for a container registry.\n\nPossible values:\n - `SUNDAY`: Sunday.\n - `MONDAY`: Monday.\n - `TUESDAY`: Tuesday.\n - `WEDNESDAY`: Wednesday.\n - `THURSDAY`: Thursday.\n - `FRIDAY`: Friday.\n - `SATURDAY`: Saturday.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SUNDAY", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY" + ] + }, + "Vcenter.Content.Registries.Recurrence": { + "type": "string", + "description": "The Vcenter.Content.Registries.Recurrence enumerated type defines the supported values for how often to run a specific operation for a container registry.\n\nPossible values:\n - `NONE`: No operation is scheduled.\n - `DAILY`: An operation occurs on a daily basis.\n - `WEEKLY`: An operation occurs on a weekly basis.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "DAILY", + "WEEKLY" + ] + }, + "Vcenter.Content.Registries.Harbor.StorageSpec": { + "required": [ + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nIdentifier of the storage policy.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "limit": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe maximum amount of storage (in mebibytes) which can be utilized by the registry for this specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, a default limit of 204800 mebibytes will be set as the registry's storage capacity.", + "format": "int64" + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.StorageSpec schema contains the specification required to configure storage associated with a Harbor registry. In this version, Harbor registry is created in Kubernetes environment, information in this schema will result in storage quotas on a Kubernetes namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Content.Registries.Harbor.StorageInfo": { + "required": [ + "capacity", + "policy", + "used" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nIdentifier of the storage policy.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "capacity": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nTotal capacity for the registry storage (in mebibytes). This is the storage limit set on the Harbor registry. If a storage limit was not set on the registry, the default registry capacity - 204800 mebibytes is used.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "used": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nOverall storage used by the registry (in mebibytes). This is the sum of used storage associated with storage policies configured for the registry.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.StorageInfo schema contains the detailed information about storage used by the Harbor registry.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Content.Registries.Harbor.GarbageCollection": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nFrequency of garbage collection.\n\nPossible values:\n - `NONE`: No operation is scheduled.\n - `DAILY`: An operation occurs on a daily basis.\n - `WEEKLY`: An operation occurs on a weekly basis.\n\n\nFor more information see: *Vcenter.Content.Registries.Recurrence*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "day_of_week": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nDay of the week when garbage collection should run.\n\nPossible values:\n - `SUNDAY`: Sunday.\n - `MONDAY`: Monday.\n - `TUESDAY`: Tuesday.\n - `WEDNESDAY`: Wednesday.\n - `THURSDAY`: Thursday.\n - `FRIDAY`: Friday.\n - `SATURDAY`: Saturday.\n\n\nFor more information see: *Vcenter.Content.Registries.DayOfWeek*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Content.Registries.Recurrence.WEEKLY*." + }, + "hour": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nHour at which garbage collection should run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Content.Registries.Recurrence.DAILY* or *Vcenter.Content.Registries.Recurrence.WEEKLY*.", + "format": "int64" + }, + "minute": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nMinute at which garbage collection should run.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Content.Registries.Recurrence.DAILY* or *Vcenter.Content.Registries.Recurrence.WEEKLY*.", + "format": "int64" + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.GarbageCollection schema contains garbage collection configuration for the Harbor registry.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Content.Registries.Harbor.CreateSpec": { + "required": [ + "storage" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nIdentifier of the cluster hosting the registry.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, registry will not be created on a specified cluster. This is required in current version, since Harbor can only be created on a cluster with Kubernetes enabled.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "garbage_collection": { + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nGarbage collection configuration for the Harbor registry.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, a default configuration is set, Recurrence#WEEKLY, DayOfWeek#SATURDAY, GarbageCollection#hour is 2, GarbageCollection#minute is 0.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.GarbageCollection" + } + ] + }, + "storage": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nStorage associated with the Harbor registry. The list contains only one storage backing in this version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.StorageSpec" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.CreateSpec schema contains the specification required to create a Harbor registry.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Content.Registries.Harbor.Summary": { + "required": [ + "registry", + "ui_access_url", + "version" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nIdentifier of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, container registry is not created on the cluster specified by *Vcenter.Content.Registries.Harbor.CreateSpec.cluster*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "registry": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nIdentifier of the registry.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.content.Registry`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.content.Registry`." + }, + "version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nVersion of the registry.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ui_access_url": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nURL to access the UI of the registry.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.Summary schema contains basic information about a running Harbor registry.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Content.Registries.Harbor.Info": { + "required": [ + "cert_chain", + "creation_time", + "garbage_collection", + "health", + "storage", + "ui_access_url", + "version" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nIdentifier of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, container registry is not created on the cluster specified by *Vcenter.Content.Registries.Harbor.CreateSpec.cluster*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "namespace": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nIdentifier of the Harbor namespace in case it is created in a Kubernetes environment.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no Kubernetes namespace is created for the Harbor.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NamespaceInstance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NamespaceInstance`." + }, + "version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nVersion of the registry.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "creation_time": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe date and time when the harbor registry was created.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "ui_access_url": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nURL to access the UI of the registry.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "cert_chain": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nHarbor certificate chain in base64 format.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "garbage_collection": { + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nGarbage collection information for the registry.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.GarbageCollection" + } + ] + }, + "storage": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nStorage information associated with the registry.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Harbor.StorageInfo" + } + }, + "health": { + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nHealth status of the container registry.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Content.Registries.Health.Info" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.Info schema contains detailed information about a running Harbor registry.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Content.Registries.Health.Status": { + "type": "string", + "description": "The Vcenter.Content.Registries.Health.Status enumerated type describes the status of the container registry.\n\nPossible values:\n - `STARTING`: Container registry is starting.\n - `RUNNING`: Container registry is running.\n - `WARNING`: Container registry is running with some warning, for example, storage reaches the threshold configuration.\n - `ERROR`: Container registry failed to start or stopped with fatal error.\n - `DELETING`: Container registry is being deleted.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "STARTING", + "RUNNING", + "WARNING", + "ERROR", + "DELETING" + ] + }, + "Vcenter.Content.Registries.Health.Info": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Container registry status.\n\nPossible values:\n - `STARTING`: Container registry is starting.\n - `RUNNING`: Container registry is running.\n - `WARNING`: Container registry is running with some warning, for example, storage reaches the threshold configuration.\n - `ERROR`: Container registry failed to start or stopped with fatal error.\n - `DELETING`: Container registry is being deleted.\n\n\nFor more information see: *Vcenter.Content.Registries.Health.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "description": "Details about the status.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, message details are not required for taking actions.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Content.Registries.Health.Info schema contains health information about a container registry.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Content.Registries.Harbor.Projects.Scope": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.Projects.Scope enumerated type in a project defines access levels of the project.\n\nPossible values:\n - `PUBLIC`: A Harbor project can be accessed by everyone.\n - `PRIVATE`: A Harbor project can only be accessed by assigned users.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "PUBLIC", + "PRIVATE" + ] + }, + "Vcenter.Content.Registries.Harbor.Projects.ConfigStatus": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.Projects.ConfigStatus enumerated type describes the status of reaching the desired configuration state for the Harbor project.\n\nPossible values:\n - `PENDING`: Harbor project is being created or the configuration is being applied to the project.\n - `REMOVING`: The configuration is being removed and Harbor project is being deleted.\n - `ERROR`: Failed to create Harbor project or apply the configuration to the project, user intervention needed.\n - `READY`: Harbor project is created or configured correctly.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "PENDING", + "REMOVING", + "ERROR", + "READY" + ] + }, + "Vcenter.Content.Registries.Harbor.Projects.CreateSpec": { + "required": [ + "name", + "scope" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nName of the Harbor project. Should be between 1-63 characters long alphanumeric string and may contain the following characters: a-z,0-9, and '-'. Must be starting with characters or numbers, with the '-' character allowed anywhere except the first or last character.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "scope": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nAccess type of a Harbor project.\n\nPossible values:\n - `PUBLIC`: A Harbor project can be accessed by everyone.\n - `PRIVATE`: A Harbor project can only be accessed by assigned users.\n\n\nFor more information see: *Vcenter.Content.Registries.Harbor.Projects.Scope*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.Projects.CreateSpec schema defines the information required to create a Harbor project.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Content.Registries.Harbor.Projects.Summary": { + "required": [ + "name", + "project", + "scope" + ], + "type": "object", + "properties": { + "project": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nIdentifier of the harbor project.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.content.Registry.Harbor.Project`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.content.Registry.Harbor.Project`." + }, + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nName of the Harbor project. Should be between 1-63 characters long alphanumeric string and may contain the following characters: a-z,0-9, and '-'. Must be starting with characters or numbers, with the '-' character allowed anywhere except the first or last character.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "scope": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nAccess type of a Harbor project.\n\nPossible values:\n - `PUBLIC`: A Harbor project can be accessed by everyone.\n - `PRIVATE`: A Harbor project can only be accessed by assigned users.\n\n\nFor more information see: *Vcenter.Content.Registries.Harbor.Projects.Scope*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.Projects.Summary schema contains basic information about a Harbor project.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Content.Registries.Harbor.Projects.Info": { + "required": [ + "config_status", + "creation_time", + "name", + "scope" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nName of the Harbor project. Should be between 1-63 characters long alphanumeric string and may contain the following characters: a-z,0-9, and '-'. Must be starting with characters or numbers, with the '-' character allowed anywhere except the first or last character.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "config_status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe status of the Harbor project.\n\nPossible values:\n - `PENDING`: Harbor project is being created or the configuration is being applied to the project.\n - `REMOVING`: The configuration is being removed and Harbor project is being deleted.\n - `ERROR`: Failed to create Harbor project or apply the configuration to the project, user intervention needed.\n - `READY`: Harbor project is created or configured correctly.\n\n\nFor more information see: *Vcenter.Content.Registries.Harbor.Projects.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "scope": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe access type of a Harbor project.\n\nPossible values:\n - `PUBLIC`: A Harbor project can be accessed by everyone.\n - `PRIVATE`: A Harbor project can only be accessed by assigned users.\n\n\nFor more information see: *Vcenter.Content.Registries.Harbor.Projects.Scope*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "creation_time": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe date and time when the harbor project creation API was triggered and project identifier generated.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "update_time": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe date and time when the harbor project purge API was triggered. In case no purge was triggered, update_time is same as creation_time.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_status is *Vcenter.Content.Registries.Harbor.Projects.ConfigStatus.READY*.", + "format": "date-time" + }, + "access_url": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nURL to access the harbor project through docker client.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_status is *Vcenter.Content.Registries.Harbor.Projects.ConfigStatus.READY*.", + "format": "uri" + }, + "message": { + "description": "This property is deprecated as of __vSphere API 8.0.1.00200__.\n\nDetails about the ERROR project status.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_status is *Vcenter.Content.Registries.Harbor.Projects.ConfigStatus.ERROR*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.1.00200__.\n\nThe Vcenter.Content.Registries.Harbor.Projects.Info schema contains detailed information about a Harbor project.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Crypto.Fips.Modules.Info": { + "required": [ + "component_version", + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the module as specified in its certificate.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the module.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "cmvp_cert": { + "type": "string", + "description": "CMVP certificate number of the module. Can be used to construct the URL of the certificate, for example: https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4743\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the module's CMVP certification is still pending." + }, + "cavp_cert": { + "type": "string", + "description": "CAVP certificate number of the module's algorithms. Can be used to construct the URL of the certificate, for example: https://csrc.nist.gov/projects/Cryptographic-Algorithm-Validation-Program/details?source=A&number=3500\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nMay be left missing or `null`, if the module has a CMVP certificate issued." + }, + "component_name": { + "type": "string", + "description": "VCF component on which this module is installed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nCan be left missing or `null` for modules installed on the vCenter." + }, + "component_version": { + "type": "string", + "description": "Version of the VCF component on which this module is installed.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Crypto.Fips.Modules.Info schema contains information about a FIPS validated crypto module.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.CryptoManager.Hosts.Kms.Providers.Type": { + "type": "string", + "description": "The Vcenter.CryptoManager.Hosts.Kms.Providers.Type enumerated type contains the types of providers.\n\nPossible values:\n - `NATIVE`: Native provider\n - `TRUST_AUTHORITY`: Trust Authority provider\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "NATIVE", + "TRUST_AUTHORITY" + ] + }, + "Vcenter.CryptoManager.Hosts.Kms.Providers.Health": { + "type": "string", + "description": "The Vcenter.CryptoManager.Hosts.Kms.Providers.Health enumerated type contains the health status of a provider.\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.CryptoManager.Hosts.Kms.Providers.FilterSpec": { + "type": "object", + "properties": { + "providers": { + "uniqueItems": true, + "type": "array", + "description": "Provider identifiers.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider identifier.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`.", + "items": { + "type": "string" + } + }, + "health": { + "uniqueItems": true, + "type": "array", + "description": "Provider health status.\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nFor more information see: *Vcenter.CryptoManager.Hosts.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider health status.", + "items": { + "type": "string" + } + }, + "types": { + "uniqueItems": true, + "type": "array", + "description": "Provider types.\n\nPossible values:\n - `NATIVE`: Native provider\n - `TRUST_AUTHORITY`: Trust Authority provider\n\n\nFor more information see: *Vcenter.CryptoManager.Hosts.Kms.Providers.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider type.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.CryptoManager.Hosts.Kms.Providers.FilterSpec schema contains properties used to filter the results when listing providers.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Hosts.Kms.Providers.Summary": { + "required": [ + "health", + "provider", + "type" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Identifier of the provider\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`." + }, + "type": { + "type": "string", + "description": "Provider type\n\nPossible values:\n - `NATIVE`: Native provider\n - `TRUST_AUTHORITY`: Trust Authority provider\n\n\nFor more information see: *Vcenter.CryptoManager.Hosts.Kms.Providers.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "health": { + "type": "string", + "description": "Health status of the provider\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nFor more information see: *Vcenter.CryptoManager.Hosts.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.CryptoManager.Hosts.Kms.Providers.Summary schema contains properties that describe a provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Hosts.Kms.Providers.NativeProviderInfo": { + "required": [ + "key_id" + ], + "type": "object", + "properties": { + "key_id": { + "type": "string", + "description": "Key identifier for the provider\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.CryptoManager.Hosts.Kms.Providers.NativeProviderInfo schema contains properties that describe details of a native provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Hosts.Kms.Providers.Info": { + "required": [ + "details", + "health", + "type" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "Health status of the provider\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nFor more information see: *Vcenter.CryptoManager.Hosts.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "details": { + "type": "array", + "description": "Details regarding the health status of the provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen the provider Vcenter.CryptoManager.Hosts.Kms.Providers.Health is not *Vcenter.CryptoManager.Hosts.Kms.Providers.Health.OK* or *Vcenter.CryptoManager.Hosts.Kms.Providers.Health.NONE*, this property will provide actionable descriptions of the issues.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "type": { + "type": "string", + "description": "Provider type\n\nPossible values:\n - `NATIVE`: Native provider\n - `TRUST_AUTHORITY`: Trust Authority provider\n\n\nFor more information see: *Vcenter.CryptoManager.Hosts.Kms.Providers.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "native_info": { + "description": "Native provider information\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.CryptoManager.Hosts.Kms.Providers.Type.NATIVE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Hosts.Kms.Providers.NativeProviderInfo" + } + ] + } + }, + "description": "The Vcenter.CryptoManager.Hosts.Kms.Providers.Info schema contains properties that describe the details of a provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.Type": { + "type": "string", + "description": "The Vcenter.CryptoManager.Kms.Providers.Type enumerated type contains the types of providers.\n\nPossible values:\n - `NATIVE`: Native provider\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "NATIVE" + ] + }, + "Vcenter.CryptoManager.Kms.Providers.Health": { + "type": "string", + "description": "The Vcenter.CryptoManager.Kms.Providers.Health enumerated type describes the health status of a provider.\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.CryptoManager.Kms.Providers.ExportType": { + "type": "string", + "description": "The Vcenter.CryptoManager.Kms.Providers.ExportType enumerated type identifies the type of result that is returned when a provider is exported.\n\nPossible values:\n - `LOCATION`: Result returned as a URL from which the provider configuration can be downloaded.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "LOCATION" + ] + }, + "Vcenter.CryptoManager.Kms.Providers.Constraints": { + "required": [ + "tpm_required" + ], + "type": "object", + "properties": { + "tpm_required": { + "type": "boolean", + "description": "Determines if a provider is restricted to hosts with TPM 2.0 capability.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.Constraints schema contains constraints on a provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.ConstraintsSpec": { + "type": "object", + "properties": { + "tpm_required": { + "type": "boolean", + "description": "Determines if a provider is restricted to hosts with TPM 2.0 capability.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the constraint does not apply to the provider." + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.ConstraintsSpec schema contains constraints to be imposed on a provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.Summary": { + "required": [ + "health", + "provider", + "type" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Provider identifier\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`." + }, + "type": { + "type": "string", + "description": "Provider type\n\nPossible values:\n - `NATIVE`: Native provider\n\n\nFor more information see: *Vcenter.CryptoManager.Kms.Providers.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "health": { + "type": "string", + "description": "Health status of the provider\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nFor more information see: *Vcenter.CryptoManager.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.Summary schema contains properties that describe a provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.NativeProviderInfo": { + "required": [ + "key_id" + ], + "type": "object", + "properties": { + "key_id": { + "type": "string", + "description": "Key identifier for the provider\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.NativeProviderInfo schema contains properties that describe details of a native provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.Info": { + "required": [ + "details", + "health", + "type" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "Health status of the provider\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nFor more information see: *Vcenter.CryptoManager.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "details": { + "type": "array", + "description": "Details regarding the health status of the provider. \n\n When the provider Vcenter.CryptoManager.Kms.Providers.Health is not *Vcenter.CryptoManager.Kms.Providers.Health.NONE* or *Vcenter.CryptoManager.Kms.Providers.Health.OK*, this property will provide actionable descriptions of the issues.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "constraints": { + "description": "The constraints on the provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, there are no constraints on the provider.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.Constraints" + } + ] + }, + "type": { + "type": "string", + "description": "Provider type\n\nPossible values:\n - `NATIVE`: Native provider\n\n\nFor more information see: *Vcenter.CryptoManager.Kms.Providers.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "native_info": { + "description": "Native provider information\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.CryptoManager.Kms.Providers.Type.NATIVE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.NativeProviderInfo" + } + ] + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.Info schema contains properties that describe the details of a provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.FilterSpec": { + "type": "object", + "properties": { + "providers": { + "uniqueItems": true, + "type": "array", + "description": "Provider identifiers.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider identifier.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`.", + "items": { + "type": "string" + } + }, + "health": { + "uniqueItems": true, + "type": "array", + "description": "Provider health status.\n\nPossible values:\n - `NONE`: No health status is available.\n - `OK`: Operating normally.\n - `WARNING`: Operating normally, but there is an issue that requires attention.\n - `ERROR`: There is a critical issue that requires attention.\n\n\nFor more information see: *Vcenter.CryptoManager.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the result will not be filtered by provider health status.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.FilterSpec schema contains properties used to filter the results when listing providers.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.NativeProviderCreateSpec": { + "type": "object", + "properties": { + "key_id": { + "type": "string", + "description": "Key identifier for the provider. \n\n The key identifier is required to be a 128-bit UUID represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the key identifier will be generated automatically." + }, + "key_derivation_key": { + "type": "string", + "description": "Key used to derive data encryption keys. Base64 encoded.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the key derivation key will be generated automatically.", + "format": "password" + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.NativeProviderCreateSpec schema contains properties that describe the desired configuration for a *Vcenter.CryptoManager.Kms.Providers.Type.NATIVE* provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.CreateSpec": { + "required": [ + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Provider identifier. \n\n A unique string provided by the client.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`." + }, + "constraints": { + "description": "The constraints on the provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` there are no constraints on the provider.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.ConstraintsSpec" + } + ] + }, + "native_spec": { + "description": "Native provider create spec.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is required when creating a *Vcenter.CryptoManager.Kms.Providers.Type.NATIVE* provider.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.NativeProviderCreateSpec" + } + ] + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.CreateSpec schema contains properties that describe the desired configuration for a new provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.NativeProviderUpdateSpec": { + "type": "object", + "properties": { + "key_id": { + "type": "string", + "description": "Key identifier for the provider. \n\n The key identifier is required to be a 128-bit UUID represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the key identifier will remain unchanged." + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.NativeProviderUpdateSpec schema contains properties that describe the desired configuration for *Vcenter.CryptoManager.Kms.Providers.Type.NATIVE* provider. Exporting a *Vcenter.CryptoManager.Kms.Providers.Type.NATIVE* provider to create a new back-up is suggested after any update.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.UpdateSpec": { + "type": "object", + "properties": { + "native_spec": { + "description": "New Configuration for *Vcenter.CryptoManager.Kms.Providers.Type.NATIVE* provider. \n\n\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, provider configuration will remain unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.NativeProviderUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.UpdateSpec schema contains properties that describe the new configuration for an existing provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.ExportSpec": { + "required": [ + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Provider identifier\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`." + }, + "password": { + "type": "string", + "description": "Password used to encrypt the exported configuration.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, the configuration will not be encrypted.", + "format": "password" + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.ExportSpec schema contains properties that are needed to export a provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.Token": { + "required": [ + "expiry", + "token" + ], + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "A one-time, short-lived token required in \"Authorization\" field of the HTTP header of the request to the url. \n\n After the token expires, any attempt to download the configuration with said token will fail.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "password" + }, + "expiry": { + "type": "string", + "description": "Expiry time of the token\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "date-time" + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.Token schema contains information about the token required to be passed in the HTTP header in the HTTP GET request to download the provider configuration.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.Location": { + "required": [ + "download_token", + "url" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "Provider configuration download URL\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "uri" + }, + "download_token": { + "description": "Information about the token required in the HTTP GET request to download the provider configuration.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.Token" + } + ] + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.Location schema contains the location as well as a token required (as a header in the HTTP GET request) to download the configuration.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.ExportResult": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of provider export result\n\nPossible values:\n - `LOCATION`: Result returned as a URL from which the provider configuration can be downloaded.\n\n\nFor more information see: *Vcenter.CryptoManager.Kms.Providers.ExportType*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "location": { + "description": "Location of the exported configuration\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.CryptoManager.Kms.Providers.ExportType.LOCATION*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.Location" + } + ] + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.ExportResult schema contains result of *POST /vcenter/crypto-manager/kms/providers?action=export* operation.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.ImportSpec": { + "type": "object", + "properties": { + "config": { + "type": "string", + "description": "Configuration to import.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nCurrently this is required. Other import methods may be supported in the future.", + "format": "byte" + }, + "password": { + "type": "string", + "description": "Password to decrypt the configuration to import.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` or empty, configuration to import must be unencrypted.", + "format": "password" + }, + "constraints": { + "description": "Constraints to impose on the imported provider\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the imported provider constraints will match the exported provider constraints.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.ConstraintsSpec" + } + ] + }, + "dry_run": { + "type": "boolean", + "description": "Whether to perform a trial import without actually creating a provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, a new provider will be created." + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.ImportSpec schema contains properties that are needed to import a provider.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.CryptoManager.Kms.Providers.ImportResult": { + "required": [ + "export_time", + "provider", + "type" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Provider identifier\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.crypto_manager.kms.provider`." + }, + "type": { + "type": "string", + "description": "Provider type\n\nPossible values:\n - `NATIVE`: Native provider\n\n\nFor more information see: *Vcenter.CryptoManager.Kms.Providers.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "native_info": { + "description": "Native provider information\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.CryptoManager.Kms.Providers.Type.NATIVE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.NativeProviderInfo" + } + ] + }, + "export_time": { + "type": "string", + "description": "Time when the provider was exported\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "date-time" + }, + "constraints": { + "description": "The constraints on the provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, there are no constraints on the provider.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CryptoManager.Kms.Providers.Constraints" + } + ] + } + }, + "description": "The Vcenter.CryptoManager.Kms.Providers.ImportResult schema contains result of the *POST /vcenter/crypto-manager/kms/providers?action=import* operation.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Deployment.ApplianceType": { + "type": "string", + "description": "The Vcenter.Deployment.ApplianceType enumerated type defines the vCenter appliance types.\n\nPossible values:\n - `VCSA_EMBEDDED`: The vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: The vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "VCSA_EMBEDDED", + "VCSA_EXTERNAL", + "PSC_EXTERNAL" + ] + }, + "Vcenter.Deployment.ApplianceState": { + "type": "string", + "description": "The Vcenter.Deployment.ApplianceState enumerated type defines the various states the vCenter Appliance can be in.\n\nPossible values:\n - `NOT_INITIALIZED`: The appliance is in the process of being initialized and not ready for configuration.\n - `INITIALIZED`: The appliance is initialized and ready to be configured.\n - `CONFIG_IN_PROGRESS`: The appliance is in the process of being configured.\n - `QUESTION_RAISED`: The deployment script has raised a question and is waiting for an answer to continue with the appliance configuration.\n - `FAILED`: The appliance configuration has failed.\n - `CONFIGURED`: The appliance has been configured.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "NOT_INITIALIZED", + "INITIALIZED", + "CONFIG_IN_PROGRESS", + "QUESTION_RAISED", + "FAILED", + "CONFIGURED" + ] + }, + "Vcenter.Deployment.ApplianceSize": { + "type": "string", + "description": "The Vcenter.Deployment.ApplianceSize enumerated type defines the vCenter Server Appliance sizes.\n\nPossible values:\n - `TINY`: Appliance size of 'tiny'.\n - `SMALL`: Appliance size of 'small'.\n - `MEDIUM`: Appliance size of 'medium'.\n - `LARGE`: Appliance size of 'large'.\n - `XLARGE`: Appliance size of 'extra large'.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "TINY", + "SMALL", + "MEDIUM", + "LARGE", + "XLARGE" + ] + }, + "Vcenter.Deployment.Operation": { + "type": "string", + "description": "The Vcenter.Deployment.Operation enumerated type defines the supported vCenter appliance deployment operations.\n\nPossible values:\n - `INSTALL`: The appliance installation is in progress.\n - `UPGRADE`: The appliance upgrade is in progress.\n - `MIGRATE`: The appliance migration is in progress.\n - `RESTORE`: The appliance restoration is in progress.\n - `ROLLBACK`: The appliance is being rolled back to an unconfigured state.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "INSTALL", + "UPGRADE", + "MIGRATE", + "RESTORE", + "ROLLBACK" + ] + }, + "Vcenter.Deployment.VerificationMode": { + "type": "string", + "description": "The Vcenter.Deployment.VerificationMode enumerated type defines the verification modes for SSL certificates or SSH connections.\n\nPossible values:\n - `NONE`: No verification will be performed.\n - `THUMBPRINT`: Passed thumbprint will be used for verification.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "NONE", + "THUMBPRINT" + ] + }, + "Vcenter.Deployment.CheckStatus": { + "type": "string", + "description": "The Vcenter.Deployment.CheckStatus enumerated type defines the status of the checks.\n\nPossible values:\n - `SUCCESS`: All checks have completed successfully.\n - `FAILED`: A fatal error was encountered when running the sanity checks.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "SUCCESS", + "FAILED" + ] + }, + "Vcenter.Deployment.HistoryMigrationOption": { + "type": "string", + "description": "The Vcenter.Deployment.HistoryMigrationOption enumerated type defines the vCenter history migration option choices.\n\nPossible values:\n - `EVENTS_TASKS`: Only event data and task data will be migrated along with the core data.\n - `ALL`: All history data will be migrated along with the core data.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "EVENTS_TASKS", + "ALL" + ] + }, + "Vcenter.Deployment.BinaryDataDimensionUnit": { + "type": "string", + "description": "The Vcenter.Deployment.MemoryDimension enumerated type defines the units for measuring binary data\n\nPossible values:\n - `KB`: Kilobyte\n - `MB`: Megabyte\n - `GB`: Gigabyte\n - `TB`: Terabyte\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "KB", + "MB", + "GB", + "TB" + ] + }, + "Vcenter.Deployment.DeploymentSize": { + "type": "string", + "description": "The Vcenter.Deployment.DeploymentSize enumerated type defines the possible values of vcenter deployment SKUs.\n\nPossible values:\n - `TINY`: Tiny appliance with standard storage\n - `TINY_LSTORAGE`: Tiny appliance with large storage\n - `TINY_XLSTORAGE`: Tiny appliance with extra large storage\n - `SMALL`: Small appliance with standard storage\n - `SMALL_LSTORAGE`: Small appliance with large storage\n - `SMALL_XLSTORAGE`: Small appliance with extra large storage\n - `MEDIUM`: Medium appliance with standard storage\n - `MEDIUM_LSTORAGE`: Medium appliance with large storage\n - `MEDIUM_XLSTORAGE`: Medium appliance with extra large storage\n - `LARGE`: Large appliance with standard storage\n - `LARGE_LSTORAGE`: Large appliance with large storage\n - `LARGE_XLSTORAGE`: Large appliance with extra large storage\n - `XLARGE`: Extra Large appliance with standard storage\n - `XLARGE_LSTORAGE`: Extra Large appliance with Large storage\n - `XLARGE_XLSTORAGE`: Extra Large appliance with extra large storage\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "TINY", + "TINY_LSTORAGE", + "TINY_XLSTORAGE", + "SMALL", + "SMALL_LSTORAGE", + "SMALL_XLSTORAGE", + "MEDIUM", + "MEDIUM_LSTORAGE", + "MEDIUM_XLSTORAGE", + "LARGE", + "LARGE_LSTORAGE", + "LARGE_XLSTORAGE", + "XLARGE", + "XLARGE_LSTORAGE", + "XLARGE_XLSTORAGE" + ] + }, + "Vcenter.Deployment.Notification": { + "required": [ + "id", + "message" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The notification id.\n\nThis property was added in __vSphere API 6.7__." + }, + "time": { + "type": "string", + "description": "The time the notification was raised/found.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if the time information is available.", + "format": "date-time" + }, + "message": { + "description": "The notification message.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "The resolution message, if any.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set for warnings and errors.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Deployment.Notification schema contains properties to describe any info/warning/error messages that Tasks can raise.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.Notifications": { + "type": "object", + "properties": { + "info": { + "type": "array", + "description": "Info notification messages reported.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if an info was reported by the task.", + "items": { + "$ref": "#/components/schemas/Vcenter.Deployment.Notification" + } + }, + "warnings": { + "type": "array", + "description": "Warning notification messages reported.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if an warning was reported by the task.", + "items": { + "$ref": "#/components/schemas/Vcenter.Deployment.Notification" + } + }, + "errors": { + "type": "array", + "description": "Error notification messages reported.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly set if an error was reported by the task.", + "items": { + "$ref": "#/components/schemas/Vcenter.Deployment.Notification" + } + } + }, + "description": "The Vcenter.Deployment.Notifications schema contains info/warning/error messages that can be reported be the task.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.StandaloneSpec": { + "required": [ + "sso_admin_password" + ], + "type": "object", + "properties": { + "sso_admin_password": { + "type": "string", + "description": "The SSO administrator account password.\n\nThis property was added in __vSphere API 6.7__." + }, + "sso_domain_name": { + "type": "string", + "description": "The SSO domain name to be used to configure this appliance.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, vsphere.local will be used." + } + }, + "description": "The Vcenter.Deployment.StandaloneSpec schema contains information used to configure a standalone embedded vCenter Server appliance.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.StandalonePscSpec": { + "required": [ + "sso_admin_password" + ], + "type": "object", + "properties": { + "sso_site_name": { + "type": "string", + "description": "The SSO site name used for this PSC.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, default-first-site will be used." + }, + "sso_admin_password": { + "type": "string", + "description": "The SSO administrator account password.\n\nThis property was added in __vSphere API 6.7__." + }, + "sso_domain_name": { + "type": "string", + "description": "The SSO domain name to be used to configure this appliance.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, vsphere.local will be used." + } + }, + "description": "The Vcenter.Deployment.StandalonePscSpec schema contains information used to configure a standalone PSC appliance.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.ReplicatedSpec": { + "required": [ + "partner_hostname", + "sso_admin_password" + ], + "type": "object", + "properties": { + "partner_hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the partner PSC appliance.\n\nThis property was added in __vSphere API 6.7__." + }, + "https_port": { + "type": "integer", + "description": "The HTTPS port of the external PSC appliance.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "sso_admin_password": { + "type": "string", + "description": "The SSO administrator account password.\n\nThis property was added in __vSphere API 6.7__." + }, + "ssl_thumbprint": { + "type": "string", + "description": "SHA1 thumbprint of the server SSL certificate will be used for verification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_certificate": { + "type": "string", + "description": "The SSL Certificate of the server that will be used for verification. The value should be a single x509 certificate encoded in PEM format. Note: `sslThumbprint` and `sslCertificate` parameters are mutually exclusive, and should never be used simultaneously.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_verify": { + "type": "boolean", + "description": "SSL verification should be enabled or disabled.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, ssl_verify true will be used." + } + }, + "description": "The Vcenter.Deployment.ReplicatedSpec schema contains information used to check if the configuring vCenter Server can be replicated to the remote PSC.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.ReplicatedPscSpec": { + "required": [ + "partner_hostname", + "sso_admin_password" + ], + "type": "object", + "properties": { + "sso_site_name": { + "type": "string", + "description": "The SSO sitename that will be used in PSC replication.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, default-first-site will be used." + }, + "partner_hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the partner PSC appliance.\n\nThis property was added in __vSphere API 6.7__." + }, + "https_port": { + "type": "integer", + "description": "The HTTPS port of the external PSC appliance.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "sso_admin_password": { + "type": "string", + "description": "The SSO administrator account password.\n\nThis property was added in __vSphere API 6.7__." + }, + "ssl_thumbprint": { + "type": "string", + "description": "SHA1 thumbprint of the server SSL certificate will be used for verification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_certificate": { + "type": "string", + "description": "The SSL Certificate of the server that will be used for verification. The value should be a single x509 certificate encoded in PEM format. Note: `sslThumbprint` and `sslCertificate` parameters are mutually exclusive, and should never be used simultaneously.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_verify": { + "type": "boolean", + "description": "SSL verification should be enabled or disabled.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, ssl_verify true will be used." + } + }, + "description": "The Vcenter.Deployment.ReplicatedPscSpec schema contains information used to check if the configuring PSC can be replicated to the remote PSC.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.RemotePscSpec": { + "required": [ + "psc_hostname", + "sso_admin_password" + ], + "type": "object", + "properties": { + "psc_hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the remote PSC to which this configuring vCenter Server will be registered to.\n\nThis property was added in __vSphere API 6.7__." + }, + "https_port": { + "type": "integer", + "description": "The HTTPS port of the external PSC appliance.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "sso_admin_password": { + "type": "string", + "description": "The SSO administrator account password.\n\nThis property was added in __vSphere API 6.7__." + }, + "ssl_thumbprint": { + "type": "string", + "description": "SHA1 thumbprint of the server SSL certificate will be used for verification when ssl_verify field is set to true.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_certificate": { + "type": "string", + "description": "The SSL Certificate of the server that will be used for verification. The value should be a single x509 certificate encoded in PEM format. Note: `sslThumbprint` and `sslCertificate` parameters are mutually exclusive, and should never be used simultaneously.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_verify": { + "type": "boolean", + "description": "SSL verification should be enabled or disabled. If ssl_verify is true and and ssl_thumbprint is missing or `null`, the CA certificate will be used for verification. If ssl_verify is true and ssl_thumbprint is set then the thumbprint will be used for verification. No verification will be performed if ssl_verify value is set to false.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, ssl_verify true will be used." + } + }, + "description": "The Vcenter.Deployment.RemotePscSpec schema contains information used to configure an external vCenter Server that registers with a remote PSC.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.DataMigrationEstimate": { + "required": [ + "estimated_export_time", + "estimated_import_time", + "required_free_disk_space_on_source" + ], + "type": "object", + "properties": { + "estimated_export_time": { + "type": "integer", + "description": "The time estimated to export data from the source vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "estimated_import_time": { + "type": "integer", + "description": "The time estimated to import data to the upgraded vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "required_free_disk_space_on_source": { + "type": "number", + "description": "The extra free space required on source vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "double" + } + }, + "description": "The Vcenter.Deployment.DataMigrationEstimate {schema contains estimated time and disk space required for the vCenter Server database migration.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Deployment.DataMigrationInfo": { + "required": [ + "all", + "core", + "core_events_tasks" + ], + "type": "object", + "properties": { + "core": { + "description": "Migrate only core data and configuration from vCenter Server. Events, tasks, and stats will not be migrated.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DataMigrationEstimate" + } + ] + }, + "core_events_tasks": { + "description": "Migrate core, events, and tasks from vCenter Server. Stats will not be migrated.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DataMigrationEstimate" + } + ] + }, + "all": { + "description": "Migrate all data from vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DataMigrationEstimate" + } + ] + }, + "core_events_tasks_with_deferred": { + "description": "Migrate core, events, and tasks from vCenter Server. Events and tasks will be migrated after the upgrade. Stats will not be migrated.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be available only if the source database is using an external database.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DataMigrationEstimate" + } + ] + }, + "all_with_deferred": { + "description": "Migrate all data from vCenter Server. Events, tasks, and stats will be migrated after the upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be available only if the source database is using an external database.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DataMigrationEstimate" + } + ] + } + }, + "description": "The Vcenter.Deployment.DataMigrationInfo {schema contains the disk space requirements and time estimates for the different choices available to migrate the vCenter Server data.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Deployment.DiskInfo": { + "required": [ + "free", + "mount_point", + "size", + "used" + ], + "type": "object", + "properties": { + "used": { + "type": "number", + "description": "Used disk space in GB\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "double" + }, + "free": { + "type": "number", + "description": "Free disk space in GB\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "double" + }, + "size": { + "type": "number", + "description": "Size of the disk in GB\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "double" + }, + "mount_point": { + "type": "string", + "description": "Mount point of the disk\n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "The Vcenter.Deployment.DiskInfo {schema contains information about used space, free space, total size, and mount point of the disk.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Deployment.SourceInfo": { + "required": [ + "active_directory_domain", + "deployment_size", + "deployment_type", + "dns_servers", + "hostname", + "sso_domain_name", + "version" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the source vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version": { + "type": "string", + "description": "Source vCenter Server version.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "deployment_type": { + "type": "string", + "description": "Deployment type of the source vCenter Server.\n\nPossible values:\n - `VCSA_EMBEDDED`: The vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: The vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nFor more information see: *Vcenter.Deployment.ApplianceType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "deployment_size": { + "type": "string", + "description": "Deployment size of the source vCenter Server.\n\nPossible values:\n - `TINY`: Appliance size of 'tiny'.\n - `SMALL`: Appliance size of 'small'.\n - `MEDIUM`: Appliance size of 'medium'.\n - `LARGE`: Appliance size of 'large'.\n - `XLARGE`: Appliance size of 'extra large'.\n\n\nFor more information see: *Vcenter.Deployment.ApplianceSize*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "sso_domain_name": { + "type": "string", + "description": "The SSO domain name of the source vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "active_directory_domain": { + "type": "string", + "description": "The domain name of the Active Directory server to which the source vCenter Server is joined.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "dns_servers": { + "type": "array", + "description": "IP addresses of the DNS servers of the Active Directory server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "data_migration_info": { + "description": "Contains all the available migrate options, estimated export and import time and the space required to migrate the data.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be available if estimate data is available for the appliance.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DataMigrationInfo" + } + ] + }, + "disk_info": { + "type": "array", + "description": "Contains information about the list of available disks\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` disk info was not fetched for the vCenter Server filesystem.", + "items": { + "$ref": "#/components/schemas/Vcenter.Deployment.DiskInfo" + } + }, + "replicated_partners": { + "type": "array", + "description": "Contains information about the list of replicated partner nodes\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` replicated partners information is not available for the current vCenter Server.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Deployment.SourceInfo {schema contains information about the source vCenter Server system and the database migration options.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Deployment.CheckInfo": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the check.\n\nPossible values:\n - `SUCCESS`: All checks have completed successfully.\n - `FAILED`: A fatal error was encountered when running the sanity checks.\n\n\nFor more information see: *Vcenter.Deployment.CheckStatus*.\n\nThis property was added in __vSphere API 6.7__." + }, + "result": { + "description": "Result of the check.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if result is not available at the current step of the task.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Notifications" + } + ] + }, + "source_info": { + "description": "Information collected from the source machine.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is used only for upgrade.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.SourceInfo" + } + ] + } + }, + "description": "The Vcenter.Deployment.CheckInfo schema describes the result of the appliance deployment check.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.HistoryMigrationSpec": { + "required": [ + "data_set" + ], + "type": "object", + "properties": { + "data_set": { + "type": "string", + "description": "Defines what part of vCenter historical data will be migrated along with core data.\n\nPossible values:\n - `EVENTS_TASKS`: Only event data and task data will be migrated along with the core data.\n - `ALL`: All history data will be migrated along with the core data.\n\n\nFor more information see: *Vcenter.Deployment.HistoryMigrationOption*.\n\nThis property was added in __vSphere API 6.7__." + }, + "defer_import": { + "type": "boolean", + "description": "Defines how vCenter history will be migrated. If set to true, vCenter history will be migrated separately after successful upgrade(supported scenarios are upgrade from 6.0 or 6.5 to 6.7) or migration, otherwise it will be migrated along with core data during the upgrade or migration process. vCSA upgrade with deferred import is no longer supported for target version 7.0 and later.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, vCenter historical data won't be deferred and will be migrated along with core data." + } + }, + "description": "The Vcenter.Deployment.HistoryMigrationSpec enumerated type defines how vCenter history data will be migrated. vCenter History data includes \n - Statistics\n - Events\n - Tasks\n \n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.LocationSpec": { + "required": [ + "hostname", + "password", + "username" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the container.\n\nThis property was added in __vSphere API 6.7__." + }, + "https_port": { + "type": "integer", + "description": "The HTTPS port of the container.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "ssl_thumbprint": { + "type": "string", + "description": "SHA1 thumbprint of the server SSL certificate will be used for verification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_certificate": { + "type": "string", + "description": "The SSL Certificate of the server that will be used for verification. The value should be a single x509 certificate encoded in PEM format.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_verify": { + "type": "boolean", + "description": "SSL verification should be enabled or disabled. If ssl_verify is true and and ssl_thumbprint is missing or `null`, the CA certificate will be used for verification. If ssl_verify is true and ssl_thumbprint is set then the thumbprint will be used for verification. No verification will be performed if ssl_verify value is set to false.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, ssl_verify true will be used." + }, + "username": { + "type": "string", + "description": "The administrator account on the host.\n\nThis property was added in __vSphere API 6.7__." + }, + "password": { + "type": "string", + "description": "The administrator account password.\n\nThis property was added in __vSphere API 6.7__.", + "format": "password" + } + }, + "description": "The Vcenter.Deployment.LocationSpec schema is used to pass the container ESXi or vCenter server of the VM to patch the size of this appliance.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.Disk": { + "required": [ + "name", + "size" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the disk.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "size": { + "description": "The size of the disk.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DiskDimension" + } + ] + } + }, + "description": "The Vcenter.Deployment.Disk schema contains the properties to describe a disk of vCenter\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.DiskDimension": { + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "integer", + "description": "The value of the Size.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "unit": { + "type": "string", + "description": "The unit of the binary data, denoted in KB, MB, GB so on.\n\nPossible values:\n - `KB`: Kilobyte\n - `MB`: Megabyte\n - `GB`: Gigabyte\n - `TB`: Terabyte\n\n\nFor more information see: *Vcenter.Deployment.BinaryDataDimensionUnit*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Deployment.DiskDimension schema represents quantity of Disk with value and unit\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.MemoryDimension": { + "required": [ + "unit", + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "integer", + "description": "The value of the Size.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "unit": { + "type": "string", + "description": "The unit of the binary data, denoted in KB, MB, GB and so on.\n\nPossible values:\n - `KB`: Kilobyte\n - `MB`: Megabyte\n - `GB`: Gigabyte\n - `TB`: Terabyte\n\n\nFor more information see: *Vcenter.Deployment.BinaryDataDimensionUnit*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Deployment.MemoryDimension schema represents quantity of RAM with value and unit\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.DeploymentInfo": { + "required": [ + "cpu_count", + "disks", + "host_count", + "memory", + "modified_by_user", + "size", + "total_disk_space", + "vm_count" + ], + "type": "object", + "properties": { + "size": { + "type": "string", + "description": "The deployment size of the vCenter, for example, small, medium , large and so on. The below values of {#member cpuCount}, {#member memory}, {#member disks} are minimum possible values for a given deployment size. In case the value of {#name modifiedByUser} is true, these values of { #cpuCount}, {#member memory}, {#member disks} represent the user modified values of these hardware resources and {#member size} represents the out of box deployment size. But the {#member hostCount} and {#member vmCount} still represent the maximum hosts and maximum VMs supported as per the out of box deployment size.\n\nPossible values:\n - `TINY`: Tiny appliance with standard storage\n - `TINY_LSTORAGE`: Tiny appliance with large storage\n - `TINY_XLSTORAGE`: Tiny appliance with extra large storage\n - `SMALL`: Small appliance with standard storage\n - `SMALL_LSTORAGE`: Small appliance with large storage\n - `SMALL_XLSTORAGE`: Small appliance with extra large storage\n - `MEDIUM`: Medium appliance with standard storage\n - `MEDIUM_LSTORAGE`: Medium appliance with large storage\n - `MEDIUM_XLSTORAGE`: Medium appliance with extra large storage\n - `LARGE`: Large appliance with standard storage\n - `LARGE_LSTORAGE`: Large appliance with large storage\n - `LARGE_XLSTORAGE`: Large appliance with extra large storage\n - `XLARGE`: Extra Large appliance with standard storage\n - `XLARGE_LSTORAGE`: Extra Large appliance with Large storage\n - `XLARGE_XLSTORAGE`: Extra Large appliance with extra large storage\n\n\nFor more information see: *Vcenter.Deployment.DeploymentSize*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "cpu_count": { + "type": "integer", + "description": "The number of CPUs in a given deployment type.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "memory": { + "description": "The memory or RAM of a given deployment type.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.MemoryDimension" + } + ] + }, + "disks": { + "type": "array", + "description": "A list of disks of type *Vcenter.Deployment.Disk* corresponding to a given deployment type.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Deployment.Disk" + } + }, + "total_disk_space": { + "description": "Sum total of disk space needed for a given deployment size.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DiskDimension" + } + ] + }, + "host_count": { + "type": "integer", + "description": "The maximum Host count supported by this deployment size.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "vm_count": { + "type": "integer", + "description": "The maximum Virtual Machine count supported by this deployment size.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "modified_by_user": { + "type": "boolean", + "description": "A flag indicating whether the out of box hardware resources have been modified by the user. If it is set to false, the cpuCount, memory and disk values will match the definition of deployment-size, else the cpuCount, memory and disk represent user modified values.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Deployment.DeploymentInfo schema contains the properties to describe the deployment of vCenter. It is intended to be used as a response Info for query operations.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.Install.VcsaEmbeddedSpec": { + "required": [ + "ceip_enabled" + ], + "type": "object", + "properties": { + "standalone": { + "description": "Spec used to configure a standalone embedded vCenter Server. \n\n This field describes how the standalone vCenter Server appliance should be configured.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will default to None. \n\n", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.StandaloneSpec" + } + ] + }, + "replicated": { + "description": "Spec used to configure a replicated embedded vCenter Server. \n\n This field describes how the replicated vCenter Server appliance should be configured.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will default to None. \n\n", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.ReplicatedSpec" + } + ] + }, + "ceip_enabled": { + "type": "boolean", + "description": "Whether CEIP should be enabled or disabled.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Vcenter.Deployment.Install.VcsaEmbeddedSpec schema contains information used to configure an embedded standalone or replicated vCenter Server.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.Install.InstallSpec": { + "required": [ + "vcsa_embedded" + ], + "type": "object", + "properties": { + "vcsa_embedded": { + "description": "Spec used to configure an embedded vCenter Server. This field describes how the embedded vCenter Server appliance should be configured.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Install.VcsaEmbeddedSpec" + } + ] + }, + "auto_answer": { + "type": "boolean", + "description": "Use the default option for any questions that may come up during appliance configuration.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will default to false." + } + }, + "description": "The Vcenter.Deployment.Install.InstallSpec schema contains information used to configure the appliance installation.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.Upgrade.VcsaEmbeddedSpec": { + "required": [ + "ceip_enabled" + ], + "type": "object", + "properties": { + "ceip_enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCustomer experience improvement program should be enabled or disabled for this embedded vCenter Server upgrade.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Upgrade.VcsaEmbeddedSpec schema contains information used to upgrade a Embedded vCenter Server appliance.\n\nThis schema was added in __vSphere API 6.7__.", + "deprecated": true + }, + "Vcenter.Deployment.Upgrade.PscSpec": { + "required": [ + "ceip_enabled" + ], + "type": "object", + "properties": { + "ceip_enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCustomer experience improvement program should be enabled or disabled for this Platform Services Controller upgrade.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Upgrade.PscSpec schema contains information used to upgrade a Platform Service Controller appliance.\n\nThis schema was added in __vSphere API 6.7__.", + "deprecated": true + }, + "Vcenter.Deployment.Upgrade.SourceApplianceSpec": { + "required": [ + "hostname", + "root_password", + "sso_admin_password", + "sso_admin_username" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe IP address or DNS resolvable name of the source appliance.\n\nThis property was added in __vSphere API 6.7__." + }, + "https_port": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe HTTPS port of the source appliance.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "ssl_thumbprint": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nSHA1 thumbprint of the server SSL certificate will be used for verification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_certificate": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe SSL Certificate of the server that will be used for verification. The value should be a single x509 certificate encoded in PEM format.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is only relevant if ssl_verify is missing or `null` or has the value true." + }, + "ssl_verify": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nSSL verification should be enabled or disabled for the source appliance validations. By default it is enabled and will use SSL certificate for verification. If thumbprint is provided, will use thumbprint for the verification.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, ssl_verify true will be used." + }, + "sso_admin_username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe SSO administrator account on the source appliance.\n\nThis property was added in __vSphere API 6.7__." + }, + "sso_admin_password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe SSO administrator account password.\n\nThis property was added in __vSphere API 6.7__.", + "format": "password" + }, + "root_password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe password of the root user on the source appliance.\n\nThis property was added in __vSphere API 6.7__.", + "format": "password" + }, + "ssh_verify": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nAppliance SSH verification should be enabled or disabled. By default it is disabled and will not use any verification. If thumbprint is provided, thumbprint verification will be performed.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, ssh_verify true will be used." + }, + "ssh_thumbprint": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nMD5 thumbprint of the server SSH key will be used for verification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is only relevant if ssh_verify is missing or `null` or has the value true." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Upgrade.SourceApplianceSpec schema contains information used to connect to the appliance used as the source for an upgrade.\n\nThis schema was added in __vSphere API 6.7__.", + "deprecated": true + }, + "Vcenter.Deployment.Upgrade.UpgradeSpec": { + "required": [ + "source_appliance", + "source_location" + ], + "type": "object", + "properties": { + "source_appliance": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nSource appliance spec.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Upgrade.SourceApplianceSpec" + } + ] + }, + "source_location": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nSource location spec.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.LocationSpec" + } + ] + }, + "history": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nDetermines how vCenter history will be migrated during the upgrade process. vCenter history consists of: \n - Statistics\n - Events\n - Tasks\n By default only core data will be migrated. Use this spec to define which part of vCenter history data will be migrated and when.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, only core database content will be migrated.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.HistoryMigrationSpec" + } + ] + }, + "vcsa_embedded": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nInformation that are specific to this embedded vCenter Server.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, ceip_enabled for embedded vcenter server upgrade will default to enabled.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Upgrade.VcsaEmbeddedSpec" + } + ] + }, + "psc": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nInformation that are specific to this Platform Services Controller.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, ceip_enabled for psc upgrade will default to enabled.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Upgrade.PscSpec" + } + ] + }, + "replicated_partner_hostname": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nApplicable only if the convergence is in progress and at least one of the nodes is already upgraded. Set the replication partner for the currently upgraded node and provide the value of any previously converged upgraded node host name as either IP address or FQDN. \n\n If missing or `null`, when the upgrade finishes, the vCenter Server external Platform Services Controller are converged into the vCenter Server appliance. \n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "export_directory": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nUse the option to provide export directory information during vCenter Server upgrade.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, will default to seat directory." + }, + "auto_answer": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nUse the default option for any questions that may come up during appliance configuration.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, will default to false." + }, + "skip_products_prechecks": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nUse the option to skip products interoperability checks during upgrade prechecks.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, will default to false." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Upgrade.UpgradeSpec schema contains information used to configure the appliance upgrade.\n\nThis schema was added in __vSphere API 6.7__.", + "deprecated": true + }, + "Vcenter.Deployment.Migrate.VcsaEmbeddedSpec": { + "required": [ + "ceip_enabled" + ], + "type": "object", + "properties": { + "ceip_enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nCustomer experience improvement program should be enabled or disabled for this embedded vCenter Server migration.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Migrate.VcsaEmbeddedSpec schema contains information used to migrate an embedded vCenter Server for Windows to embedded vCenter Server appliance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Deployment.Migrate.PscSpec": { + "required": [ + "ceip_enabled" + ], + "type": "object", + "properties": { + "ceip_enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nCustomer experience improvement program should be enabled or disabled for this Platform Services Controller migration.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Migrate.PscSpec schema contains information used to migrate a windows Platform Service Controller to Platform Service Controller appliance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Deployment.Migrate.SourceVcWindows": { + "required": [ + "hostname", + "password", + "username" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe IP address or DNS resolvable name of the source Windows machine.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe SSO account with administrative privilege to perform the migration operation.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe SSO administrator account password.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "password" + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Migrate.SourceVcWindows schema contains information about the windows vCenter Server that is going to be migrated.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Deployment.Migrate.MigrationAssistantSpec": { + "required": [ + "ssl_thumbprint" + ], + "type": "object", + "properties": { + "https_port": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe HTTPS port being used by Migration Assistant.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, port 9123 will be used.", + "format": "int64" + }, + "ssl_thumbprint": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSHA1 thumbprint of the Migration Assistant SSL certificate that will be used for verification.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ssl_certificate": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe SSL Certificate of the server that will be used for verification. The value should be a single x509 certificate encoded in PEM format.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is only relevant if sslVerify is missing or `null` or has the value true." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Migrate.MigrationAssistantSpec schema contains the information needed to connect to the Migration Assistant that is running on the source windows vCenter Server machine.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Deployment.Migrate.MigrateSpec": { + "required": [ + "existing_migration_assistant", + "source_vc_windows" + ], + "type": "object", + "properties": { + "source_vc_windows": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nInformation specific to the Windows vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.SourceVcWindows" + } + ] + }, + "existing_migration_assistant": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nInformation specific to the Migration Assistant that is running on the Windows vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.MigrationAssistantSpec" + } + ] + }, + "history": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetermines how vCenter history will be migrated during the migration process. vCenter history consists of: \n - Statistics\n - Events\n - Tasks\n By default only core data will be migrated. Use this spec to define which part of vCenter history data will be migrated and when.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, only core database content will be migrated.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.HistoryMigrationSpec" + } + ] + }, + "vcsa_embedded": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nInformation specific to an embedded vCenter Server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly required if the vCenter Server that is going to be migrated is an embedded vCenter Server.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.VcsaEmbeddedSpec" + } + ] + }, + "psc": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nInformation specific to a Platform Services Controller.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nOnly required if the vCenter Server that is going to be migrated is a Platform Services Controller.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.PscSpec" + } + ] + }, + "active_directory": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nInformation specific to the Active Directory server to which the source windows vCenter Server is joined.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, existing appliance will not be joined to an Active Directory.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Migrate.ActiveDirectorySpec" + } + ] + }, + "auto_answer": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUse the default option for any questions that may come up during appliance configuration.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, will default to false." + }, + "replicated_partner_hostname": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nApplicable only if the convergence is in progress and at least one of the nodes is already migrated. Set the replication partner for the currently migrated node and provide the value of any previously converged migrated node host name as either IP address or FQDN.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, when the migration finishes, the vCenter Server external Platform Services Controller are converged into the vCenter Server appliance." + }, + "export_directory": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUse the option to provide export directory information during vCenter Server migration.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, will default to root directory." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Migrate.MigrateSpec schema contains the fields to migrate an existing vCenter Server for Windows to an appliance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Deployment.Question.QuestionType": { + "type": "string", + "description": "The Vcenter.Deployment.Question.QuestionType enumerated type defines the type of the question raised.\n\nPossible values:\n - `YES_NO`: Question with answer values Yes/No.\n - `OK_CANCEL`: Question with answer values Ok/Cancel.\n - `ABORT_RETRY_IGNORE`: Question with answer values Abort/Retry/Ignore.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "YES_NO", + "OK_CANCEL", + "ABORT_RETRY_IGNORE" + ] + }, + "Vcenter.Deployment.Question.Question": { + "required": [ + "default_answer", + "id", + "possible_answers", + "question", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the question raised.\n\nThis property was added in __vSphere API 6.7__." + }, + "question": { + "description": "Message describing the question.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "type": { + "type": "string", + "description": "Type of the question raised.\n\nPossible values:\n - `YES_NO`: Question with answer values Yes/No.\n - `OK_CANCEL`: Question with answer values Ok/Cancel.\n - `ABORT_RETRY_IGNORE`: Question with answer values Abort/Retry/Ignore.\n\n\nFor more information see: *Vcenter.Deployment.Question.QuestionType*.\n\nThis property was added in __vSphere API 6.7__." + }, + "default_answer": { + "type": "string", + "description": "Default answer value.\n\nThis property was added in __vSphere API 6.7__." + }, + "possible_answers": { + "type": "array", + "description": "Possible answers values.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Deployment.Question.Question schema contains properties to describe a deployment question.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.Question.Info": { + "required": [ + "questions" + ], + "type": "object", + "properties": { + "questions": { + "type": "array", + "description": "One or more questions raised during the deployment.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Deployment.Question.Question" + } + } + }, + "description": "The Vcenter.Deployment.Question.Info schema contains properties to describe questions raised during the deployment process.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.Question.AnswerSpec": { + "required": [ + "answer_val", + "question_id" + ], + "type": "object", + "properties": { + "question_id": { + "type": "string", + "description": "Id of the question being answered.\n\nThis property was added in __vSphere API 6.7__." + }, + "answer_val": { + "type": "string", + "description": "The answer value.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Vcenter.Deployment.Question.AnswerSpec schema contains properties to describe the answer to a raised question.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.ImportHistory.Info": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "status" + ], + "type": "object", + "properties": { + "progress": { + "description": "The progress info of this task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.FAILED*, *Cis.Task.Status.BLOCKED*, or *Cis.Task.Status.SUCCEEDED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "result": { + "description": "Result of the operation. \n\n If an operation reports partial results before it completes, this property could be set before the *Cis.Task.CommonInfo.status* has the value *Cis.Task.Status.SUCCEEDED*. The value could change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if result is not available at the current step of the operation. \n\n", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Notifications" + } + ] + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Vcenter.Deployment.ImportHistory.Info schema contains properties to describe the state of vCenter history import task.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.ImportHistory.CreateSpec": { + "required": [ + "description", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the vCenter history import task\n\nThis property was added in __vSphere API 6.7__." + }, + "description": { + "type": "string", + "description": "Description of the vCenter history import task.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Vcenter.Deployment.ImportHistory.CreateSpec schema contains information to create and start vCenter historical data deferred import\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Deployment.Size.Spec": { + "required": [ + "connection", + "deployment_size" + ], + "type": "object", + "properties": { + "deployment_size": { + "type": "string", + "description": "The desired deployment size of the vcenter. For scale up operation, it can only be a size higher than the current vcenter size.\n\nPossible values:\n - `TINY`: Tiny appliance with standard storage\n - `TINY_LSTORAGE`: Tiny appliance with large storage\n - `TINY_XLSTORAGE`: Tiny appliance with extra large storage\n - `SMALL`: Small appliance with standard storage\n - `SMALL_LSTORAGE`: Small appliance with large storage\n - `SMALL_XLSTORAGE`: Small appliance with extra large storage\n - `MEDIUM`: Medium appliance with standard storage\n - `MEDIUM_LSTORAGE`: Medium appliance with large storage\n - `MEDIUM_XLSTORAGE`: Medium appliance with extra large storage\n - `LARGE`: Large appliance with standard storage\n - `LARGE_LSTORAGE`: Large appliance with large storage\n - `LARGE_XLSTORAGE`: Large appliance with extra large storage\n - `XLARGE`: Extra Large appliance with standard storage\n - `XLARGE_LSTORAGE`: Extra Large appliance with Large storage\n - `XLARGE_XLSTORAGE`: Extra Large appliance with extra large storage\n\n\nFor more information see: *Vcenter.Deployment.DeploymentSize*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "connection": { + "description": "The connection schema contains the credential details of the container that can be a host or a management vCenter. This container should have the vCenter that is to be resized.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Size.Connection" + } + ] + }, + "defer_service_restart": { + "type": "boolean", + "description": "The flag to indicate if the restart of vCenter services is to be deferred to a later time.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property if missing or `null` or set with value false will cause the restart of vCenter services. If set to true , it will not restart the vCenter services" + } + }, + "description": "The Vcenter.Deployment.Size.Spec schema contains information needed to resize vcenter deployment. For example, targetDeploymentSize, credentials needed to connect to vCenter and so on.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.Size.Connection": { + "required": [ + "hostname", + "password", + "username" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the ESX/VC host. If a DNS resolvable name is provided, it must be resolvable from the source appliance.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "username": { + "type": "string", + "description": "A username with administrative privileges on the ESX/VC host.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "password": { + "type": "string", + "description": "The password of the *Vcenter.Deployment.Size.Connection.username* on the ESX/VC host.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "password" + }, + "https_port": { + "type": "integer", + "description": "The port number for the ESX/VC.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to 443", + "format": "int64" + }, + "ssl_verify": { + "type": "boolean", + "description": "A flag to indicate whether the ssl verification is required.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to True" + } + }, + "description": "The Vcenter.Deployment.Size.Connection schema holds the information used to connect to a vCenter or ESXi.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.Install.InitialConfig.RemotePsc.Thumbprint.RemoteSpec": { + "required": [ + "address" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe IP address or DNS resolvable name of the remote PSC.\n\nThis property was added in __vSphere API 6.7__." + }, + "https_port": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe HTTPS port of the remote PSC.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Install.InitialConfig.RemotePsc.Thumbprint.RemoteSpec schema contains the information used to connect to the remote PSC.\n\nThis schema was added in __vSphere API 6.7__.", + "deprecated": true + }, + "Vcenter.Deployment.Migrate.ActiveDirectorySpec": { + "required": [ + "domain", + "password", + "username" + ], + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe domain name of the Active Directory server to which the migrated vCenter Server appliance should be joined.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nActive Directory user that has permission to join the Active Directory after the vCenter Server is migrated to appliance.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nActive Directory user password that has permission to join the Active Directory after the vCenter Server is migrated to appliance.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__. Deprecated since the removal of vCenter Migration Assistant. \n\n__API is disabled and returns errors as of vSphere API 9.0.0.0.__\n\nThe Vcenter.Deployment.Migrate.ActiveDirectorySpec schema contains information used to join the migrated vCenter Server appliance to the Active Directory.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Deployment.Migrate.ActiveDirectory.CheckSpec": { + "required": [ + "dns_servers", + "domain", + "password", + "username" + ], + "type": "object", + "properties": { + "dns_servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nIP addresses of the DNS servers of the Active Directory server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "domain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe domain name of the Active Directory server to which the migrated vCenter Server appliance should be joined.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nActive Directory user that has permission to join the Active Directory after the vCenter Server is migrated to appliance.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nActive Directory user password that has permission to join the Active Directory after the vCenter Server is migrated to appliance.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.Deployment.Migrate.ActiveDirectory.CheckSpec schema contains information used to join the migrated vCenter Server appliance to the Active Directory.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Deployment.Size.ResizeState": { + "type": "string", + "description": "The Vcenter.Deployment.Size.ResizeState enumerated type defines the possible values of Resizing state\n\nPossible values:\n - `RESIZING_NOT_STARTED`: The resizing operation has not yet started\n - `RESIZING_IN_PROGRESS`: The resizing operation is currently in progress\n - `PENDING_SERVICE_RESTART`: The resizing operation is waiting for restart of all the vc services\n - `RESIZING_SUCCEEDED`: The resizing operation has completed successfully\n - `RESIZING_FAILED`: The resizing operation has failed. It is a permanent failure, when the resizing has failed user needs to start from beginning\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "RESIZING_NOT_STARTED", + "RESIZING_IN_PROGRESS", + "PENDING_SERVICE_RESTART", + "RESIZING_SUCCEEDED", + "RESIZING_FAILED" + ] + }, + "Vcenter.Deployment.Size.RequirementsInfo": { + "required": [ + "extra_cpu_count_needed", + "extra_memory_needed", + "extra_total_disk_space_needed", + "restart_required" + ], + "type": "object", + "properties": { + "extra_cpu_count_needed": { + "type": "integer", + "description": "Extra number of CPUs for a given deployment type.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "extra_memory_needed": { + "description": "Extra memory or RAM for a given deployment type\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.MemoryDimension" + } + ] + }, + "extra_total_disk_space_needed": { + "description": "Extra disk space needed for a given deployment size.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.DiskDimension" + } + ] + }, + "restart_required": { + "type": "boolean", + "description": "Flag to indicate whether vCenter restart is needed\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The {name RequirementsInfo} schema contains the details about the requirements that are needed to scale up the vCenter to a given deployment size\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.Size.ResizeInfo": { + "required": [ + "desired_deployment_size_name", + "requirements_info", + "source_deployment_size_name" + ], + "type": "object", + "properties": { + "source_deployment_size_name": { + "type": "string", + "description": "The current deployment size of the vCenter\n\nPossible values:\n - `TINY`: Tiny appliance with standard storage\n - `TINY_LSTORAGE`: Tiny appliance with large storage\n - `TINY_XLSTORAGE`: Tiny appliance with extra large storage\n - `SMALL`: Small appliance with standard storage\n - `SMALL_LSTORAGE`: Small appliance with large storage\n - `SMALL_XLSTORAGE`: Small appliance with extra large storage\n - `MEDIUM`: Medium appliance with standard storage\n - `MEDIUM_LSTORAGE`: Medium appliance with large storage\n - `MEDIUM_XLSTORAGE`: Medium appliance with extra large storage\n - `LARGE`: Large appliance with standard storage\n - `LARGE_LSTORAGE`: Large appliance with large storage\n - `LARGE_XLSTORAGE`: Large appliance with extra large storage\n - `XLARGE`: Extra Large appliance with standard storage\n - `XLARGE_LSTORAGE`: Extra Large appliance with Large storage\n - `XLARGE_XLSTORAGE`: Extra Large appliance with extra large storage\n\n\nFor more information see: *Vcenter.Deployment.DeploymentSize*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "desired_deployment_size_name": { + "type": "string", + "description": "The target deployment size of the vCenter\n\nPossible values:\n - `TINY`: Tiny appliance with standard storage\n - `TINY_LSTORAGE`: Tiny appliance with large storage\n - `TINY_XLSTORAGE`: Tiny appliance with extra large storage\n - `SMALL`: Small appliance with standard storage\n - `SMALL_LSTORAGE`: Small appliance with large storage\n - `SMALL_XLSTORAGE`: Small appliance with extra large storage\n - `MEDIUM`: Medium appliance with standard storage\n - `MEDIUM_LSTORAGE`: Medium appliance with large storage\n - `MEDIUM_XLSTORAGE`: Medium appliance with extra large storage\n - `LARGE`: Large appliance with standard storage\n - `LARGE_LSTORAGE`: Large appliance with large storage\n - `LARGE_XLSTORAGE`: Large appliance with extra large storage\n - `XLARGE`: Extra Large appliance with standard storage\n - `XLARGE_LSTORAGE`: Extra Large appliance with Large storage\n - `XLARGE_XLSTORAGE`: Extra Large appliance with extra large storage\n\n\nFor more information see: *Vcenter.Deployment.DeploymentSize*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "requirements_info": { + "description": "The requirements needed to achieve desired deployment size\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Size.RequirementsInfo" + } + ] + } + }, + "description": "The Vcenter.Deployment.Size.ResizeInfo schema contains the properties to capture the details of a deployment resize operation\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.Size.Task": { + "required": [ + "cancelable", + "description", + "operation", + "progress", + "service", + "status" + ], + "type": "object", + "properties": { + "progress": { + "description": "The progress info of this deployment resize task.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "notifications": { + "description": "Result of the task.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property will be missing or `null` if result is not available at the current step of the task.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Notifications" + } + ] + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Vcenter.Deployment.Size.Task schema contains properties to describe a particular deployment task.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Deployment.Size.Status.Info": { + "required": [ + "current_state", + "resize_info", + "subtasks" + ], + "type": "object", + "properties": { + "current_state": { + "type": "string", + "description": "The current state of resize operation.\n\nPossible values:\n - `RESIZING_NOT_STARTED`: The resizing operation has not yet started\n - `RESIZING_IN_PROGRESS`: The resizing operation is currently in progress\n - `PENDING_SERVICE_RESTART`: The resizing operation is waiting for restart of all the vc services\n - `RESIZING_SUCCEEDED`: The resizing operation has completed successfully\n - `RESIZING_FAILED`: The resizing operation has failed. It is a permanent failure, when the resizing has failed user needs to start from beginning\n\n\nFor more information see: *Vcenter.Deployment.Size.ResizeState*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "resize_info": { + "description": "Metadata about resize operation such as source and target deployment size.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.Size.ResizeInfo" + } + ] + }, + "subtasks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Deployment.Size.Task" + }, + "description": "The map of the resize subtasks and their status information. Possible keys are precheck,reconfigure,disk_auto_grow,service_restart\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "start_time": { + "type": "string", + "description": "Time when the operation started\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property will be missing or `null` if there is no resize operation", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property will be missing or `null` if the status is not RESIZING_SUCCEEDED or RESIZING_FAILED.", + "format": "date-time" + } + }, + "description": "The Vcenter.Deployment.Size.Status.Info schema represents information about deployment resize operation\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.Summary": { + "required": [ + "config_option", + "create_supported", + "default_config_option", + "run_supported", + "upgrade_supported" + ], + "type": "object", + "properties": { + "config_option": { + "type": "string", + "description": "A unique key used to identify a ConfigOption object.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.config_option`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.config_option`." + }, + "description": { + "description": "A description of the configOption object.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nwhen missing or `null`", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "hosts": { + "type": "array", + "description": "List of hosts to which this descriptor applies. List of hosts is not set when descriptor is returned for a Datacenter.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nwhen missing or `null`\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "create_supported": { + "type": "boolean", + "description": "Indicates whether the associated set of configuration options can be used for virtual machine creation on a given host or cluster.\n\nThis property was added in __vSphere API 8.0.2.00300__." + }, + "default_config_option": { + "type": "boolean", + "description": "Indicates whether the associated set of virtual machine configuration options is the default one for a given host or cluster. Latest version is marked as default unless other version is specified via the vim.ComputeResource.ConfigInfo or vim.Datacenter.ConfigInfo defaultHardwareVersionKey. \n\n If this setting is TRUE, virtual machine creates will use the associated set of configuration options, unless a config version is explicitly specified in the vim.vm.ConfigSpec. \n\nThis property was added in __vSphere API 8.0.2.00300__." + }, + "run_supported": { + "type": "boolean", + "description": "Indicates whether the associated set of configuration options can be used to power on a virtual machine on a given host or cluster.\n\nThis property was added in __vSphere API 8.0.2.00300__." + }, + "upgrade_supported": { + "type": "boolean", + "description": "Indicates whether the associated set of configuration options can be used as a virtual hardware upgrade target.\n\nThis property was added in __vSphere API 8.0.2.00300__." + } + }, + "description": "Contains the definition of a unique key that can be used to retrieve a `ConfigOption` (`vim.vm.ConfigOption`) object.\n\nThis schema was added in __vSphere API 8.0.2.00300__." + }, + "Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.ListParams": { + "type": "object", + "properties": { + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "A set of Cluster IDs that specify for which Clusters the configuration option descriptors are requested.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` or empty an error will be returned. Ability to pass unset value is left for future expansion.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.ListParams schema specifies the parameters for the *GET /vcenter/environment-browser/config-option-descriptors* operation, such as which clusters to query.\n\nThis schema was added in __vSphere API 8.0.2.00300__." + }, + "Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.ListResult": { + "required": [ + "config_options_descriptors" + ], + "type": "object", + "properties": { + "config_options_descriptors": { + "type": "array", + "description": "List of configuration options matching the specified hardware.\n\nThis property was added in __vSphere API 8.0.2.00300__.", + "items": { + "$ref": "#/components/schemas/Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.Summary" + } + } + }, + "description": "The Vcenter.EnvironmentBrowser.ConfigOptionDescriptors.ListResult schema holds the result of the *GET /vcenter/environment-browser/config-option-descriptors* operation.\n\nThis schema was added in __vSphere API 8.0.2.00300__." + }, + "Vcenter.EnvironmentBrowser.ConfigOptions.GetParams": { + "type": "object", + "properties": { + "config_option": { + "type": "string", + "description": "Query for a specific config option with the key obtained from *GET /vcenter/environment-browser/config-option-descriptors*.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` then the default config option will be returned.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.config_option`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.config_option`." + } + }, + "description": "The Vcenter.EnvironmentBrowser.ConfigOptions.GetParams schema specifies the parameters for the *GET /vcenter/environment-browser/config-options* operation, such as which clusters to query.\n\nThis schema was added in __vSphere API 8.0.2.00300__." + }, + "Vcenter.EnvironmentBrowser.ConfigOptions.Info": { + "type": "object", + "properties": { + "config_option": { + "type": "object", + "description": "A vim.vm.ConfigOption data structure.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nmay be missing or `null` if none of the clusters specified in the #get operation contained a vim.vm.ConfigOption that matched the requested key and/or guest IDs." + } + }, + "description": "The Vcenter.EnvironmentBrowser.ConfigOptions.Info schema contain the vim.vm.ConfigOption specifying the available options for executing virtual machines on a set of clusters. The result is contained in a vim.vm.ConfigOption data structure.\n\nThis schema was added in __vSphere API 8.0.2.00300__." + }, + "Vcenter.EnvironmentBrowser.ConfigTargets.ConfigTargetSpec": { + "type": "string", + "description": "ConfigTargetSpec represents the search criteria and filters on a vim.vm.ConfigTarget. \n\n A vim.vm.ConfigTarget has five categories of data: \n - Basic: numCpus, numCpuCores, numNumaNodes, smcPresent, maxMemMBOptimalPerf, resourcePool, autoVmotion, maxPersistentMemoryMB\n - Datastores: datastore\n - Networks: network, opaqueNetwork, distributedVirtualPortgroup, distributedVirtualSwitch, legacyNetworkInfo\n - Devices: cdRom, serial, parallel, usb, floppy, scsiPassthrough, pciPassthrough, sriov, vFlashModule, sharedGpuPassthrough, dynamicPassthrough, qat, Intel SGX, AMD-SEV\n - Disks: scsiDisk, ideDisk\n \n\n \n\n *GET /vcenter/environment-browser/config-targets* will always return the basic category within a vim.vm.ConfigTarget. For other categories, data is only returned if it is requested via the projection parameter. \n\nPossible values:\n - `DATASTORES`: Datastores category includes datastore list within a vim.vm.ConfigTarget.\n - `NETWORKS`: Networks category includes network, opaqueNetwork, distributedVirtualPortgroup, distributedVirtualSwitch and legacyNetworkInfo within a vim.vm.ConfigTarget.\n - `DEVICES`: Devices category includes cdRom, serial, parallel, sound, usb, floppy, scsiPassthrough, pciPassthrough, sriov, vFlashModule and sharedGpuPassthroughTypes within a vim.vm.ConfigTarget.\n - `DISKS`: Disks category includes scsiDisk and ideDisk within a vim.vm.ConfigTarget.\n\n\nThis enumeration was added in __vSphere API 8.0.2.00300__.", + "enum": [ + "DATASTORES", + "NETWORKS", + "DEVICES", + "DISKS" + ] + }, + "Vcenter.EnvironmentBrowser.ConfigTargets.GetParams": { + "type": "object", + "properties": { + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "A set of Cluster IDs that specify for which Clusters the configuration target is requested.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` or empty an error will be returned. Ability to pass unset value is left for future expansion.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "filter": { + "uniqueItems": true, + "type": "array", + "description": "Specify a filter to narrow the results.\n\nPossible values:\n - `DATASTORES`: Datastores category includes datastore list within a vim.vm.ConfigTarget.\n - `NETWORKS`: Networks category includes network, opaqueNetwork, distributedVirtualPortgroup, distributedVirtualSwitch and legacyNetworkInfo within a vim.vm.ConfigTarget.\n - `DEVICES`: Devices category includes cdRom, serial, parallel, sound, usb, floppy, scsiPassthrough, pciPassthrough, sriov, vFlashModule and sharedGpuPassthroughTypes within a vim.vm.ConfigTarget.\n - `DISKS`: Disks category includes scsiDisk and ideDisk within a vim.vm.ConfigTarget.\n\n\nFor more information see: *Vcenter.EnvironmentBrowser.ConfigTargets.ConfigTargetSpec*.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nif missing or `null` or empty, all information for a given config target is returned.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.EnvironmentBrowser.ConfigTargets.GetParams schema specifies the parameters for the *GET /vcenter/environment-browser/config-targets* operation, such as which clusters to query.\n\nThis schema was added in __vSphere API 8.0.2.00300__." + }, + "Vcenter.EnvironmentBrowser.ConfigTargets.Info": { + "required": [ + "config_target" + ], + "type": "object", + "properties": { + "config_target": { + "type": "object", + "description": "A vim.vm.ConfigTarget matching the filter.\n\nThis property was added in __vSphere API 8.0.2.00300__." + } + }, + "description": "The Vcenter.EnvironmentBrowser.ConfigTargets.Info schema contains the result of the *GET /vcenter/environment-browser/config-targets* operation. Its main payload is a vim.vm.ConfigTarget matching the supplied filter.\n\nThis schema was added in __vSphere API 8.0.2.00300__." + }, + "Vcenter.EvcMode.FeatureMask": { + "required": [ + "key", + "name", + "value" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Accessor name for the feature mask.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "name": { + "type": "string", + "description": "Name of the feature.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "value": { + "type": "string", + "description": "Opaque value to change the host feature capability to. Masking operation is contained in the value.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "A mask that is applied to a host feature capability.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.EvcMode.EvcMode": { + "required": [ + "key", + "masks" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The system generated unique identifier for the EvcMode.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "masks": { + "type": "array", + "description": "The masks (modifications to a host's feature capabilities) that limit a host's capabilities to that of the EVC mode baseline.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.EvcMode.FeatureMask" + } + } + }, + "description": "The Vcenter.EvcMode.EvcMode describes a set of Vcenter.EvcMode.FeatureMask used for Enhanced vMotion Compatibility (EVC). \n\n An EVC mode is associated with a set of CPU features. When a host is added to an EVC-enabled cluster, the vCenter Server determines the CPU compatibility to preserve vMotion compatibility within the cluster. If the host CPU is compatible with those already in the cluster, the Server adds the host to the cluster and configures it for compatible operation. Hosts that are not compatible are not allowed to join the cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.Nodes.ListResult": { + "required": [ + "load_balancer_nodes" + ], + "type": "object", + "properties": { + "load_balancer_nodes": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of load balancer node(s).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.FoundationLoadBalancerNode`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.FoundationLoadBalancers.Nodes.ListResult schema provides a list of identifiers describing load balancer node(s).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.FoundationLoadBalancers.Nodes.Info": { + "required": [ + "node_info" + ], + "type": "object", + "properties": { + "node_info": { + "description": "The nodeInfo *Vcenter.FoundationLoadBalancers.NodeInfo* defines load balancer node permanent description information and runtime operation information.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.FoundationLoadBalancers.NodeInfo" + } + ] + } + }, + "description": "The Vcenter.FoundationLoadBalancers.Nodes.Info schema provides load balancer node description information.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Guest.HostnameGenerator": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the Name Generator\n\nPossible values:\n - `FIXED`: Specifies that a fixed name should be used for the hostname for the virtual machine during the customization.\n - `PREFIX`: Specifies that a unique name should be generated by concatenating the base string with a number including the network name of the guest. \n\n Virtual machine names are unique across the set of hosts and virtual machines known to the VirtualCenter instance. VirtualCenter tracks the network names of virtual machines as well as hosts. VMware Tools runs in a guest operating system and reports information to VirtualCenter.\n - `VIRTUAL_MACHINE`: Specifies that the VirtualCenter should generate a virtual machine name. \n\n The name is generated from a base prefix comprising the virtual machine entity name. A number is appended, if necessary, to make it unique. \n\n Virtual machine names are unique across the set of hosts and virtual machines known to the VirtualCenter instance. VirtualCenter tracks the network names of the virtual machines as well as hosts. VMware Tools runs in a guest operating system and reports information to VirtualCenter, including the network name of the guest.\n - `USER_INPUT_REQUIRED`: Indicates that the host name is not specified in advance. The user must provide a valid value when the actual customization spec is applied to a virtual machine.\n\n\nFor more information see: *Vcenter.Guest.HostnameGenerator.Type*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "fixed_name": { + "type": "string", + "description": "The virtual machine name specified by the client.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.HostnameGenerator.Type.FIXED*." + }, + "prefix": { + "type": "string", + "description": "Base prefix, to which a unique number is appended.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.HostnameGenerator.Type.PREFIX*." + } + }, + "description": "The Vcenter.Guest.HostnameGenerator schema specifies various mechanisms of generating the hostname for the guest inside the virtual machine while customization.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.HostnameGenerator.Type": { + "type": "string", + "description": "The Vcenter.Guest.HostnameGenerator.Type enumerated type specifies different types of Name Generators.\n\nPossible values:\n - `FIXED`: Specifies that a fixed name should be used for the hostname for the virtual machine during the customization.\n - `PREFIX`: Specifies that a unique name should be generated by concatenating the base string with a number including the network name of the guest. \n\n Virtual machine names are unique across the set of hosts and virtual machines known to the VirtualCenter instance. VirtualCenter tracks the network names of virtual machines as well as hosts. VMware Tools runs in a guest operating system and reports information to VirtualCenter.\n - `VIRTUAL_MACHINE`: Specifies that the VirtualCenter should generate a virtual machine name. \n\n The name is generated from a base prefix comprising the virtual machine entity name. A number is appended, if necessary, to make it unique. \n\n Virtual machine names are unique across the set of hosts and virtual machines known to the VirtualCenter instance. VirtualCenter tracks the network names of the virtual machines as well as hosts. VMware Tools runs in a guest operating system and reports information to VirtualCenter, including the network name of the guest.\n - `USER_INPUT_REQUIRED`: Indicates that the host name is not specified in advance. The user must provide a valid value when the actual customization spec is applied to a virtual machine.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "FIXED", + "PREFIX", + "VIRTUAL_MACHINE", + "USER_INPUT_REQUIRED" + ] + }, + "Vcenter.Guest.UserData": { + "required": [ + "computer_name", + "full_name", + "organization", + "product_key" + ], + "type": "object", + "properties": { + "computer_name": { + "description": "The computer name of the (Windows) virtual machine. A computer name may contain letters (A-Z), numbers(0-9) and hyphens (-) but no spaces or periods (.). The name may not consist entirely of digits. A computer name is restricted to 15 characters in length. If the computer name is longer than 15 characters, it will be truncated to 15 characters. Check *Vcenter.Guest.HostnameGenerator* for various options.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.HostnameGenerator" + } + ] + }, + "full_name": { + "type": "string", + "description": "Full name of the end user. Note that this is not the username but full name specified in \"Firstname Lastname\" format.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "organization": { + "type": "string", + "description": "Name of the organization that owns the computer.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "product_key": { + "type": "string", + "description": "The product Key to use for activating Windows guest operating system.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Guest.UserData schema specifies the personal data pertaining to the user of the Windows guest operating system. This schema maps to the UserData key in the sysprep.xml answer file. These values are transferred directly into the sysprep.xml file that VirtualCenter stores on the target virtual disk. For more detailed information about performing unattended installation, check https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.Domain": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of network to join after the customization.\n\nPossible values:\n - `WORKGROUP`: The virtual machine should be be joined to a workgroup.\n - `DOMAIN`: The virtual machine should be be joined to a domain.\n\n\nFor more information see: *Vcenter.Guest.Domain.Type*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "workgroup": { + "type": "string", + "description": "The workgroup that the virtual machine should join.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.Domain.Type.WORKGROUP*." + }, + "domain": { + "type": "string", + "description": "The domain to which the virtual machine should be joined.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.Domain.Type.DOMAIN*." + }, + "domain_username": { + "type": "string", + "description": "The domain user that has permission to join the domain after virtual machine is joined.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.Domain.Type.DOMAIN*." + }, + "domain_password": { + "type": "string", + "description": "The domain user password that has permission to join the *Vcenter.Guest.Domain.domain_username* after customization.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.Domain.Type.DOMAIN*.", + "format": "password" + }, + "domain_ou": { + "type": "string", + "description": "The MachineObjectOU which specifies the full LDAP path name of the OU to which the virtual machine belongs. Refer to: https://docs.microsoft.com/en-us/windows-hardware/customize desktop/unattend/microsoft-windows-unattendedjoin- identification-machineobjectou\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.Domain.Type.DOMAIN*." + } + }, + "description": "The Vcenter.Guest.Domain schema specifies the information needed to join a workgroup or domain. This structure maps to the Identification key in the sysprep.xml answer file. These values are transferred into the sysprep.xml file that VirtualCenter stores on the target virtual disk. For more information about performing unattended installation, check https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.Domain.Type": { + "type": "string", + "description": "The Vcenter.Guest.Domain.Type enumerated type defines the types of network the virtual machine should join to after the customization is completed.\n\nPossible values:\n - `WORKGROUP`: The virtual machine should be be joined to a workgroup.\n - `DOMAIN`: The virtual machine should be be joined to a domain.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "WORKGROUP", + "DOMAIN" + ] + }, + "Vcenter.Guest.GuiUnattended": { + "required": [ + "auto_logon", + "auto_logon_count", + "time_zone" + ], + "type": "object", + "properties": { + "auto_logon": { + "type": "boolean", + "description": "Flag to determine whether or not the machine automatically logs on as Administrator. See the *Vcenter.Guest.GuiUnattended.password* property. If *Vcenter.Guest.GuiUnattended.auto_logon* flag is set, then *Vcenter.Guest.GuiUnattended.password* must not be missing or `null` or the guest customization will fail.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "auto_logon_count": { + "type": "integer", + "description": "If the *Vcenter.Guest.GuiUnattended.auto_logon* flag is set, then this property specifies the number of times the machine should automatically log on as Administrator. Generally it should be 1, but if the setup requires a number of reboots, you may want to increase it. This number may be determined by the list of commands.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "password": { + "type": "string", + "description": "The new administrator password for the machine. To specify that the password should be set to blank (that is, no password), leave it unset.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, blank password will be used.", + "format": "password" + }, + "time_zone": { + "type": "integer", + "description": "The time zone index for the virtual machine. Numbers correspond to time zones at https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Guest.GuiUnattended schema maps to the GuiUnattended key in the sysprep.xml answer file. These values are plugged directly into the sysprep.xml file that VirtualCenter stores on the target virtual disk. For more detailed information about performing unattended installations, check https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.WindowsSysprep": { + "required": [ + "gui_unattended", + "user_data" + ], + "type": "object", + "properties": { + "gui_run_once_commands": { + "type": "array", + "description": "A list of commands to run at first user logon, after customizing the guest. These commands are directly mapped to the GuiRunOnce key in the sysprep.xml answer file. These commands are transferred into the sysprep.xml file that VirtualCenter stores on the target virtual disk. For more information about performing unattended installation, check https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx The commands listed here ar executed when a user logs on the first time after customization completes. The logon may be driven by *Vcenter.Guest.GuiUnattended.auto_logon* setting. These commands are directly mapped to the GuiRunOnce key in the\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no commands are run.", + "items": { + "type": "string" + } + }, + "user_data": { + "description": "Personal data pertaining to the owner of the virtual machine.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.UserData" + } + ] + }, + "domain": { + "description": "Information needed to join a workgroup or domain.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the guest will not be joined to any workgroup or a domain.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.Domain" + } + ] + }, + "gui_unattended": { + "description": "Information related to unattended installation.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.GuiUnattended" + } + ] + } + }, + "description": "The Vcenter.Guest.WindowsSysprep schema provides all the settings like user details, administrator details, etc that need to applied for a windows guest operating system during customization.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.WindowsConfiguration": { + "type": "object", + "properties": { + "reboot": { + "type": "string", + "description": "A value specifying the action that should be taken after customization.\n\nPossible values:\n - `REBOOT`: Reboot the guest after customization.\n - `NO_REBOOT`: Take no action. Leave the guest OS running after customization. This option can be used to look at values for debugging purposes.\n - `SHUTDOWN`: Shutdown the guest after customization.\n\n\nFor more information see: *Vcenter.Guest.WindowsConfiguration.RebootOption*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the *Vcenter.Guest.WindowsConfiguration.RebootOption.REBOOT* option will be chosen." + }, + "sysprep": { + "description": "Customization settings like user details, administrator details, etc for the windows guest operating system. Exactly one of sysprep or sysprep_xml must be specified.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, sysprep settings will not be applied to the windows guest operating system.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.WindowsSysprep" + } + ] + }, + "sysprep_xml": { + "type": "string", + "description": "All settings specified in a XML format. This is the content of a typical answer.xml file that is used by System administrators during the Windows image customization. Check https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/update-windows-settings-and-scripts-create-your-own-answer-file-sxs Exactly one of sysprep or sysprep_xml must be specified.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, sysprep settings will not be applied to the windows guest operating system." + } + }, + "description": "The Vcenter.Guest.WindowsConfiguration schema specifies the settings for customizing a windows guest operating system.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.WindowsConfiguration.RebootOption": { + "type": "string", + "description": "The Vcenter.Guest.WindowsConfiguration.RebootOption enumerated type specifies what should be done to the guest after the customization.\n\nPossible values:\n - `REBOOT`: Reboot the guest after customization.\n - `NO_REBOOT`: Take no action. Leave the guest OS running after customization. This option can be used to look at values for debugging purposes.\n - `SHUTDOWN`: Shutdown the guest after customization.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "REBOOT", + "NO_REBOOT", + "SHUTDOWN" + ] + }, + "Vcenter.Guest.LinuxConfiguration": { + "required": [ + "domain", + "hostname" + ], + "type": "object", + "properties": { + "hostname": { + "description": "The network host name of the Linux virtual machine.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.HostnameGenerator" + } + ] + }, + "domain": { + "type": "string", + "description": "The fully qualified domain name.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "time_zone": { + "type": "string", + "description": "The case-sensitive time zone, such as Europe/Sofia. Valid time zone values are based on the tz (time zone) database used by Linux. The values are strings (string) in the form \"Area/Location,\" in which Area is a continent or ocean name, and Location is the city, island, or other regional designation. \n\n See the https://kb.vmware.com/kb/2145518 for a list of supported time zones for different versions in Linux.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, time zone is not modified inside guest operating system." + }, + "script_text": { + "type": "string", + "description": "The script to run before and after Linux guest customization. \n The max size of the script is 65536 bytes. As long as the script (shell, perl, python...) has the right \"#!\" in the header, it is supported. The caller should not assume any environment variables when the script is run. \n\n The script is invoked by the customization engine using the command line: 1) with argument \"precustomization\" before customization, 2) with argument \"postcustomization\" after customization. The script should parse this argument and implement pre-customization or post-customization task code details in the corresponding block. \n\n A Linux shell script example: \n\n ``` #!/bin/sh \n if [ x$1 == x\"precustomization\" ]; then \n echo \"Do Precustomization tasks\" \n #code for pre-customization actions... \n elif [ x$1 == x\"postcustomization\" ]; then \n echo \"Do Postcustomization tasks\" \n #code for post-customization actions... \n fi \n ```\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no script will be executed." + }, + "compatible_customization_method": { + "type": "string", + "description": "The compatible customization method is an identifier of a customization strategy which is implementable in a group of Linux operating systems. This value does not need to be set if your operating system is officially supported by VMware guest operating system customization. When using a Linux operating system which hasn't been officially supported and it is designed to be 100% bug-for-bug compatible with an officially supported Linux operating system, it can be customized by an existing customization method.\n\n Please set the compatible customization method to a supported string value e.g. \"GOSC_METHOD_1\". \n See all the supported compatible customization methods in https://kb.vmware.com/s/article/95903\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, the customization may fail in a Linux operating systems which hasn't been officially supported." + } + }, + "description": "Guest customization Settings to customize a Linux guest operating system. \n\n The Vcenter.Guest.LinuxConfiguration schema contains settings that identify a Linux machine in the same way that the *Vcenter.Guest.WindowsConfiguration* schema identifies a Windows machine.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.CloudinitConfiguration": { + "required": [ + "metadata" + ], + "type": "object", + "properties": { + "metadata": { + "type": "string", + "description": "Metadata includes the network, instance id and hostname that cloud-init processes to configure the virtual machine. It is in json or yaml format. The max size of the metadata is 524288 bytes. See https://cloudinit.readthedocs.io/en/latest/topics/datasources/ovf.html about supported meta data formats.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "userdata": { + "type": "string", + "description": "Userdata is the user customized content that cloud-init processes to configure the virtual machine. See https://cloudinit.readthedocs.io/en/latest/topics/format.html about user data formats. See https://cloudinit.readthedocs.io/en/latest/topics/modules.html# about user data modules. The max size of the userdata is 524288 bytes.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no cloud-init user data will be used as part of the cloud-init configuration." + } + }, + "description": "Guest customization settings to customize a Linux guest operating system with raw cloud-init data. \n\n The Vcenter.Guest.CloudinitConfiguration schema contains settings that configure a Linux machine with raw cloud-init data. See https://cloudinit.readthedocs.io/en/latest about cloud-init.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Guest.CloudConfiguration": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the cloud configuration.\n\nPossible values:\n - `CLOUDINIT`: cloud-init configuration\n\n\nFor more information see: *Vcenter.Guest.CloudConfiguration.Type*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "cloudinit": { + "description": "cloud-init configuration\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.CloudConfiguration.Type.CLOUDINIT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.CloudinitConfiguration" + } + ] + } + }, + "description": "Guest customization settings to customize a guest operating system with cloud configuration. \n\n The Vcenter.Guest.CloudConfiguration schema contains the type of cloud configuration and the settings of that cloud configuration.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Guest.CloudConfiguration.Type": { + "type": "string", + "description": "The Vcenter.Guest.CloudConfiguration.Type enumerated type specifies different types of the cloud configuration.\n\nPossible values:\n - `CLOUDINIT`: cloud-init configuration\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "CLOUDINIT" + ] + }, + "Vcenter.Guest.ConfigurationSpec": { + "type": "object", + "properties": { + "windows_config": { + "description": "Guest customization specification for a Windows guest operating system\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, *Vcenter.Guest.ConfigurationSpec.linux_config* or *Vcenter.Guest.ConfigurationSpec.cloud_config* must be set. Otherwise, an appropriate fault will be thrown.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.WindowsConfiguration" + } + ] + }, + "linux_config": { + "description": "Guest customization specification for a linux guest operating system\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, *Vcenter.Guest.ConfigurationSpec.windows_config* or *Vcenter.Guest.ConfigurationSpec.cloud_config* must be set. Otherwise, an appropriate fault will be thrown.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.LinuxConfiguration" + } + ] + }, + "cloud_config": { + "description": "Guest customization specification with cloud configuration.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, *Vcenter.Guest.ConfigurationSpec.windows_config* or *Vcenter.Guest.ConfigurationSpec.linux_config* must be set. Otherwise, an appropriate fault will be thrown.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.CloudConfiguration" + } + ] + } + }, + "description": "The Vcenter.Guest.ConfigurationSpec schema specifies the settings for customizing a guest operating system.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.GlobalDNSSettings": { + "type": "object", + "properties": { + "dns_suffix_list": { + "type": "array", + "description": "List of name resolution suffixes for the virtual network adapter. This list applies to both Windows and Linux guest customization. For Linux, this setting is global, whereas in Windows, this setting is listed on a per-adapter basis.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no DNS suffixes are set.", + "items": { + "type": "string" + } + }, + "dns_servers": { + "type": "array", + "description": "List of DNS servers, for a virtual network adapter with a static IP address. If this list is empty, then the guest operating system is expected to use a DHCP server to get its DNS server settings. These settings configure the virtual machine to use the specified DNS servers. These DNS server settings are listed in the order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no DNS servers are set.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Guest.GlobalDNSSettings schema specifies a collection of global IP settings in the guest operating system. In Linux, DNS server settings are global. The settings can either be statically set or supplied by a DHCP server.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.Ipv4": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the IPv4 configuration.\n\nPossible values:\n - `DHCP`: DHCP configuration\n - `STATIC`: Static configuration\n - `USER_INPUT_REQUIRED`: Indicates that the IPv4 settings are not specified in advance. The user must provide a valid value when the actual customization spec is applied to a virtual machine.\n - `DISABLED`: Disable configuration. Indicates that the IPv4 settings of the virtual network adapter are disabled.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Vcenter.Guest.Ipv4.Type*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ip_address": { + "type": "string", + "description": "The static IPv4 address\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.Ipv4.Type.STATIC*." + }, + "prefix": { + "type": "integer", + "description": "The IPv4 CIDR prefix, for example, 24. See http://www.oav.net/mirrors/cidr.html for netmask-to-prefix conversion.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.Ipv4.Type.STATIC*.", + "format": "int64" + }, + "gateways": { + "type": "array", + "description": "Gateways for the IPv4 address.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no gateways are set.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Guest.Ipv4 schema specifies the IPv4 settings that need to be applied to a virtual network adapter.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.Ipv4.Type": { + "type": "string", + "description": "The Vcenter.Guest.Ipv4.Type enumerated type specifies different types of the IPv4 configuration.\n\nPossible values:\n - `DHCP`: DHCP configuration\n - `STATIC`: Static configuration\n - `USER_INPUT_REQUIRED`: Indicates that the IPv4 settings are not specified in advance. The user must provide a valid value when the actual customization spec is applied to a virtual machine.\n - `DISABLED`: Disable configuration. Indicates that the IPv4 settings of the virtual network adapter are disabled.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "DHCP", + "STATIC", + "USER_INPUT_REQUIRED", + "DISABLED" + ] + }, + "Vcenter.Guest.Ipv6Address": { + "required": [ + "ip_address", + "prefix" + ], + "type": "object", + "properties": { + "ip_address": { + "type": "string", + "description": "Static IPv6 Address.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix for the interface.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Guest.Ipv6Address schema specifies the the settings for a Static IPv6 configuration.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.Ipv6": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The IPv6 configuration type\n\nPossible values:\n - `DHCP`: DHCP IPv6 configuration.\n - `STATIC`: Static IPv6 configuration.\n - `USER_INPUT_REQUIRED`: Indicates that the IPv6 settings are not specified in advance. The user must provide a valid value when the actual customization spec is applied to a virtual machine.\n\n\nFor more information see: *Vcenter.Guest.Ipv6.Type*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ipv6": { + "type": "array", + "description": "IPv6 address\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Guest.Ipv6.Type.STATIC*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Guest.Ipv6Address" + } + }, + "gateways": { + "type": "array", + "description": "gateways for the IPv6 address.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no gateways are set.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Guest.Ipv6 schema specifies the IPv6 settings that need to be applied to a virtual network adapter.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.Ipv6.Type": { + "type": "string", + "description": "The Vcenter.Guest.Ipv6.Type enumerated type specifies different types of the IPv6 configuration.\n\nPossible values:\n - `DHCP`: DHCP IPv6 configuration.\n - `STATIC`: Static IPv6 configuration.\n - `USER_INPUT_REQUIRED`: Indicates that the IPv6 settings are not specified in advance. The user must provide a valid value when the actual customization spec is applied to a virtual machine.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "DHCP", + "STATIC", + "USER_INPUT_REQUIRED" + ] + }, + "Vcenter.Guest.WindowsNetworkAdapterSettings": { + "type": "object", + "properties": { + "dns_servers": { + "type": "array", + "description": "A list of server IP addresses to use for DNS lookup in a Windows guest operating system. \n\n These servers should be specified in the order of preference. If this list is not empty, and if a DHCP IP address is used, then these settings override the DHCP settings.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no DNS servers are set.", + "items": { + "type": "string" + } + }, + "dns_domain": { + "type": "string", + "description": "A DNS domain suffix such as vmware.com.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no DNS domain is set." + }, + "wins_servers": { + "type": "array", + "description": "List of WINS Servers to set for the Windows guest operating system. A Maximum of two IP addresses can be specified in this list. The first IP address will be set as the primary WINS server. The second IP address will be set as the secondary WINS server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no WINS Servers are set.", + "items": { + "type": "string" + } + }, + "net_bios_mode": { + "type": "string", + "description": "NetBIOS setting for Windows.\n\nPossible values:\n - `USE_DHCP`: DHCP server decides whether or not to use NetBIOS.\n - `ENABLE`: Always use NetBIOS.\n - `DISABLE`: Never use NetBIOS.\n\n\nFor more information see: *Vcenter.Guest.WindowsNetworkAdapterSettings.NetBIOSMode*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, existing NetBIOS mode will be retained." + } + }, + "description": "The Vcenter.Guest.WindowsNetworkAdapterSettings schema specifies Windows specific Network settings for a virtual network adapter.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.WindowsNetworkAdapterSettings.NetBIOSMode": { + "type": "string", + "description": "The Vcenter.Guest.WindowsNetworkAdapterSettings.NetBIOSMode enumerated type specifies different NetBIOS settings for Windows guest operating systems.\n\nPossible values:\n - `USE_DHCP`: DHCP server decides whether or not to use NetBIOS.\n - `ENABLE`: Always use NetBIOS.\n - `DISABLE`: Never use NetBIOS.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "USE_DHCP", + "ENABLE", + "DISABLE" + ] + }, + "Vcenter.Guest.IPSettings": { + "type": "object", + "properties": { + "ipv4": { + "description": "Specification to configure IPv4 address, subnet mask and gateway info for this virtual network adapter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is currently required. If missing or `null`, the specification creation operation will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.Ipv4" + } + ] + }, + "ipv6": { + "description": "Specification to configure IPv6 address, subnet mask and gateway info for this virtual network adapter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no IPv6 addresses are set.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.Ipv6" + } + ] + }, + "windows": { + "description": "Windows settings to be configured for this specific virtual Network adapter. This is valid only for Windows guest operating systems.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no specific Windows settings are set.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.WindowsNetworkAdapterSettings" + } + ] + } + }, + "description": "The Vcenter.Guest.IPSettings schema specifies the IP settings for a virtual network adapter.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.AdapterMapping": { + "required": [ + "adapter" + ], + "type": "object", + "properties": { + "mac_address": { + "type": "string", + "description": "The MAC address of a network adapter being customized. \n\n In vSphere 7.0 series, the MAC addresses must be specified in the ascending order of pciSlotNumber, otherwise a MAC address mismatch error will be reported. For further details, see the https://kb.vmware.com/s/article/87648 \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the customization process maps the the settings from the list of AdapterMappings.IPSettings in the *Vcenter.Guest.CustomizationSpec.interfaces* to the virtual machine's network adapters, in PCI slot order. The first virtual network adapter on the PCI bus is assigned interfaces[0].IPSettings, the second adapter is assigned interfaces[1].IPSettings, and so on." + }, + "adapter": { + "description": "The IP settings for the associated virtual network adapter.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.IPSettings" + } + ] + } + }, + "description": "The Vcenter.Guest.AdapterMapping schema specifies the association between a virtual network adapter and its IP settings.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.CustomizationSpec": { + "required": [ + "configuration_spec", + "global_dns_settings", + "interfaces" + ], + "type": "object", + "properties": { + "configuration_spec": { + "description": "Settings to be applied to the guest during the customization.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.ConfigurationSpec" + } + ] + }, + "global_dns_settings": { + "description": "Global DNS settings constitute the DNS settings that are not specific to a particular virtual network adapter.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.GlobalDNSSettings" + } + ] + }, + "interfaces": { + "type": "array", + "description": "IP settings that are specific to a particular virtual network adapter. The *Vcenter.Guest.AdapterMapping* schema maps a network adapter's MAC address to its *Vcenter.Guest.IPSettings*. May be empty if there are no network adapters, else should match number of network adapters configured for the VM.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Guest.AdapterMapping" + } + } + }, + "description": "The Vcenter.Guest.CustomizationSpec schema contains information required to customize a virtual machine when deploying it or migrating it to a new host.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.CustomizationSpecs.OsType": { + "type": "string", + "description": "The Vcenter.Guest.CustomizationSpecs.OsType enumerated type defines the types of guest operating systems for which guest customization is supported.\n\nPossible values:\n - `WINDOWS`: A customization specification for a Windows guest operating system\n - `LINUX`: A customization specification for a Linux guest operating system\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "WINDOWS", + "LINUX" + ] + }, + "Vcenter.Guest.CustomizationSpecs.Format": { + "type": "string", + "description": "The Vcenter.Guest.CustomizationSpecs.Format enumerated type specifies the formats the customization specification can be exported to.\n\nPossible values:\n - `JSON`: JSON format.\n - `XML`: XML format.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "JSON", + "XML" + ] + }, + "Vcenter.Guest.CustomizationSpecs.Metadata": { + "required": [ + "description", + "name" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "name": { + "type": "string", + "description": "Name of the specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Guest.CustomizationSpecs.Metadata schema contains metadata i.e. name and description related to a customization specification.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.CustomizationSpecs.CreateSpec": { + "required": [ + "description", + "name", + "spec" + ], + "type": "object", + "properties": { + "spec": { + "description": "The specification object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpec" + } + ] + }, + "description": { + "type": "string", + "description": "Description of the specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "name": { + "type": "string", + "description": "Name of the specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Guest.CustomizationSpecs.CreateSpec schema contains specification information and specification object that can be passed to the *POST /vcenter/guest/customization-specs* operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.CustomizationSpecs.Spec": { + "required": [ + "description", + "fingerprint", + "name", + "spec" + ], + "type": "object", + "properties": { + "fingerprint": { + "type": "string", + "description": "The fingerprint is a unique identifier for a given version of the configuration. Each change to the configuration will update this value. A client cannot change this value. If specified when updating a specification, the changes will only be applied if the current fingerprint matches the specified fingerprint. This field can be used to guard against updates that has happened between the specification content was read and until it is applied.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "spec": { + "description": "The specification object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpec" + } + ] + }, + "description": { + "type": "string", + "description": "Description of the specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "name": { + "type": "string", + "description": "Name of the specification.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Guest.CustomizationSpecs.Spec schema contains the specification information and specification object. This is passed to the *PUT /vcenter/guest/customization-specs/{name}* operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.CustomizationSpecs.Info": { + "required": [ + "last_modified", + "spec" + ], + "type": "object", + "properties": { + "last_modified": { + "type": "string", + "description": "Time when the specification was last modified.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "spec": { + "description": "The Spec object including specification and metadata information.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.Spec" + } + ] + } + }, + "description": "The Vcenter.Guest.CustomizationSpecs.Info schema describes a guest customization specification and the timestamp when it was last modified. This is returned by the *GET /vcenter/guest/customization-specs/{name}* operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Guest.CustomizationSpecs.FilterSpec": { + "type": "object", + "properties": { + "os_type": { + "type": "string", + "description": "Guest operating system type that guest customization specifications must have to match the filter (see *Vcenter.Guest.CustomizationSpecs.Summary.OS_type*).\n\nPossible values:\n - `WINDOWS`: A customization specification for a Windows guest operating system\n - `LINUX`: A customization specification for a Linux guest operating system\n\n\nFor more information see: *Vcenter.Guest.CustomizationSpecs.OsType*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, guest customization specifications with any guest operating system type match the filter." + } + }, + "description": "The Vcenter.Guest.CustomizationSpecs.FilterSpec schema contains properties used to filter the results when listing guest customization specifications (see *GET /vcenter/guest/customization-specs*). If multiple properties are specified, only guest customization specifications matching all of the properties match the filter.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Guest.CustomizationSpecs.Summary": { + "required": [ + "description", + "last_modified", + "name", + "os_type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the guest customization specification.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`." + }, + "description": { + "type": "string", + "description": "Description of the guest customization specification.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "os_type": { + "type": "string", + "description": "Guest operating system type for which that this guest customization specification applies.\n\nPossible values:\n - `WINDOWS`: A customization specification for a Windows guest operating system\n - `LINUX`: A customization specification for a Linux guest operating system\n\n\nFor more information see: *Vcenter.Guest.CustomizationSpecs.OsType*.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "last_modified": { + "type": "string", + "description": "Date and time when this guest customization specification was last modified.\n\nThis property was added in __vSphere API 6.7.1__.", + "format": "date-time" + } + }, + "description": "The Vcenter.Guest.CustomizationSpecs.Summary schema contains commonly used information about a guest customization specification.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Host.Crypto.Fips.Modules.Info": { + "required": [ + "component_version", + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the module as specified in its certificate.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the module.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "cmvp_cert": { + "type": "string", + "description": "CMVP certificate number of the module. Can be used to construct the URL of the certificate, for example: https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4743\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the module's CMVP certification is still pending." + }, + "cavp_cert": { + "type": "string", + "description": "CAVP certificate number of the module's algorithms. Can be used to construct the URL of the certificate, for example: https://csrc.nist.gov/projects/Cryptographic-Algorithm-Validation-Program/details?source=A&number=3500\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nMay be left missing or `null`, if the module has a CMVP certificate issued." + }, + "component_version": { + "type": "string", + "description": "Version of the VCF component on which this module is installed.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Host.Crypto.Fips.Modules.Info schema contains information about a FIPS validated crypto module.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Crypto.Fips.Modules.FilterSpec": { + "type": "object", + "properties": { + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "MoId of the hosts whose modules shall be included in the result; Up to 100 hosts can be specified.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, all hosts shall be included in the result.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Name of modules which shall be included in the result. Up to 10 names can be specified.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, modules won't be filtered by name.", + "items": { + "type": "string" + } + }, + "versions": { + "uniqueItems": true, + "type": "array", + "description": "Version of modules which shall be included in the result. Up to 10 versions can be specified.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` or empty, modules won't be filtered by version.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Host.Crypto.Fips.Modules.FilterSpec schema defines a filter for narrowing the returned crypto modules. The result will contain elements which meet all criteria. If none of the modules on some host meet the criteria this host will not be included in the result.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Crypto.Fips.Modules.IterationSpec": { + "type": "object", + "properties": { + "marker": { + "type": "string", + "description": "MoId of the last host whose modules were already returned. Iteration shall continue form the next one.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` the first set of items is returned." + }, + "page_size": { + "type": "integer", + "description": "Specifies the maximum number of hosts whose modules shall be returned.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` the full list of modules shall be returned.", + "format": "int64" + } + }, + "description": "The Vcenter.Host.Crypto.Fips.Modules.IterationSpec schema contains properties used to break results into pages when listing files. Results are sorted by the MoNums of the hosts.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Crypto.Fips.Modules.ListItem": { + "required": [ + "host", + "info" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "The host on which the modules is installed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "info": { + "description": "Details of a FIPS module.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Host.Crypto.Fips.Modules.Info" + } + ] + } + }, + "description": "The Vcenter.Host.Crypto.Fips.Modules.ListItem schema contains details of a FIPS module.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Crypto.Fips.Modules.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "The list of modules.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Host.Crypto.Fips.Modules.ListItem" + } + }, + "marker": { + "type": "string", + "description": "Host moId indicating the host from which the next page of results shall continue. Clients should use this value in the subsequent calls to the #list(IterationSpec) API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` the full list of modules is returned or no modules matched the provided filter." + } + }, + "description": "The Vcenter.Host.Crypto.Fips.Modules.ListResult schema contains a list of FIPS validated crypto module installed on a host in the VC's fleet.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Entropy.ExternalPool.Status": { + "type": "string", + "description": "The Vcenter.Host.Entropy.ExternalPool.Status enum represents external entropy status on an ESX host.\n\nPossible values:\n - `ENABLED`: External entropy is enabled for the ESX host.\n - `DISABLED`: External entropy is disabled for the ESX host.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Vcenter.Host.Entropy.ExternalPool.AddSpec": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "Buffer for entropy data. This will carry entropy data received from the external entropy source.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "byte" + } + }, + "description": "The Vcenter.Host.Entropy.ExternalPool.AddSpec schema defines parameters for the *POST /vcenter/host/{host}/entropy/external-pool?action=add* operation.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Vcenter.Host.Entropy.ExternalPool.AddResult": { + "required": [ + "capacity", + "currently_available", + "inactive_source_timeout", + "low_watermark" + ], + "type": "object", + "properties": { + "capacity": { + "type": "integer", + "description": "Capacity of external entropy pool in bytes.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "int64" + }, + "currently_available": { + "type": "integer", + "description": "Currently available amount of entropy in bytes in the external entropy pool.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "int64" + }, + "low_watermark": { + "type": "integer", + "description": "A threshold value in bytes. An audit record will be logged when *Vcenter.Host.Entropy.ExternalPool.AddResult.currently_available* drops below this value.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "int64" + }, + "inactive_source_timeout": { + "type": "integer", + "description": "A timeout period in seconds within which the client must call *GET /vcenter/host/{host}/entropy/external-pool* operation or *POST /vcenter/host/{host}/entropy/external-pool?action=add* operation. If no call is received before the timeout lapses an audit record will be created. \n\n This is the timeout to detect any connection lost with the client.\n\nThis property was added in __vSphere API 8.0.1.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Host.Entropy.ExternalPool.AddResult schema provides result of the *POST /vcenter/host/{host}/entropy/external-pool?action=add* operation.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Vcenter.Host.Entropy.ExternalPool.Info": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "This flag indicates entropy service is enabled or not in a ESX host.\n\nPossible values:\n - `ENABLED`: External entropy is enabled for the ESX host.\n - `DISABLED`: External entropy is disabled for the ESX host.\n\n\nFor more information see: *Vcenter.Host.Entropy.ExternalPool.Status*.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "capacity": { + "type": "integer", + "description": "Capacity of external entropy pool in bytes.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Vcenter.Host.Entropy.ExternalPool.Status.ENABLED*.", + "format": "int64" + }, + "currently_available": { + "type": "integer", + "description": "Currently available amount of entropy in bytes in the external entropy pool.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Vcenter.Host.Entropy.ExternalPool.Status.ENABLED*.", + "format": "int64" + }, + "low_watermark": { + "type": "integer", + "description": "A threshold value in bytes. An audit record will be logged when *Vcenter.Host.Entropy.ExternalPool.Info.currently_available* drops below this value.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Vcenter.Host.Entropy.ExternalPool.Status.ENABLED*.", + "format": "int64" + }, + "inactive_source_timeout": { + "type": "integer", + "description": "A timeout period in seconds within which the client must call *GET /vcenter/host/{host}/entropy/external-pool* operation or *POST /vcenter/host/{host}/entropy/external-pool?action=add* operation. If no call is received before the timeout lapses an audit record will be created. \n\n This timeout is used to detect that connection with the client is lost.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nThis property is optional and it is only relevant when the value of status is *Vcenter.Host.Entropy.ExternalPool.Status.ENABLED*.", + "format": "int64" + } + }, + "description": "The Vcenter.Host.Entropy.ExternalPool.Info schema contains entropy pool information on the ESX host. It provides external entropy pool details as well as timeout in seconds within which client has to keep calling *GET /vcenter/host/{host}/entropy/external-pool* operation. \n\n Client has to monitor Info.currentlyAvailable parameter. Before the entropy level goes down below a threshold value the client has to send entropy data by calling *POST /vcenter/host/{host}/entropy/external-pool?action=add* operation.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.DirectPathDeviceMode": { + "type": "string", + "description": "The Vcenter.Host.Hardware.DirectPathDevices.DirectPathDeviceMode schema provides information about the valid modes for a DirectPath device.\n\nPossible values:\n - `NONE`: Device is not available for use by virtual machines.\n - `HOST`: Device is configured for host use, and is not available to virtual machines.\n - `DIRECTPATH`: Device is available for virtual machines as a DirectPath device.\n - `ENHANCED_DIRECTPATH`: Device is available for virtual machines as an Enhanced DirectPath device.\n - `VGPU_SAME_SIZE`: Device is available for virtual machines in Nvidia vGPU same size mode.\n - `VGPU_MIXED_SIZE`: Device is available for virtual machines in Nvidia vGPU mixed size mode.\n - `SYSTEM_SELECT`: System selects the mode. After configuration, the device will be in one of the other valid modes for a DirectPath device.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NONE", + "HOST", + "DIRECTPATH", + "ENHANCED_DIRECTPATH", + "VGPU_SAME_SIZE", + "VGPU_MIXED_SIZE", + "SYSTEM_SELECT" + ] + }, + "Vcenter.Host.Hardware.DirectPathDevices.ConfigureImpact": { + "type": "string", + "description": "The Vcenter.Host.Hardware.DirectPathDevices.ConfigureImpact schema provides the different side effects of a DirectPath device reconfiguration.\n\nPossible values:\n - `NONE`: No impact to the host or any virtual machines.\n - `HOST_MAINTENANCE_MODE_REQUIRED`: Host needs to go through maintenance mode for the desired configuration changes to take effect.\n - `HOST_REBOOT_REQUIRED`: Host needs to be rebooted for the desired configuration changes to take effect.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NONE", + "HOST_MAINTENANCE_MODE_REQUIRED", + "HOST_REBOOT_REQUIRED" + ] + }, + "Vcenter.Host.Hardware.DirectPathDevices.MemoryInfo": { + "type": "object", + "properties": { + "used_memory": { + "type": "integer", + "description": "The memory used on this device in vSphere in MBs, based on virtual machines running on this device.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "format": "int64" + }, + "total_memory": { + "type": "integer", + "description": "The total available memory on the device, in MBs.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "format": "int64" + }, + "reserved_used_memory": { + "type": "integer", + "description": "The amount of reserved memory in use currently on the device, in MBs.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "format": "int64" + }, + "total_reserved_memory": { + "type": "integer", + "description": "The total amount of memory reserved on this device, in MBs.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "format": "int64" + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.MemoryInfo schema provides information about memory usage on a DirectPath device, in case the device supports it.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.VmClassInfo": { + "required": [ + "vm_class" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "The zone associated with the VMClasses using resources from the device.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "zone_name": { + "type": "string", + "description": "Zone name.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available." + }, + "vm_class": { + "type": "string", + "description": "VirtualMachineClass name.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`." + }, + "dpp_id": { + "type": "string", + "description": "DirectPathProfile Id associated with this usage.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available." + }, + "vm_class_reserved_in_use": { + "type": "integer", + "description": "Reservations in use for the VirtualMachineClass in the cluster the host belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "format": "int64" + }, + "vm_class_reserved_total": { + "type": "integer", + "description": "Total number of reservations done for the VMClass in the cluster the host belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "format": "int64" + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.VmClassInfo schema provides information about VmClass using resources provided by a given DirectPath device.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.Info": { + "required": [ + "configurable_modes", + "current_mode", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The device name of this DirectPath device.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "current_mode": { + "type": "string", + "description": "The current mode of the device.\n\nPossible values:\n - `NONE`: Device is not available for use by virtual machines.\n - `HOST`: Device is configured for host use, and is not available to virtual machines.\n - `DIRECTPATH`: Device is available for virtual machines as a DirectPath device.\n - `ENHANCED_DIRECTPATH`: Device is available for virtual machines as an Enhanced DirectPath device.\n - `VGPU_SAME_SIZE`: Device is available for virtual machines in Nvidia vGPU same size mode.\n - `VGPU_MIXED_SIZE`: Device is available for virtual machines in Nvidia vGPU mixed size mode.\n - `SYSTEM_SELECT`: System selects the mode. After configuration, the device will be in one of the other valid modes for a DirectPath device.\n\n\nFor more information see: *Vcenter.Host.Hardware.DirectPathDevices.DirectPathDeviceMode*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "configurable_modes": { + "uniqueItems": true, + "type": "array", + "description": "The valid modes this device can be configured to.\n\nPossible values:\n - `NONE`: Device is not available for use by virtual machines.\n - `HOST`: Device is configured for host use, and is not available to virtual machines.\n - `DIRECTPATH`: Device is available for virtual machines as a DirectPath device.\n - `ENHANCED_DIRECTPATH`: Device is available for virtual machines as an Enhanced DirectPath device.\n - `VGPU_SAME_SIZE`: Device is available for virtual machines in Nvidia vGPU same size mode.\n - `VGPU_MIXED_SIZE`: Device is available for virtual machines in Nvidia vGPU mixed size mode.\n - `SYSTEM_SELECT`: System selects the mode. After configuration, the device will be in one of the other valid modes for a DirectPath device.\n\n\nFor more information see: *Vcenter.Host.Hardware.DirectPathDevices.DirectPathDeviceMode*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "interconnect_type": { + "type": "string", + "description": "The interconnect type of the device.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available." + }, + "driver_name": { + "type": "string", + "description": "The driver name.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available." + }, + "driver_version": { + "type": "string", + "description": "The driver version.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available." + }, + "memory_info": { + "description": "Information about device memory, if supported.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Host.Hardware.DirectPathDevices.MemoryInfo" + } + ] + }, + "vms": { + "uniqueItems": true, + "type": "array", + "description": "Information about virtual machines using resources from this device.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "items": { + "type": "string" + } + }, + "vm_classes_info": { + "type": "array", + "description": "Information about VirtualMachineClasses using resources from this device.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "items": { + "$ref": "#/components/schemas/Vcenter.Host.Hardware.DirectPathDevices.VmClassInfo" + } + }, + "direct_path_profiles": { + "uniqueItems": true, + "type": "array", + "description": "Information about DirectPathProfiles using resources from this device.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then this information is not available.", + "items": { + "type": "string" + } + } + }, + "description": "The name Vcenter.Host.Hardware.DirectPathDevices.Info schema describes a DirectPath device.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.ListItem": { + "required": [ + "device", + "info" + ], + "type": "object", + "properties": { + "device": { + "type": "string", + "description": "The ID of the DirectPath device.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "info": { + "description": "Information about the DirectPath device.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Host.Hardware.DirectPathDevices.Info" + } + ] + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.ListItem schema provides information about a DirectPath device returned by *GET /vcenter/host/{host}/hardware/direct-path-devices* operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "List of #ListItem entries.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Host.Hardware.DirectPathDevices.ListItem" + } + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.ListResult schema represents the result of *GET /vcenter/host/{host}/hardware/direct-path-devices* operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.ListDetails": { + "type": "object", + "properties": { + "vm_class": { + "type": "boolean", + "description": "Whether to include associated VMClass information.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then VMClass information is not included in the output." + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.ListDetails schema contains properties used to specify what information should be included in the output of *GET /vcenter/host/{host}/hardware/direct-path-devices* operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.FilterSpec": { + "required": [ + "devices" + ], + "type": "object", + "properties": { + "devices": { + "uniqueItems": true, + "type": "array", + "description": "Set of device IDs to query.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.FilterSpec schema contains properties used to filter the results and determine what's included in the results when listing the DirectPath devices on a host.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.IterationSpec": { + "type": "object", + "properties": { + "page_size": { + "type": "integer", + "description": "The maximum number of entries to return in the result.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then defaults to 256.", + "format": "int64" + }, + "marker": { + "type": "string", + "description": "The {#member marker} is an opaque data structure that allows the caller to request the next page of results from #list operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then the first page of results will be returned." + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.IterationSpec schema contains properties used to break the result into pages when listing DirectPath devices in *GET /vcenter/host/{host}/hardware/direct-path-devices* operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.ConfigureSpec": { + "required": [ + "device" + ], + "type": "object", + "properties": { + "device": { + "type": "string", + "description": "The ID of the device to configure.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "new_mode": { + "type": "string", + "description": "The new desired mode of the device.\n\nPossible values:\n - `NONE`: Device is not available for use by virtual machines.\n - `HOST`: Device is configured for host use, and is not available to virtual machines.\n - `DIRECTPATH`: Device is available for virtual machines as a DirectPath device.\n - `ENHANCED_DIRECTPATH`: Device is available for virtual machines as an Enhanced DirectPath device.\n - `VGPU_SAME_SIZE`: Device is available for virtual machines in Nvidia vGPU same size mode.\n - `VGPU_MIXED_SIZE`: Device is available for virtual machines in Nvidia vGPU mixed size mode.\n - `SYSTEM_SELECT`: System selects the mode. After configuration, the device will be in one of the other valid modes for a DirectPath device.\n\n\nFor more information see: *Vcenter.Host.Hardware.DirectPathDevices.DirectPathDeviceMode*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, then the current device mode remains unchanged." + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.ConfigureSpec schema provides options to configure a DirectPath device.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Host.Hardware.DirectPathDevices.ConfigureResult": { + "type": "object", + "properties": { + "configure_impacts": { + "uniqueItems": true, + "type": "array", + "description": "The impact of running the reconfigure operation.\n\nPossible values:\n - `NONE`: No impact to the host or any virtual machines.\n - `HOST_MAINTENANCE_MODE_REQUIRED`: Host needs to go through maintenance mode for the desired configuration changes to take effect.\n - `HOST_REBOOT_REQUIRED`: Host needs to be rebooted for the desired configuration changes to take effect.\n\n\nFor more information see: *Vcenter.Host.Hardware.DirectPathDevices.ConfigureImpact*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nis missing or `null`, if the operation fails.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Host.Hardware.DirectPathDevices.ConfigureResult schema contains information about the results of reconfiguring a DirectPath device.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Identity.FederationType": { + "type": "string", + "description": "The Vcenter.Identity.FederationType enumerated type contains the possible types of federation paths for, vCenter Server identity providers configuration.\n\nPossible values:\n - `DIRECT_FEDERATION`: vCenter Server federated directly to the external identity provider.\n - `INDIRECT_FEDERATION`: vCenter Server federated indirectly to the external identity provider, by means of an intermediary federation broker.\n - `VMWARE_SSO_FEDERATION`: vCenter Server federated by VMWARE SSO\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nThis enumeration was added in __vSphere API 8.0.1.0__.", + "enum": [ + "DIRECT_FEDERATION", + "INDIRECT_FEDERATION", + "VMWARE_SSO_FEDERATION" + ] + }, + "Vcenter.Identity.Providers.ConfigType": { + "type": "string", + "description": "The Vcenter.Identity.Providers.ConfigType schema contains the possible types of vCenter Server identity providers.\n\nPossible values:\n - `Oauth2`: Config for OAuth2\n - `Oidc`: Config for OIDC\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "Oauth2", + "Oidc" + ] + }, + "Vcenter.Identity.Providers.IdmProtocol": { + "type": "string", + "description": "The Vcenter.Identity.Providers.IdmProtocol schema contains the possible types of communication protocols to the identity management endpoints.\n\nPossible values:\n - `REST`: REST protocol based identity management endpoints\n - `SCIM`: SCIM V1.1 protocol based identity management endpoints\n - `SCIM2_0`: SCIM V2.0 protocol based identity management endpoints\n - `LDAP`: LDAP protocol based identity management endpoints\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "REST", + "SCIM", + "SCIM2_0", + "LDAP" + ] + }, + "Vcenter.Identity.Providers.Oauth2AuthenticationMethod": { + "type": "string", + "description": "The Vcenter.Identity.Providers.Oauth2AuthenticationMethod schema contains the possible types of OAuth2 authentication methods.\n\nPossible values:\n - `CLIENT_SECRET_BASIC`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] using the HTTP Basic authentication scheme.\n - `CLIENT_SECRET_POST`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] by including the Client Credentials in the request body.\n - `CLIENT_SECRET_JWT`: Clients that have received a client_secret value from the Authorization Server, create a JWT using an HMAC SHA algorithm, such as HMAC SHA-256. The HMAC (Hash-based Message Authentication Code) is calculated using the octets of the UTF-8 representation of the client_secret as the shared key.\n - `PRIVATE_KEY_JWT`: Clients that have registered a public key sign a JWT using that key. The client authenticates in accordance with JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.JWT] and Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.Assertions].\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "CLIENT_SECRET_BASIC", + "CLIENT_SECRET_POST", + "CLIENT_SECRET_JWT", + "PRIVATE_KEY_JWT" + ] + }, + "Vcenter.Identity.Providers.Summary": { + "required": [ + "config_tag", + "is_default", + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The identifier of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.identity.Providers`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.identity.Providers`." + }, + "name": { + "type": "string", + "description": "The user friendly name for the provider\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "config_tag": { + "type": "string", + "description": "The config type of the identity provider\n\nPossible values:\n - `Oauth2`: Config for OAuth2\n - `Oidc`: Config for OIDC\n\n\nFor more information see: *Vcenter.Identity.Providers.ConfigType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "oauth2": { + "description": "OAuth2 Summary\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_tag is *Vcenter.Identity.Providers.ConfigType.oauth2*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.Oauth2Summary" + } + ] + }, + "oidc": { + "description": "OIDC Summary\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_tag is *Vcenter.Identity.Providers.ConfigType.oidc*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.OidcSummary" + } + ] + }, + "is_default": { + "type": "boolean", + "description": "Specifies whether the provider is the default provider.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "domain_names": { + "uniqueItems": true, + "type": "array", + "description": "Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains. If domainNames is an empty set, domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "type": "string" + } + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "\n\nkey/value pairs that are to be appended to the authEndpoint request. \n\nHow to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "federation_type": { + "type": "string", + "description": "The type of the identity provider\n\nPossible values:\n - `DIRECT_FEDERATION`: vCenter Server federated directly to the external identity provider.\n - `INDIRECT_FEDERATION`: vCenter Server federated indirectly to the external identity provider, by means of an intermediary federation broker.\n - `VMWARE_SSO_FEDERATION`: vCenter Server federated by VMWARE SSO\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Identity.FederationType*.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nIf no federation type value set earlier." + } + }, + "description": "The Vcenter.Identity.Providers.Summary schema contains commonly used information about an identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.Info": { + "required": [ + "config_tag", + "is_default", + "org_ids" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The user friendly name for the provider\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "org_ids": { + "uniqueItems": true, + "type": "array", + "description": "The set of orgIds as part of SDDC creation which provides the basis for tenancy\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "config_tag": { + "type": "string", + "description": "The config type of the identity provider\n\nPossible values:\n - `Oauth2`: Config for OAuth2\n - `Oidc`: Config for OIDC\n\n\nFor more information see: *Vcenter.Identity.Providers.ConfigType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "oauth2": { + "description": "OAuth2 Info\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_tag is *Vcenter.Identity.Providers.ConfigType.oauth2*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.Oauth2Info" + } + ] + }, + "oidc": { + "description": "OIDC Info\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_tag is *Vcenter.Identity.Providers.ConfigType.oidc*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.OidcInfo" + } + ] + }, + "is_default": { + "type": "boolean", + "description": "Specifies whether the provider is the default provider.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "domain_names": { + "uniqueItems": true, + "type": "array", + "description": "Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains. If domainNames is an empty set, domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "type": "string" + } + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "\n\nkey/value pairs that are to be appended to the authEndpoint request. \n\nHow to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "idm_protocol": { + "type": "string", + "description": "Communication protocol to the identity management endpoints.\n\nPossible values:\n - `REST`: REST protocol based identity management endpoints\n - `SCIM`: SCIM V1.1 protocol based identity management endpoints\n - `SCIM2_0`: SCIM V2.0 protocol based identity management endpoints\n - `LDAP`: LDAP protocol based identity management endpoints\n\n\nFor more information see: *Vcenter.Identity.Providers.IdmProtocol*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "idm_endpoints": { + "type": "array", + "description": "Identity management endpoints.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of idm_protocol is one of *Vcenter.Identity.Providers.IdmProtocol.REST*, *Vcenter.Identity.Providers.IdmProtocol.SCIM*, or *Vcenter.Identity.Providers.IdmProtocol.scim2_0*.", + "items": { + "type": "string", + "format": "uri" + } + }, + "active_directory_over_ldap": { + "description": "Identity management configuration.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of idm_protocol is *Vcenter.Identity.Providers.IdmProtocol.LDAP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.ActiveDirectoryOverLdap" + } + ] + }, + "upn_claim": { + "type": "string", + "description": "Specifies which claim provides the user principal name (UPN) for the user.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "groups_claim": { + "type": "string", + "description": "Specifies which claim provides the group membership for the token subject. If empty, the default behavior for CSP is used. In this case, the groups for the subject will be comprised of the groups in 'group_names' and 'group_ids' claims.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "federation_type": { + "type": "string", + "description": "The type of the identity provider\n\nPossible values:\n - `DIRECT_FEDERATION`: vCenter Server federated directly to the external identity provider.\n - `INDIRECT_FEDERATION`: vCenter Server federated indirectly to the external identity provider, by means of an intermediary federation broker.\n - `VMWARE_SSO_FEDERATION`: vCenter Server federated by VMWARE SSO\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Identity.FederationType*.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nIf no federation type value set earlier." + } + }, + "description": "The Vcenter.Identity.Providers.Info schema contains the information about an identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.CreateSpec": { + "required": [ + "config_tag" + ], + "type": "object", + "properties": { + "config_tag": { + "type": "string", + "description": "The config type of the identity provider\n\nPossible values:\n - `Oauth2`: Config for OAuth2\n - `Oidc`: Config for OIDC\n\n\nFor more information see: *Vcenter.Identity.Providers.ConfigType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "oauth2": { + "description": "OAuth2 CreateSpec\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_tag is *Vcenter.Identity.Providers.ConfigType.oauth2*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.Oauth2CreateSpec" + } + ] + }, + "oidc": { + "description": "OIDC CreateSpec\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_tag is *Vcenter.Identity.Providers.ConfigType.oidc*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.OidcCreateSpec" + } + ] + }, + "org_ids": { + "uniqueItems": true, + "type": "array", + "description": "The set of orgIds as part of SDDC creation which provides the basis for tenancy\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the set will be empty.", + "items": { + "type": "string" + } + }, + "is_default": { + "type": "boolean", + "description": "Specifies whether the provider is the default provider. Setting is_default of current provider to True makes all other providers non-default.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` the provider will be the default provider if it is the first provider that is created, and will not be the default provider otherwise." + }, + "name": { + "type": "string", + "description": "The user friendly name for the provider. This name can be used for human-readable identification purposes, but it does not have to be unique, as the system will use internal UUIDs to differentiate providers.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the name will be the empty string" + }, + "domain_names": { + "uniqueItems": true, + "type": "array", + "description": "Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, domainNames will be the empty set and the domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens.", + "items": { + "type": "string" + } + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "\n\nkey/value pairs that are to be appended to the authEndpoint request. \n\nHow to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the map will be empty." + }, + "idm_protocol": { + "type": "string", + "description": "Communication protocol to the identity management endpoints.\n\nPossible values:\n - `REST`: REST protocol based identity management endpoints\n - `SCIM`: SCIM V1.1 protocol based identity management endpoints\n - `SCIM2_0`: SCIM V2.0 protocol based identity management endpoints\n - `LDAP`: LDAP protocol based identity management endpoints\n\n\nFor more information see: *Vcenter.Identity.Providers.IdmProtocol*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no communication protocol will be configured for the identity provider." + }, + "idm_endpoints": { + "type": "array", + "description": "Identity management endpoints. When specified, at least one endpoint must be provided.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of idm_protocol is one of *Vcenter.Identity.Providers.IdmProtocol.REST*, *Vcenter.Identity.Providers.IdmProtocol.SCIM*, or *Vcenter.Identity.Providers.IdmProtocol.scim2_0*.", + "items": { + "type": "string", + "format": "uri" + } + }, + "active_directory_over_ldap": { + "description": "Identity management configuration. If the protocol is LDAP, the configuration must be set, else InvalidArgument is thrown.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of idm_protocol is *Vcenter.Identity.Providers.IdmProtocol.LDAP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.ActiveDirectoryOverLdap" + } + ] + }, + "upn_claim": { + "type": "string", + "description": "Specifies which claim provides the user principal name (UPN) for the user.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the claim named 'acct' will be used to provide backwards compatibility with CSP." + }, + "groups_claim": { + "type": "string", + "description": "Specifies which claim provides the group membership for the token subject. These groups will be used for mapping to local groups per the claim map.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the default behavior will be CSP backwards compatibility. The groups for the subject will be comprised of the groups in 'group_names' and 'group_ids' claims." + }, + "federation_type": { + "type": "string", + "description": "The type of the identity provider\n\nPossible values:\n - `DIRECT_FEDERATION`: vCenter Server federated directly to the external identity provider.\n - `INDIRECT_FEDERATION`: vCenter Server federated indirectly to the external identity provider, by means of an intermediary federation broker.\n - `VMWARE_SSO_FEDERATION`: vCenter Server federated by VMWARE SSO\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Identity.FederationType*.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nIf missing or `null`, the federation type value will not be set." + } + }, + "description": "The Vcenter.Identity.Providers.CreateSpec schema contains the information used to create an identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.UpdateSpec": { + "required": [ + "config_tag" + ], + "type": "object", + "properties": { + "config_tag": { + "type": "string", + "description": "The config type of the identity provider\n\nPossible values:\n - `Oauth2`: Config for OAuth2\n - `Oidc`: Config for OIDC\n\n\nFor more information see: *Vcenter.Identity.Providers.ConfigType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "oauth2": { + "description": "OAuth2 UpdateSpec\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_tag is *Vcenter.Identity.Providers.ConfigType.oauth2*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.Oauth2UpdateSpec" + } + ] + }, + "oidc": { + "description": "OIDC UpdateSpec\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of config_tag is *Vcenter.Identity.Providers.ConfigType.oidc*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.OidcUpdateSpec" + } + ] + }, + "org_ids": { + "uniqueItems": true, + "type": "array", + "description": "The set orgIds as part of SDDC creation which provides the basis for tenancy\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged.", + "items": { + "type": "string" + } + }, + "make_default": { + "type": "boolean", + "description": "Specifies whether to make this the default provider. If make_default is set to true, this provider will be flagged as the default provider and any other providers that had previously been flagged as the default will be made non-default. If make_default is set to false, this provider's default flag will not be modified.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "name": { + "type": "string", + "description": "The user friendly name for the provider. This name can be used for human-readable identification purposes, but it does not have to be unique, as the system will use internal UUIDs to differentiate providers.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "domain_names": { + "uniqueItems": true, + "type": "array", + "description": "Set of fully qualified domain names to trust when federating with this identity provider. Tokens from this identity provider will only be validated if the user belongs to one of these domains, and any domain-qualified groups in the tokens will be filtered to include only those groups that belong to one of these domains.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged. If domainNames is an empty set, domain validation behavior at login with this identity provider will be as follows: the user's domain will be parsed from the User Principal Name (UPN) value that is found in the tokens returned by the identity provider. This domain will then be implicitly trusted and used to filter any groups that are also provided in the tokens.", + "items": { + "type": "string" + } + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "key/value pairs that are to be appended to the authEndpoint request. How to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details: If the value contains only one string, then the key is added with \"k=v\". If the value is an empty list, then the key is added without a \"=v\". If the value contains multiple strings, then the key is repeated in the query-string for each string in the value. If the map is empty, deletes all params.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "idm_protocol": { + "type": "string", + "description": "The protocol to communicate to the identity management endpoints\n\nPossible values:\n - `REST`: REST protocol based identity management endpoints\n - `SCIM`: SCIM V1.1 protocol based identity management endpoints\n - `SCIM2_0`: SCIM V2.0 protocol based identity management endpoints\n - `LDAP`: LDAP protocol based identity management endpoints\n\n\nFor more information see: *Vcenter.Identity.Providers.IdmProtocol*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leave value unchanged." + }, + "idm_endpoints": { + "type": "array", + "description": "Identity management endpoints. When specified, at least one endpoint must be provided.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of idm_protocol is one of *Vcenter.Identity.Providers.IdmProtocol.REST*, *Vcenter.Identity.Providers.IdmProtocol.SCIM*, or *Vcenter.Identity.Providers.IdmProtocol.scim2_0*.", + "items": { + "type": "string", + "format": "uri" + } + }, + "active_directory_over_ldap": { + "description": "Identity management configuration. If the protocol is LDAP, the configuration must be set, else InvalidArgument is thrown\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of idm_protocol is *Vcenter.Identity.Providers.IdmProtocol.LDAP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Identity.Providers.ActiveDirectoryOverLdap" + } + ] + }, + "upn_claim": { + "type": "string", + "description": "Specifies which claim provides the user principal name (UPN) for the subject of the token.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "reset_upn_claim": { + "type": "boolean", + "description": "Flag indicating whether the user principal name (UPN) claim should be set back to its default value. If this field is set to `true`, the user principal name (UPN) claim will be set to 'acct', which is used for backwards compatibility with CSP. If this field is set to `false`, the existing user principal name (UPN) claim will be changed to the value specified in *Vcenter.Identity.Providers.UpdateSpec.upn_claim*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing user principal name (UPN) claim will be changed to the value specified in *Vcenter.Identity.Providers.UpdateSpec.upn_claim*, if any." + }, + "groups_claim": { + "type": "string", + "description": "Specifies which claim provides the group membership for the token subject.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "reset_groups_claim": { + "type": "boolean", + "description": "Flag indicating whether any existing groups claim value should be removed. If this field is set to `true`, the existing groups claim value is removed which defaults to backwards compatibility with CSP. In this case, the groups for the subject will be comprised of the groups in 'group_names' and 'group_ids' claims. If this field is set to `false`, the existing groups claim will be changed to the value specified in *Vcenter.Identity.Providers.UpdateSpec.groups_claim*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing groups claim will be changed to the value specified in *Vcenter.Identity.Providers.UpdateSpec.groups_claim*, if any." + }, + "federation_type": { + "type": "string", + "description": "The type of the identity provider\n\nPossible values:\n - `DIRECT_FEDERATION`: vCenter Server federated directly to the external identity provider.\n - `INDIRECT_FEDERATION`: vCenter Server federated indirectly to the external identity provider, by means of an intermediary federation broker.\n - `VMWARE_SSO_FEDERATION`: vCenter Server federated by VMWARE SSO\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Identity.FederationType*.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nIf missing or `null`, leaves value unchanged." + } + }, + "description": "The Vcenter.Identity.Providers.UpdateSpec schema contains the information used to update the identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.Oauth2Summary": { + "required": [ + "auth_endpoint", + "auth_query_params", + "authentication_header", + "client_id", + "token_endpoint" + ], + "type": "object", + "properties": { + "auth_endpoint": { + "type": "string", + "description": "Authentication/authorization endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "token_endpoint": { + "type": "string", + "description": "Token endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "client_id": { + "type": "string", + "description": "Client identifier to connect to the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "authentication_header": { + "type": "string", + "description": "The authentication data used as part of request header to acquire or refresh an OAuth2 token. The data format depends on the authentication method used. Example of basic authentication format: Authorization: Basic [base64Encode(clientId + \":\" + secret)]\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "\n\nkey/value pairs that are to be appended to the authEndpoint request. \n\nHow to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Identity.Providers.Oauth2Summary schema contains commonly used information about an OAuth2 identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.Oauth2Info": { + "required": [ + "auth_endpoint", + "auth_query_params", + "authentication_method", + "claim_map", + "client_id", + "client_secret", + "issuer", + "public_key_uri", + "token_endpoint" + ], + "type": "object", + "properties": { + "auth_endpoint": { + "type": "string", + "description": "Authentication/authorization endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "token_endpoint": { + "type": "string", + "description": "Token endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "public_key_uri": { + "type": "string", + "description": "Endpoint to retrieve the provider public key for validation\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "client_id": { + "type": "string", + "description": "Client identifier to connect to the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "client_secret": { + "type": "string", + "description": "The secret shared between the client and the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "claim_map": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "issuer": { + "type": "string", + "description": "The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "authentication_method": { + "type": "string", + "description": "Authentication method used by the provider\n\nPossible values:\n - `CLIENT_SECRET_BASIC`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] using the HTTP Basic authentication scheme.\n - `CLIENT_SECRET_POST`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] by including the Client Credentials in the request body.\n - `CLIENT_SECRET_JWT`: Clients that have received a client_secret value from the Authorization Server, create a JWT using an HMAC SHA algorithm, such as HMAC SHA-256. The HMAC (Hash-based Message Authentication Code) is calculated using the octets of the UTF-8 representation of the client_secret as the shared key.\n - `PRIVATE_KEY_JWT`: Clients that have registered a public key sign a JWT using that key. The client authenticates in accordance with JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.JWT] and Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.Assertions].\n\n\nFor more information see: *Vcenter.Identity.Providers.Oauth2AuthenticationMethod*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "\n\nkey/value pairs that are to be appended to the authEndpoint request. \n\nHow to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Identity.Providers.Oauth2Info schema contains the information about an OAuth2 identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.Oauth2CreateSpec": { + "required": [ + "auth_endpoint", + "authentication_method", + "claim_map", + "client_id", + "client_secret", + "issuer", + "public_key_uri", + "token_endpoint" + ], + "type": "object", + "properties": { + "auth_endpoint": { + "type": "string", + "description": "Authentication/authorization endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "token_endpoint": { + "type": "string", + "description": "Token endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "public_key_uri": { + "type": "string", + "description": "Endpoint to retrieve the provider public key for validation\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "client_id": { + "type": "string", + "description": "Client identifier to connect to the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "client_secret": { + "type": "string", + "description": "The secret shared between the client and the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "claim_map": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "issuer": { + "type": "string", + "description": "The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "authentication_method": { + "type": "string", + "description": "Authentication method used by the provider\n\nPossible values:\n - `CLIENT_SECRET_BASIC`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] using the HTTP Basic authentication scheme.\n - `CLIENT_SECRET_POST`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] by including the Client Credentials in the request body.\n - `CLIENT_SECRET_JWT`: Clients that have received a client_secret value from the Authorization Server, create a JWT using an HMAC SHA algorithm, such as HMAC SHA-256. The HMAC (Hash-based Message Authentication Code) is calculated using the octets of the UTF-8 representation of the client_secret as the shared key.\n - `PRIVATE_KEY_JWT`: Clients that have registered a public key sign a JWT using that key. The client authenticates in accordance with JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.JWT] and Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.Assertions].\n\n\nFor more information see: *Vcenter.Identity.Providers.Oauth2AuthenticationMethod*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "\n\nkey/value pairs that are to be appended to the authEndpoint request. \n\nHow to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the map will be empty." + } + }, + "description": "The Vcenter.Identity.Providers.Oauth2CreateSpec schema contains the information used to create an OAuth2 identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.Oauth2UpdateSpec": { + "type": "object", + "properties": { + "auth_endpoint": { + "type": "string", + "description": "Authentication/authorization endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged.", + "format": "uri" + }, + "token_endpoint": { + "type": "string", + "description": "Token endpoint of the provider.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged.", + "format": "uri" + }, + "public_key_uri": { + "type": "string", + "description": "Endpoint to retrieve the provider public key for validation\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged.", + "format": "uri" + }, + "client_id": { + "type": "string", + "description": "Client identifier to connect to the provider\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "client_secret": { + "type": "string", + "description": "Shared secret between identity provider and client\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "claim_map": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "issuer": { + "type": "string", + "description": "The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "authentication_method": { + "type": "string", + "description": "Authentication method used by the provider\n\nPossible values:\n - `CLIENT_SECRET_BASIC`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] using the HTTP Basic authentication scheme.\n - `CLIENT_SECRET_POST`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] by including the Client Credentials in the request body.\n - `CLIENT_SECRET_JWT`: Clients that have received a client_secret value from the Authorization Server, create a JWT using an HMAC SHA algorithm, such as HMAC SHA-256. The HMAC (Hash-based Message Authentication Code) is calculated using the octets of the UTF-8 representation of the client_secret as the shared key.\n - `PRIVATE_KEY_JWT`: Clients that have registered a public key sign a JWT using that key. The client authenticates in accordance with JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.JWT] and Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.Assertions].\n\n\nFor more information see: *Vcenter.Identity.Providers.Oauth2AuthenticationMethod*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "key/value pairs that are to be appended to the authEndpoint request. How to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details: If the value contains only one string, then the key is added with \"k=v\". If the value is an empty list, then the key is added without a \"=v\". If the value contains multiple strings, then the key is repeated in the query-string for each string in the value. If the map is empty, deletes all params.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + } + }, + "description": "The Vcenter.Identity.Providers.Oauth2UpdateSpec schema contains the information used to update the OAuth2 identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.OidcSummary": { + "required": [ + "auth_endpoint", + "auth_query_params", + "authentication_header", + "client_id", + "token_endpoint" + ], + "type": "object", + "properties": { + "discovery_endpoint": { + "type": "string", + "description": "Endpoint to retrieve the provider metadata\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "format": "uri" + }, + "logout_endpoint": { + "type": "string", + "description": "The endpoint to use for terminating the user's session at the identity provider. This value is automatically derived from the metadata information provided by the OIDC discovery endpoint.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "format": "uri" + }, + "auth_endpoint": { + "type": "string", + "description": "Authentication/authorization endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "token_endpoint": { + "type": "string", + "description": "Token endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "client_id": { + "type": "string", + "description": "Client identifier to connect to the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "authentication_header": { + "type": "string", + "description": "The authentication data used as part of request header to acquire or refresh an OAuth2 token. The data format depends on the authentication method used. Example of basic authentication format: Authorization: Basic [base64Encode(clientId + \":\" + secret)]\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "\n\nkey/value pairs that are to be appended to the authEndpoint request. \n\nHow to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Identity.Providers.OidcSummary schema contains commonly used information about an OIDC identity provider. OIDC is a discovery protocol for OAuth2 configuration metadata, so Vcenter.Identity.Providers.OidcSummary contains discovered OAuth2 metadata.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.OidcInfo": { + "required": [ + "auth_endpoint", + "auth_query_params", + "authentication_method", + "claim_map", + "client_id", + "client_secret", + "discovery_endpoint", + "issuer", + "public_key_uri", + "token_endpoint" + ], + "type": "object", + "properties": { + "discovery_endpoint": { + "type": "string", + "description": "Endpoint to retrieve the provider metadata\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "logout_endpoint": { + "type": "string", + "description": "The endpoint to use for terminating the user's session at the identity provider. This value is automatically derived from the metadata information provided by the OIDC discovery endpoint.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "format": "uri" + }, + "auth_endpoint": { + "type": "string", + "description": "Authentication/authorization endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "token_endpoint": { + "type": "string", + "description": "Token endpoint of the provider\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "public_key_uri": { + "type": "string", + "description": "Endpoint to retrieve the provider public key for validation\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "client_id": { + "type": "string", + "description": "Client identifier to connect to the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "client_secret": { + "type": "string", + "description": "The secret shared between the client and the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "claim_map": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "issuer": { + "type": "string", + "description": "The identity provider namespace. It is used to validate the issuer in the acquired OAuth2 token\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "authentication_method": { + "type": "string", + "description": "Authentication method used by the provider\n\nPossible values:\n - `CLIENT_SECRET_BASIC`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] using the HTTP Basic authentication scheme.\n - `CLIENT_SECRET_POST`: Clients that have received a client_secret value from the Authorization Server, authenticate with the Authorization Server in accordance with Section 3.2.1 of OAuth 2.0 [RFC6749] by including the Client Credentials in the request body.\n - `CLIENT_SECRET_JWT`: Clients that have received a client_secret value from the Authorization Server, create a JWT using an HMAC SHA algorithm, such as HMAC SHA-256. The HMAC (Hash-based Message Authentication Code) is calculated using the octets of the UTF-8 representation of the client_secret as the shared key.\n - `PRIVATE_KEY_JWT`: Clients that have registered a public key sign a JWT using that key. The client authenticates in accordance with JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.JWT] and Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants [OAuth.Assertions].\n\n\nFor more information see: *Vcenter.Identity.Providers.Oauth2AuthenticationMethod*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "auth_query_params": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "\n\nkey/value pairs that are to be appended to the authEndpoint request. \n\nHow to append to authEndpoint request: If the map is not empty, a \"?\" is added to the endpoint URL, and combination of each k and each string in the v is added with an \"&\" delimiter. Details:\n - If the value contains only one string, then the key is added with \"k=v\".\n - If the value is an empty list, then the key is added without a \"=v\".\n - If the value contains multiple strings, then the key is repeated in the query-string for each string in the value.\n\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Identity.Providers.OidcInfo schema contains information about an OIDC identity provider. OIDC is a discovery protocol for OAuth2 configuration metadata, so Vcenter.Identity.Providers.OidcInfo contains additional discovered OAuth2 metadata.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.OidcCreateSpec": { + "required": [ + "claim_map", + "client_id", + "client_secret", + "discovery_endpoint" + ], + "type": "object", + "properties": { + "discovery_endpoint": { + "type": "string", + "description": "Endpoint to retrieve the provider metadata\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "uri" + }, + "client_id": { + "type": "string", + "description": "Client identifier to connect to the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "client_secret": { + "type": "string", + "description": "The secret shared between the client and the provider\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "claim_map": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Identity.Providers.OidcCreateSpec schema contains the information used to create an OIDC identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.OidcUpdateSpec": { + "type": "object", + "properties": { + "discovery_endpoint": { + "type": "string", + "description": "Endpoint to retrieve the provider metadata\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged.", + "format": "uri" + }, + "client_id": { + "type": "string", + "description": "Client identifier to connect to the provider\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "client_secret": { + "type": "string", + "description": "The secret shared between the client and the provider\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + }, + "claim_map": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "The map used to transform an OAuth2 claim to a corresponding claim that vCenter Server understands. Currently only the key \"perms\" is supported. The key \"perms\" is used for mapping the \"perms\" claim of incoming JWT. The value is another map with an external group as the key and a vCenter Server group as value.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, leaves value unchanged." + } + }, + "description": "The Vcenter.Identity.Providers.OidcUpdateSpec schema contains the information used to update the OIDC identity provider.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Providers.ActiveDirectoryOverLdap": { + "required": [ + "groups_base_dn", + "password", + "server_endpoints", + "user_name", + "users_base_dn" + ], + "type": "object", + "properties": { + "user_name": { + "type": "string", + "description": "User name to connect to the active directory server.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "password": { + "type": "string", + "description": "Password to connect to the active directory server.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "password" + }, + "users_base_dn": { + "type": "string", + "description": "Base distinguished name for users\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "groups_base_dn": { + "type": "string", + "description": "Base distinguished name for groups\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "server_endpoints": { + "type": "array", + "description": "Active directory server endpoints. At least one active directory server endpoint must be set.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string", + "format": "uri" + } + }, + "cert_chain": { + "description": "SSL certificate chain in base64 encoding.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property can be missing or `null` only, if all the active directory server endpoints use the LDAP (not LDAPS) protocol.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.CertificateManagement.X509CertChain" + } + ] + } + }, + "description": "The Vcenter.Identity.Providers.ActiveDirectoryOverLdap schema contains the information about to how to use an Active Directory over LDAP connection to allow searching for users and groups if the identity provider is an On-Prem service.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Identity.Broker.Tenants.TokenInfo": { + "required": [ + "access_token", + "token_type" + ], + "type": "object", + "properties": { + "token_type": { + "type": "string", + "description": "The type of the token issued. The access token type provides the client with the information required to successfully utilize the access token to make a protected resource request (along with type-specific attributes). The client MUST NOT use an access token if it does not understand the token type. \n\n \"Bearer\" token type as defined in RFC 6750 is supported.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "access_token": { + "type": "string", + "description": "Tenant client access token issued by the authorization server.\n\nThis property was added in __vSphere API 8.0.1.0__." + }, + "expires_in": { + "type": "integer", + "description": "The lifetime in seconds of the access token. For example, the value \"3600\" denotes that the access token will expire in one hour from the time the response was generated.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nmissing or `null` if not applicable for issued token.", + "format": "int64" + } + }, + "description": "The Vcenter.Identity.Broker.Tenants.TokenInfo schema contains detailed information about the tenant token.\n\nThis schema was added in __vSphere API 8.0.1.0__." + }, + "Vcenter.Inventory.Datastore.Info": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `Datastore` or `StoragePod`. When operations return a value of this schema as a response, the property will be one of `Datastore` or `StoragePod`." + } + }, + "description": "The Vcenter.Inventory.Datastore.Info schema contains information about a datastore." + }, + "Vcenter.Inventory.Network.Info": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the vCenter Server network.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `Network`, `DistributedVirtualPortgroup`, or `OpaqueNetwork`. When operations return a value of this schema as a response, the property will be one of `Network`, `DistributedVirtualPortgroup`, or `OpaqueNetwork`." + } + }, + "description": "The Vcenter.Inventory.Network.Info schema contains information about a vCenter Server network." + }, + "Vcenter.Lcm.Notification": { + "required": [ + "id", + "message" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The notification id." + }, + "time": { + "type": "string", + "description": "The time the notification was raised/found.\n\nOnly if the time information is available.", + "format": "date-time" + }, + "message": { + "description": "The notification message.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "resolution": { + "description": "The resolution message, if any.\n\nOnly set for warnings and errors.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Lcm.Notification schema describes a notification that can be reported by the appliance task, which can be of type info, warning or errors." + }, + "Vcenter.Lcm.Notifications": { + "type": "object", + "properties": { + "info": { + "type": "array", + "description": "Info notification messages reported.\n\nOnly set if an info was reported by the appliance task.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Notification" + } + }, + "warnings": { + "type": "array", + "description": "Warning notification messages reported.\n\nOnly set if an warning was reported by the appliance task.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Notification" + } + }, + "errors": { + "type": "array", + "description": "Error notification messages reported.\n\nOnly set if an error was reported by the appliance task.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Notification" + } + } + }, + "description": "The Vcenter.Lcm.Notifications schema contains info/warning/error messages that can be reported be the appliance task." + }, + "Vcenter.Lcm.Reports.Token": { + "required": [ + "expiry", + "token" + ], + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "A one-time, short-lived token required in the HTTP header of the request to the url. This token needs to be passed in as a header with the name \"session-id\"." + }, + "expiry": { + "type": "string", + "description": "Expiry time of the token", + "format": "date-time" + } + }, + "description": "The Vcenter.Lcm.Reports.Token schema contains information about the token required in the HTTP GET request to generate the report." + }, + "Vcenter.Lcm.Reports.Location": { + "required": [ + "download_file_token", + "uri" + ], + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Report Download URI.", + "format": "uri" + }, + "download_file_token": { + "description": "Information about the token required in the HTTP GET request to retrieve the report", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Reports.Token" + } + ] + } + }, + "description": "The Vcenter.Lcm.Reports.Location schema contains the URI location to download the report from, as well as a token required (as a header on the HTTP request) to get the bundle. The validity of the token is 5 minutes as best attempt. After the token expires, any attempt to call the URI with said token will fail." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.SourceShutdownPolicy": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.SourceShutdownPolicy enumerated type defines when the source vCenter to be shutdown during the upgrade, if it is to be shutdown.\n\nPossible values:\n - `NO_SHUTDOWN`: The source vCenter should not be shutdown by the upgrade process. However, the vCenter services will be disabled and the network interfaces will be brought down to ensure there are no conflicts during the upgrade\n - `DURING_UPGRADE`: The source vCenter should be shutdown during the upgrade.\n - `ON_SUCCESSFUL_UPGRADE`: The source vCenter should be shutdown after successful upgrade.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "NO_SHUTDOWN", + "DURING_UPGRADE", + "ON_SUCCESSFUL_UPGRADE" + ] + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.ConnectionType": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.ConnectionType enum provides available options for how to communicate with a machine.\n\nPossible values:\n - `DIRECT`: Communicates directly with the the desired machine on a network interface.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "DIRECT" + ] + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.CancelType": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.CancelType enumerated type defines the cancel strategy that can be used on the vCenter in the case of cancellation.\n\nPossible values:\n - `CLEAN_UP`: Performs clean up on the old version vCenter. Does not result in data lost. This is the default option for the source cancellation.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "CLEAN_UP" + ] + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.PausePolicy": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.PausePolicy enum defines pause point in the upgrade workflow.The *POST /vcenter/lcm/deployment/migration-upgrade?action=apply* does not accept already passed pause points.\n\nPossible values:\n - `BEFORE_SWITCHOVER`: Instructs the upgrade workflow to stop before the switchover operation. The option cannot be set together with *Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec.start_switchover*, if such configuration is attempted will result in *Vapi.Std.Errors.InvalidArgument*. Once the pause point is reach, *POST /vcenter/lcm/deployment/migration-upgrade?action=apply* needs to be called without a pause point (or a pause point that is later in the process) to resume the upgrade. The previous pause point is BEFORE_DATA_REPLICATION. \n\n Stopping before the switchover operation means that the upgrade process will only deploy the target machine and replicate the data, but it will not do the switchover from the source to the target. The data replication continues in the background, so the downtime is minimal once the switchover is requested. \n\n During the switchover the new target vCenter takes control and the old source vCenter is decommissioned. First, the services on the old vCenter are stopped. Second, the source identity (network, certificates and passwords) is transferred to the new machine. Third, the services on the new vCenter are started. Finally post health checks and post-upgrade configurations are executed. The switchover causes downtime from the stop of the services until they are started back on the new vCenter.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "BEFORE_SWITCHOVER" + ] + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec": { + "required": [ + "deployment", + "version" + ], + "type": "object", + "properties": { + "deployment": { + "description": "Specification to describe the new appliance deployment configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.ApplianceDeploymentConfig" + } + ] + }, + "version": { + "type": "string", + "description": "Upgrade to vCSA version. The version is part of the metadata for each upgrade/update. It can be retrieved via the pending updates API. Version must be in format x.y.z.a where x - is major version number y - is minor version number z - is maintenance release number a - is patch number\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "cancellation_policy": { + "description": "Provides option to configure additional cancellation support and to enable automatic cancellation on error of the upgrade process.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\ncancellationPolicy If missing or `null` then the default support is provided - *Vcenter.Lcm.Deployment.MigrationUpgrade.CancelType.CLEAN_UP* and there is no automatic cancellation on error", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.CancellationPolicy" + } + ] + }, + "source_shutdown_policy": { + "type": "string", + "description": "Provides the ability to configure when the source vCenter should be shutdown during the upgrade.\n\nPossible values:\n - `NO_SHUTDOWN`: The source vCenter should not be shutdown by the upgrade process. However, the vCenter services will be disabled and the network interfaces will be brought down to ensure there are no conflicts during the upgrade\n - `DURING_UPGRADE`: The source vCenter should be shutdown during the upgrade.\n - `ON_SUCCESSFUL_UPGRADE`: The source vCenter should be shutdown after successful upgrade.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.MigrationUpgrade.SourceShutdownPolicy*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the source vCenter will be shutdown during the upgrade." + }, + "repository": { + "description": "Provides a configuration for a repository containing vCenter deployment packages. Overrides the repository set with *PUT /vcenter/lcm/deployment/repository* only for the upgrade being initialized.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the configured *Vcenter.Lcm.Deployment.Repository* is used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Repository.Spec" + } + ] + }, + "post_upgrade_configuration_policy": { + "description": "Provides post upgrade configuration options like source VM name preservation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no additional post upgrade configuration will be done", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.PostUpgradeConfigurationPolicy" + } + ] + }, + "vcha_spec": { + "description": "Provides VMware vCenter High Availability (VCHA) related upgrade configuration. Not needed for when VCHA is automatically configured. However, in the cases of VCHA with manual setup, vCenter containers connection information has to be provided in order to recreate Passive and Witness nodes in the same location as before upgrade.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` in manual VCHA setups, the upgrade process disables VCHA on the target machine. It is expected to manually recreate passive and witness nodes and enable back VCHA post-upgrade. In this case pre-upgrade nodes will remain powered off but not deleted; it is recommended to remove these to optimize storage usage. For auto VCHA setups this option will be ignored.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.VchaSpec" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec schema contains parameters used for initialization of the migration upgrade.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.VchaSpec": { + "required": [ + "passive_node_container", + "witness_node_container" + ], + "type": "object", + "properties": { + "passive_node_container": { + "description": "Specifies connection to vCenter instance where passive node resides and will be recreated after successful upgrade.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.Connection" + } + ] + }, + "witness_node_container": { + "description": "Specifies connection to vCenter instance where witness node resides and will be recreated after successful upgrade.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.Connection" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.VchaSpec schema specifies the VMware vCenter High Availability (VCHA) configuration required for upgrading vCenter with manually configured VCHA. It details the vCenter container locations for cloning Passive and Witness nodes post-upgrade, ensuring they are recreated in the same locations as before the upgrade. \n\n Note: This configuration does not support standalone ESX instances. For such setups, users are required to manually recreate Passive and Witness nodes on the respective ESX instances and then re-enable VCHA on the upgraded system.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.PostUpgradeConfigurationPolicy": { + "type": "object", + "properties": { + "rename_vm_policy": { + "description": "Provides options to preserve the original VM name as part of the upgrade, and to change the old vCenter VM name.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the VM name will be left as they are.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.RenameVmPolicy" + } + ] + }, + "delete_vm_policy": { + "description": "Provides the ability to delete the source vCenter VM after upgrade.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the source VM will not be deleted.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.DeleteVmPolicy" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.PostUpgradeConfigurationPolicy schema contains configuration information to be applied on successful upgrade.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.RenameVmPolicy": { + "required": [ + "preserve_original_vm_name" + ], + "type": "object", + "properties": { + "preserve_original_vm_name": { + "type": "boolean", + "description": "Instructs the upgrade to preserve the old vCenter VM name on the new vCenter. In the process the old vCenter VM name will also be changed. Use oldVcenterName if you want to set it to a non-default name.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "old_vcenter_name": { + "type": "string", + "description": "Allows changing the old vCenter VM name post upgrade. When the old VC VM name is preserved on new VC, the original VM itself needs to be renamed to avoid name collision with the new version.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` and preserveOriginalVmName is set to False the name of the original vCenter will be left as is. If missing or `null` and preserveOriginalVmName is set to True the name will be changed to the old name appended with -old-." + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.RenameVmPolicy schema instructs the upgrade to preserve the original vCenter VM name on successful upgrade and allows changing the old vCenter VM name. The upgrade needs access to the container managing the old vCenter VM - either provide *Vcenter.Lcm.Deployment.Common.ApplianceDeploymentConfig.source_container* or ensure that the environment is self managed. Otherwise, the upgrade process validation will fail if this option is used.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.DeleteVmPolicy": { + "required": [ + "source_vc" + ], + "type": "object", + "properties": { + "source_vc": { + "type": "boolean", + "description": "Provides the ability to delete the source vCenter VM on a successful upgrade. This is executed immediately before successful upgrade is declared and the source machine will not be usable as a backup afterwards. Any failures during the deletion will be reported as warnings and will not break the upgrade.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.DeleteVmPolicy schema is used to instruct the upgrade process to delete the source vCenter VM on a successful upgrade. \n\n To use this provide the container managing the source vCenter by setting *Vcenter.Lcm.Deployment.Common.ApplianceDeploymentConfig.source_container* in *Vcenter.Lcm.Deployment.MigrationUpgrade.InitSpec.deployment* or ensure the source vCenter is self-managed. The upgrade process will be prevented to start without such access, if this option is used.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.PrecheckResult": { + "required": [ + "id", + "state" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the precheck\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "state": { + "type": "string", + "description": "*Vcenter.Lcm.Deployment.Common.PrecheckState* PrecheckState of precheck at the time of getting the status.\n\nPossible values:\n - `NOT_EXECUTED`: Precheck is not executed yet\n - `EXECUTED`: Precheck is executed\n - `SKIPPED`: Precheck is skipped\n - `DISABLED`: Precheck is disabled\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.PrecheckState*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "notifications": { + "description": "Notifications - List of Info, Errors and Warnings message encountered while running precheck.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` there was no notification generated while executing precheck.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Notifications" + } + ] + }, + "error": { + "type": "object", + "description": "Description of the fatal error which occurred during precheck (with id) execution which prevented the precheck process to continue. For example: \"Failed to load a library\" \"Service crash\" etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` there was no error that prevented the execution of the checks." + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.PrecheckResult schema describes the result of a single precheck execution.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.ValidationResult": { + "type": "object", + "properties": { + "notifications": { + "description": "Lists of the information messages, issues and warnings regarding the specified upgrade version. It contains summarized information from the individual prechecks.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nnotifications Only set when there are notifications raised from any of the individual prechecks", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Notifications" + } + ] + }, + "details": { + "type": "array", + "description": "List of individual prechecks executed as part of the precheck request.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\ndetails Only set for versions that support fine-grain precheck reporting", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.PrecheckResult" + } + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.ValidationResult schema contains validation information for a given upgrade\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.SourceConnection": { + "required": [ + "connection_type" + ], + "type": "object", + "properties": { + "connection_type": { + "type": "string", + "description": "What type of communication is to be done. The *Vcenter.Lcm.Deployment.MigrationUpgrade.ConnectionType.DIRECT* cannot be used together with *Vcenter.Lcm.Deployment.MigrationUpgrade.SourceShutdownPolicy.DURING_UPGRADE*.\n\nPossible values:\n - `DIRECT`: Communicates directly with the the desired machine on a network interface.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.MigrationUpgrade.ConnectionType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.SourceConnection class provides the needed parameters for the target vCenter to talk with the source vCenter when there is such need.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.CancellationPolicy": { + "type": "object", + "properties": { + "automatic": { + "type": "boolean", + "description": "Indicates that the upgrade should be automatically cancelled on error.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the system will not trigger cancel workflow on error and will wait for additional input." + }, + "method": { + "type": "array", + "description": "Indicates which cancel methods to be used during the upgrade on the source vCenter.\n\nPossible values:\n - `CLEAN_UP`: Performs clean up on the old version vCenter. Does not result in data lost. This is the default option for the source cancellation.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.MigrationUpgrade.CancelType*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` only the default method is used - *Vcenter.Lcm.Deployment.MigrationUpgrade.CancelType.CLEAN_UP*.", + "items": { + "type": "string" + } + }, + "source_connection": { + "description": "Indicates how to communicate with the source vCenter from the target vCenter if needed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the system will only stop the upgrade on the target vCenter but it would not put the source vCenter in operational state, once the *POST /vcenter/lcm/deployment/migration-upgrade?action=cancel* is called post switchover from source to target vCenter.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.SourceConnection" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.CancellationPolicy schema defines the configuration for the upgrade cancellation policy. Some options require specific handling during the upgrade thus they need to be known in advance.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec": { + "type": "object", + "properties": { + "pause": { + "type": "string", + "description": "Allows the upgrade to be stopped at predefine points of the process. For more information about the available pause options check *Vcenter.Lcm.Deployment.MigrationUpgrade.PausePolicy*.\n\nPossible values:\n - `BEFORE_SWITCHOVER`: Instructs the upgrade workflow to stop before the switchover operation. The option cannot be set together with *Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec.start_switchover*, if such configuration is attempted will result in *Vapi.Std.Errors.InvalidArgument*. Once the pause point is reach, *POST /vcenter/lcm/deployment/migration-upgrade?action=apply* needs to be called without a pause point (or a pause point that is later in the process) to resume the upgrade. The previous pause point is BEFORE_DATA_REPLICATION. \n\n Stopping before the switchover operation means that the upgrade process will only deploy the target machine and replicate the data, but it will not do the switchover from the source to the target. The data replication continues in the background, so the downtime is minimal once the switchover is requested. \n\n During the switchover the new target vCenter takes control and the old source vCenter is decommissioned. First, the services on the old vCenter are stopped. Second, the source identity (network, certificates and passwords) is transferred to the new machine. Third, the services on the new vCenter are started. Finally post health checks and post-upgrade configurations are executed. The switchover causes downtime from the stop of the services until they are started back on the new vCenter.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.MigrationUpgrade.PausePolicy*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the upgrade process will complete without stopping." + }, + "start_switchover": { + "type": "string", + "description": "Instructs the upgrade process to start the switchover operation after the given time. If the upgrade process is not ready for the switchover at the given time and end switchover is not provided the upgrade will wait for the preparation to complete to start the switchover thus resulting in the shortest possible switchover duration. The option cannot be set if *Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec.pause* is set with value *Vcenter.Lcm.Deployment.MigrationUpgrade.PausePolicy.BEFORE_SWITCHOVER*, if such configuration is attempted will result in *Vapi.Std.Errors.InvalidArgument*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the upgrade process will execute the switchover operation as soon as possible.", + "format": "date-time" + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec class provides the *POST /vcenter/lcm/deployment/migration-upgrade?action=apply* configuration. It allows configurations such as stopping at specific points of the upgrade or to configure a time window for the switchover. For more information about the upgrade process refer to *POST /vcenter/lcm/deployment/migration-upgrade?action=apply*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Repository.Spec": { + "required": [ + "address" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The address of the repository.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "uri" + }, + "username": { + "type": "string", + "description": "The username used to authenticate with the repository,\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nOnly set, when the repository requires authentication." + }, + "password": { + "type": "string", + "description": "The password used to authenticate with the repository,\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nOnly set, when the repository requires authentication.", + "format": "password" + }, + "ssl_verify": { + "type": "boolean", + "description": "A flag to indicate whether SSL verification is required for the Repository location.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` defaults to True" + }, + "certificate": { + "type": "string", + "description": "Certificate to verify the SSL Repository location. The value should be the x509 leaf certificate encoded in PEM format. \n - If ssl_verify is true and this field is omitted, a CA based validation will be used.\n - If ssl_verify is true and this field is provided, it will be used for SSL validation.\n \n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf set will be used for SSL validation." + } + }, + "description": "The Vcenter.Lcm.Deployment.Repository.Spec schema contains the repository configuration parameters.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Repository.Info": { + "required": [ + "address" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The address of the repository.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "uri" + }, + "username": { + "type": "string", + "description": "The username used to authenticate with the repository,\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nOnly set, when the repository requires authentication." + }, + "ssl_verify": { + "type": "boolean", + "description": "A flag to indicate whether SSL verification is required for the Repository location.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` defaults to True" + }, + "certificate": { + "type": "string", + "description": "Certificate to verify the SSL Repository location. The value should be the x509 leaf certificate encoded in PEM format. \n - If ssl_verify is true and this field is omitted, a CA based validation will be used.\n - If ssl_verify is true and this field is provided, it will be used for SSL validation.\n \n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf set will be used for SSL validation." + } + }, + "description": "The Vcenter.Lcm.Deployment.Repository.Info schema contains the repository configuration information.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.ApplianceSize": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.Common.ApplianceSize enumerated type defines the size of the appliance (CPU and memory) to be deployed.\n\nPossible values:\n - `TINY`: Appliance size of 'tiny'.\n - `SMALL`: Appliance size of 'small'.\n - `MEDIUM`: Appliance size of 'medium'.\n - `LARGE`: Appliance size of 'large',\n - `XLARGE`: Appliance size of 'extra large'.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "TINY", + "SMALL", + "MEDIUM", + "LARGE", + "XLARGE" + ] + }, + "Vcenter.Lcm.Deployment.Common.StorageSize": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.Common.StorageSize enumerated type defines the storage size of the appliance to be deployed.\n\nPossible values:\n - `REGULAR`: Regular storage\n - `LARGE`: Large storage\n - `XLARGE`: Extra large storage\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "REGULAR", + "LARGE", + "XLARGE" + ] + }, + "Vcenter.Lcm.Deployment.Common.AllocateResource": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.Common.AllocateResource enumerated type defines when to allocate resource to the target VM. See *Vcenter.Lcm.Deployment.Common.ResourceAllocationInfo*\n\nPossible values:\n - `ON_DEPLOYMENT`: On deployment of a new VM allocate the resource.\n - `ON_SUCCESSFUL_UPGRADE`: On successful upgrade of the VC allocate the resource to the VM deployed as part of the upgrade.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "ON_DEPLOYMENT", + "ON_SUCCESSFUL_UPGRADE" + ] + }, + "Vcenter.Lcm.Deployment.Common.HashAlgorithm": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.Common.HashAlgorithm enumerated type defines the valid hash algorithms.\n\nPossible values:\n - `SHA256`: Hash algorithm: SHA-256\n - `SHA512`: Hash algorithm: SHA-512\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SHA256", + "SHA512" + ] + }, + "Vcenter.Lcm.Deployment.Common.Perspective": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.Common.Perspective enumerated type defines perspectives which are supported/used by SDDC manager to trigger the set of prechecks.\n\nPossible values:\n - `GENERAL_UPGRADE_READINESS`: General upgrade readiness perspective defines the general readiness of the appliance any time regardless of upgrade being planned.\n - `UPGRADE_PLANNING`: Planning perspective defines the phase where planning for the upgrade is being done.\n - `UPGRADE_COMMIT`: Commit perspective defines the phase when the upgrade has been planned already and now is the time to dry run the upgrade.\n - `UPGRADE_REALIZE_PRE_FLIGHT`: Preflight perspective is the phase before the upgrade starts.\n - `UPGRADE_REALIZE_POST_FLIGHT`: Post flight perspective is the phase after the upgrade successfully completes.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "GENERAL_UPGRADE_READINESS", + "UPGRADE_PLANNING", + "UPGRADE_COMMIT", + "UPGRADE_REALIZE_PRE_FLIGHT", + "UPGRADE_REALIZE_POST_FLIGHT" + ] + }, + "Vcenter.Lcm.Deployment.Common.PrecheckState": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.Common.PrecheckState enumerated type defines the state values that can be reported by the precheck result for the individual precheck.\n\nPossible values:\n - `NOT_EXECUTED`: Precheck is not executed yet\n - `EXECUTED`: Precheck is executed\n - `SKIPPED`: Precheck is skipped\n - `DISABLED`: Precheck is disabled\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NOT_EXECUTED", + "EXECUTED", + "SKIPPED", + "DISABLED" + ] + }, + "Vcenter.Lcm.Deployment.Common.Status": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.Common.Status enumerated type defines the status values that can be reported by the upgrade process.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n - `CANCELED`: The operation was canceled.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "PENDING", + "RUNNING", + "BLOCKED", + "SUCCEEDED", + "FAILED", + "CANCELED" + ] + }, + "Vcenter.Lcm.Deployment.Common.Network": { + "required": [ + "mode" + ], + "type": "object", + "properties": { + "ip_family": { + "type": "string", + "description": "Network IP address family.\n\nPossible values:\n - `IPV4`: IPv4 Type of IP address.\n - `IPV6`: IPv6 Type of IP address.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.Network.IpType*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` defaults to IPv4" + }, + "mode": { + "type": "string", + "description": "Network mode.\n\nPossible values:\n - `DHCP`: DHCP mode.\n - `STATIC`: Static IP mode.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.Network.NetworkMode*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "ip": { + "type": "string", + "description": "Network IP address. Required for static mode only.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of mode is *Vcenter.Lcm.Deployment.Common.Network.NetworkMode.STATIC*." + }, + "dns_servers": { + "type": "array", + "description": "A comma-separated list of IP addresses of DNS servers.Required for static mode only. A JSON array such as [\"1.2.3.4\", \"127.0.0.1\"]. The DNS servers must be reachable from the source appliance and only the first two will be used.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of mode is *Vcenter.Lcm.Deployment.Common.Network.NetworkMode.STATIC*.", + "items": { + "type": "string" + } + }, + "prefix": { + "type": "integer", + "description": "Network prefix length. Required for static mode only. This is the number of bits set in the subnet mask; for instance, if the subnet mask is 255.255.255.0, there are 24 bits in the binary version of the subnet mask, so the prefix length is 24. If used, the values must be in the inclusive range of 0 to 32 for IPv4 and 0 to 128 for IPv6.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of mode is *Vcenter.Lcm.Deployment.Common.Network.NetworkMode.STATIC*.", + "format": "int64" + }, + "gateway": { + "type": "string", + "description": "Gateway of the network. Required for static mode only.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of mode is *Vcenter.Lcm.Deployment.Common.Network.NetworkMode.STATIC*." + }, + "hostname": { + "type": "string", + "description": "Primary network identity. Can be either an IP address or a fully qualified domain name(FQDN).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nhostname may not be applicable" + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.Network schema defines the network configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.Network.IpType": { + "type": "string", + "description": "Network IP address family.\n\nPossible values:\n - `IPV4`: IPv4 Type of IP address.\n - `IPV6`: IPv6 Type of IP address.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "Vcenter.Lcm.Deployment.Common.Network.NetworkMode": { + "type": "string", + "description": "Network mode.\n\nPossible values:\n - `DHCP`: DHCP mode.\n - `STATIC`: Static IP mode.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "DHCP", + "STATIC" + ] + }, + "Vcenter.Lcm.Deployment.Common.ResourceAllocationInfo": { + "required": [ + "reservation" + ], + "type": "object", + "properties": { + "reservation": { + "type": "integer", + "description": "Amount of resource that is guaranteed available to the virtual machine. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "allocate": { + "type": "string", + "description": "Possible values:\n - `ON_DEPLOYMENT`: On deployment of a new VM allocate the resource.\n - `ON_SUCCESSFUL_UPGRADE`: On successful upgrade of the VC allocate the resource to the VM deployed as part of the upgrade.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.AllocateResource*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` will allocate resource at VM deployment." + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.ResourceAllocationInfo schema contains resource allocation information for a VM.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.OvaInfo": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The location of the OVA file for installation. It can be web URL or absolute filepath i.e https://server.com/appliance.ova or file://storage/appliance.ova\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "uri" + }, + "ssl_verify": { + "type": "boolean", + "description": "A flag to indicate whether SSL verification is required for the ova location.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` defaults to True" + }, + "ova_checksum": { + "type": "string", + "description": "Checksum to validate the OVA file.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf set will be used for checksum validation of the ova file on the vCenter." + }, + "ova_checksum_algorithm": { + "type": "string", + "description": "The hash algorithm (HashAlgorithm) used to calculate the checksum.\n\nPossible values:\n - `SHA256`: Hash algorithm: SHA-256\n - `SHA512`: Hash algorithm: SHA-512\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.HashAlgorithm*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf not specified the default checksum algorithm is *Vcenter.Lcm.Deployment.Common.HashAlgorithm.SH_a256*." + }, + "certificate": { + "type": "string", + "description": "Certificate to verify the SSL OVA location. The value should be the x509 leaf certificate encoded in PEM format. \n - If ssl_verify is true and this field is omitted. a CA based validation will be used.\n - If ssl_verify is true and this field is provided will be used for SSL validation.\n \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf set will be used for SSL validation." + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.OvaInfo schema defines the OVA file location info to be used by the lifecycle service.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.ApplianceDeployment": { + "required": [ + "root_password" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The VM name of the appliance to deploy.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf name is not specified, default VM name will be used with following format: vcenter-upgrade-[upgrade-uuid]." + }, + "size": { + "type": "string", + "description": "A size descriptor based on the number of virtual machines which will be managed by the new vCenter appliance.\n\nPossible values:\n - `TINY`: Appliance size of 'tiny'.\n - `SMALL`: Appliance size of 'small'.\n - `MEDIUM`: Appliance size of 'medium'.\n - `LARGE`: Appliance size of 'large',\n - `XLARGE`: Appliance size of 'extra large'.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.ApplianceSize*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf size is not provided, will use the size of the source VCSA" + }, + "thin_disk_mode": { + "type": "boolean", + "description": "Whether to deploy the appliance with thin mode virtual disks.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the source vCenter disk deployment will be tried. If there is no information provided for the source container a default value of thin deployment will be set." + }, + "disk_size": { + "type": "string", + "description": "The disk size of the new vCenter appliance.\n\nPossible values:\n - `REGULAR`: Regular storage\n - `LARGE`: Large storage\n - `XLARGE`: Extra large storage\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.StorageSize*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf disk_size is not provided, will use the diskSize of the source VCSA." + }, + "root_password": { + "type": "string", + "description": "A root password to be used for that appliance. During migration upgrade it is only temporary passwords. It must conform to the following requirements: \n - At least 8 characters.\n - No more than 20 characters.\n - At least 1 uppercase character.\n - At least 1 lowercase character.\n - At least 1 number.\n - At least 1 special character (e.g., '!', '(', '@', etc.).\n - Only visible A-Z, a-z, 0-9 and punctuation (spaces are not allowed)\n \n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "password" + }, + "network_settings": { + "description": "The network settings of the appliance to be deployed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the appliance will be deployed with an automatically selected link-local address.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.Network" + } + ] + }, + "ova_info": { + "description": "Custom location of the OVA for deployment.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` use the OVA file for the desired version in the configured repository.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.OvaInfo" + } + ] + }, + "ceip_enabled": { + "type": "boolean", + "description": "This key describes the enabling option for the VMware's Customer Experience Improvement Program (CEIP).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to True" + }, + "cpu_allocation": { + "description": "Resource allocation information of CPU.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` will deploy the appliance with no cpu reservation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.ResourceAllocationInfo" + } + ] + }, + "memory_allocation": { + "description": "Resource allocation information of Memory\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` will deploy the appliance with no memory reservation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.ResourceAllocationInfo" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.ApplianceDeployment schema describes the new appliance deployment configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.Connection": { + "required": [ + "hostname", + "password", + "username" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the ESX/VC host. If a DNS resolvable name is provided, it must be resolvable from the source appliance.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "username": { + "type": "string", + "description": "A username with administrative privileges on the ESX/VC host.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "password": { + "type": "string", + "description": "The password of the *Vcenter.Lcm.Deployment.Common.Connection.username* on the ESX/VC host.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "password" + }, + "https_port": { + "type": "integer", + "description": "The port number for the ESX/VC.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to 443", + "format": "int64" + }, + "ssl_verify": { + "type": "boolean", + "description": "A flag to indicate whether the ssl verification is required.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to True" + }, + "certificate": { + "type": "string", + "description": "Certificate to verify the target host location. The value should be the x509 leaf certificate encoded in PEM format. Only if ssl_verify is true and this field is provided will be used for SSL validation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf set will be used for SSL validation." + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.Connection schema contains information used to connect to a vCenter or ESXi.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.EsxPlacementConfig": { + "required": [ + "datastore_name" + ], + "type": "object", + "properties": { + "datastore_name": { + "type": "string", + "description": "The datastore on which to store the files of the appliance. This value has to be either a specific datastore name, or a specific datastore in a datastore cluster. The datastore must be accessible from the ESX host.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "network_name": { + "type": "string", + "description": "The network of the ESX host to which the new appliance should connect. Omit this parameter if the ESX host has one network.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` and there is only one network configured, it will be used." + }, + "resource_pool_path": { + "type": "string", + "description": "The path to the resource pool on the ESX host in which the appliance will be deployed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nNot applicable when not in resource pool" + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.EsxPlacementConfig schema contains configuration of ESX placement of the target appliance.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.StoragePolicySpec": { + "required": [ + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the storage policy which should be associated with the virtual machine.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.StoragePolicySpec schema contains information about the storage policy to be associated with a virtual machine object.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.VcPlacementConfig": { + "type": "object", + "properties": { + "vm_folder_path": { + "type": "string", + "description": "Absolute path of the VM folder. VM folder must be visible by the Data Center of the compute resourceFormat:/{dc}/{vm_folder1}/{vm_folder2}e.g.:'/DCenter/VM Folder 0/VM Folder1'.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the default VM folder of the Datacenter will be used." + }, + "resource_pool_path": { + "type": "string", + "description": "Absolute path to resource pool. Format: /{datacenter folder}/{datacenter name}/host/{host name}/{cluster_name}/Resources/{resource pool}. e.g: Your Datacenter Folder/Your Datacenter/host/Your Cluster/Resources/Your Resource Pool\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nMutually exclusive between resource_pool_path, cluster_path, and host_path" + }, + "cluster_path": { + "type": "string", + "description": "Absolute path to the cluster. Format: /{datacenter folder}/{datacenter name}/host/{cluster_name}. e.g: /Your Datacenter Folder/Your Datacenter/host/Your Cluster\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nMutually exclusive between resource_pool_path, cluster_path, and host_path" + }, + "host_path": { + "type": "string", + "description": "Absolute path of the ESX host (FQDN/IP) in the vCenter inventory tree.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nMutually exclusive between resource_pool_path, cluster_path, and host_path" + }, + "datastore_name": { + "type": "string", + "description": "The datastore on which to store the files of the appliance. This value has to be either a specific datastore name, or a specific datastore in a datastore cluster. The datastore must have the space defined as appliance storage size.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nMutually exclusive between datastore_name and datastore_cluster_name" + }, + "datastore_cluster_name": { + "type": "string", + "description": "The datastore cluster on which to store the files of the appliance. The datastore cluster must have the space defined as appliance storage size.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nMutually exclusive between datastore_name and datastore_cluster_name" + }, + "network_name": { + "type": "string", + "description": "Name of the network. e.g. VM Network\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the target appliance will be deployed on the same network as current vCenter. If current vCenter is not self managed and source container is not specified, upgrade initialization will fail." + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.VcPlacementConfig schema contains configuration of VC placement of the target appliance.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.Esx": { + "required": [ + "connection", + "placement_config" + ], + "type": "object", + "properties": { + "connection": { + "description": "The configuration to connect to an ESX/VC.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.Connection" + } + ] + }, + "placement_config": { + "description": "The location of the new version of the vCSA on the desired ESX.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.EsxPlacementConfig" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.Esx schema contains ESX configuration that should be used for deployment.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.VCenter": { + "required": [ + "placement_config" + ], + "type": "object", + "properties": { + "connection": { + "description": "The configuration to connect to a VCenter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the target appliance will be deployed on the location specified in *Vcenter.Lcm.Deployment.Common.VCenter.placement_config* on the current vCenter.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.Connection" + } + ] + }, + "placement_config": { + "description": "The location of the new version of the vCSA on the desired vCenter. \n\n All names are case-sensitive. you can install the appliance to one of the following destinations: 1. A resource pool in a cluster, use 'cluster_path'. 2. A specific ESX host in a cluster, use 'host_path'. 3. A resource pool in a specific ESX host being managed by the current vCenter, use 'resource_pool_path'. 4. To install a new appliance to a specific ESX host in a cluster, provide the 'host_path' key, and the 'datastore_name', e.g. 'host_path': '/MyDataCenter/host/MyCluster/10.20.30.40', 'datastore_name': 'Your Datastore'. 5. To install a new appliance to a specific resource pool, provide the 'resource_pool_path', and the 'datastore_name', e.g. 'resource_pool_path': '/Your Datacenter Folder/Your Datacenter/host/Your Cluster/Resources/Your Resource Pool', 'datastore_name': 'Your Datastore'. 6. To place a new appliance to a virtual machine Folder, provide the 'vm_folder_path', e.g. vm_folder_path': 'VM Folder 0/VM Folder1'.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.VcPlacementConfig" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.VCenter schema contains VC configuration that should be used for deployment.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.Location": { + "type": "object", + "properties": { + "esx": { + "description": "This section describes the ESX host on which to deploy the appliance. Required if you are deploying the appliance directly on an ESX host.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nMutual exclusive between esx and vcenter", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.Esx" + } + ] + }, + "vcenter": { + "description": "This subsection describes the vCenter on which to deploy the appliance.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nMutual exclusive between esx and vcenter", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.VCenter" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.Location schema contains configuration of appliance location.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.ApplianceDeploymentConfig": { + "required": [ + "appliance" + ], + "type": "object", + "properties": { + "source_container": { + "description": "A connection to container, which hosts the source appliance. This connection information is required for automatically extracting and preserving VM configuration during deployment, e.g. Virtual Ethernet Cards. If either the current vCenter is self managed or the VM configuration is not necessary to be preserved during deployment this field might be omitted.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nNot required if the current VCenter is self managed. Otherwise if not set VM configuration won't be preserved.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.Connection" + } + ] + }, + "appliance": { + "description": "Description of the new appliance configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.ApplianceDeployment" + } + ] + }, + "location": { + "description": "ESX or VC on which to deploy the appliance.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the target appliance will be deployed on the same location as current vCenter. If current vCenter is not self managed and source container is not specified, upgrade initialization will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.Common.Location" + } + ] + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.ApplianceDeploymentConfig schema contains the new appliance deployment configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.CommonPrecheckResult": { + "required": [ + "id", + "state" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the precheck\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "state": { + "type": "string", + "description": "*Vcenter.Lcm.Deployment.Common.PrecheckState* PrecheckState of precheck at the time of getting the status.\n\nPossible values:\n - `NOT_EXECUTED`: Precheck is not executed yet\n - `EXECUTED`: Precheck is executed\n - `SKIPPED`: Precheck is skipped\n - `DISABLED`: Precheck is disabled\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.PrecheckState*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "notifications": { + "description": "Notifications - List of Info, Errors and Warnings message encountered while running precheck.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` there was no notification generated while executing precheck.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Notifications" + } + ] + }, + "error": { + "type": "object", + "description": "Description of the fatal error which occurred during precheck (with id) execution which prevented the precheck process to continue. For example: \"Failed to load a library\" \"Service crash\" etc.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` there was no error that prevented the execution of the checks." + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.CommonPrecheckResult schema describes the common between different frameworks result of a single precheck execution.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Deployment.Common.CommonInfo": { + "required": [ + "cancelable", + "description", + "status" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n - `CANCELED`: The operation was canceled.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\" or the upgrade has been canceled.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` there is no error raised by the upgrade" + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Vcenter.Lcm.Deployment.Common.Status.RUNNING*, *Vcenter.Lcm.Deployment.Common.Status.BLOCKED*, *Vcenter.Lcm.Deployment.Common.Status.SUCCEEDED*, *Vcenter.Lcm.Deployment.Common.Status.FAILED*, or *Vcenter.Lcm.Deployment.Common.Status.CANCELED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Vcenter.Lcm.Deployment.Common.Status.SUCCEEDED*, *Vcenter.Lcm.Deployment.Common.Status.FAILED*, or *Vcenter.Lcm.Deployment.Common.Status.CANCELED*.", + "format": "date-time" + } + }, + "description": "The Vcenter.Lcm.Deployment.Common.CommonInfo schema contains information common to all tasks.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Expected": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Expected enumerated type defines the vCenter RDU planned downtime.\n\nPossible values:\n - `YES`: Downtime is scheduled and expected to start in the given timeframe. Downtime means new operations would not be accepted and ongoing operations would be interrupted.\n - `NO`: No scheduled downtime and no planned downtime expected in the given timeframe.\n - `UNKNOWN`: Downtime is not scheduled, but upgrade is in progress. Downtime is expected after the *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.State.PREPARED* state, but exact time can not be estimated. It could happen within minutes, hours, or possibly days. A time critical operation could proceed with execution, but there is no guarantee that downtime will not interrupt it. Operations that should not be interrupted, should better wait unil they receive *Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Expected.NO*, meaning it is safe to start workload.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "YES", + "NO", + "UNKNOWN" + ] + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Info": { + "required": [ + "expected" + ], + "type": "object", + "properties": { + "expected": { + "type": "string", + "description": "The planned downtime expectations.\n\nPossible values:\n - `YES`: Downtime is scheduled and expected to start in the given timeframe. Downtime means new operations would not be accepted and ongoing operations would be interrupted.\n - `NO`: No scheduled downtime and no planned downtime expected in the given timeframe.\n - `UNKNOWN`: Downtime is not scheduled, but upgrade is in progress. Downtime is expected after the *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.State.PREPARED* state, but exact time can not be estimated. It could happen within minutes, hours, or possibly days. A time critical operation could proceed with execution, but there is no guarantee that downtime will not interrupt it. Operations that should not be interrupted, should better wait unil they receive *Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Expected.NO*, meaning it is safe to start workload.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Expected*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.PlannedDowntime.Info schema contains information about planned downtime expectations for the RDU upgrade.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.Status.State": { + "type": "string", + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.Status.State enumerated type defines the various states of the migration upgrade process.\n\nPossible values:\n - `INITIALIZING`: The upgrade process is initializing with the defined migration configuration.\n - `INITIALIZED`: The upgrade process is successfully initialized with the defined migration configuration.\n - `STAGING`: The upgrade process is downloading or deploying the new target appliance version.\n - `STAGED`: The upgrade process deployed the new version and is ready for the next step of the process.\n - `PREPARING`: The upgrade process is replicating the source data to the newly deployed target vCenter.\n - `PREPARED`: The upgrade process has prepared the source vCenter for switchover. Most of the data has been replicated and the remaining part will be replicated during the switchover. There will be only some small delta of the data for replication during switchover and thus it is expected the switchover to be as fast as possible.\n - `SWITCHOVER`: The upgrade process is switching from the source to the target vCenter. This includes disabling the source vCenter (stop and disable services and network adapters), powering it off if requested, migrating the network identity, and starting the services on the target vCenter.\n - `UPGRADED`: The upgrade process promoted the target appliance successfully and the vCenter is successfully running on the new version.\n - `CANCELING`: The upgrade process is canceling. In this state the source vCenter is being reverted to the state as it was before the start of the upgrade process.\n - `CANCELED`: The upgrade has been canceled.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "INITIALIZING", + "INITIALIZED", + "STAGING", + "STAGED", + "PREPARING", + "PREPARED", + "SWITCHOVER", + "UPGRADED", + "CANCELING", + "CANCELED" + ] + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Task": { + "required": [ + "cancelable", + "description", + "status" + ], + "type": "object", + "properties": { + "progress": { + "description": "The progress info of this deployment task.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Vcenter.Lcm.Deployment.Common.Status.RUNNING*, *Vcenter.Lcm.Deployment.Common.Status.BLOCKED*, *Vcenter.Lcm.Deployment.Common.Status.SUCCEEDED*, *Vcenter.Lcm.Deployment.Common.Status.FAILED*, or *Vcenter.Lcm.Deployment.Common.Status.CANCELED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "notifications": { + "description": "Result of the task.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if result is not available at the current step of the task.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Notifications" + } + ] + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n - `CANCELED`: The operation was canceled.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\" or the upgrade has been canceled.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` there is no error raised by the upgrade" + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Vcenter.Lcm.Deployment.Common.Status.RUNNING*, *Vcenter.Lcm.Deployment.Common.Status.BLOCKED*, *Vcenter.Lcm.Deployment.Common.Status.SUCCEEDED*, *Vcenter.Lcm.Deployment.Common.Status.FAILED*, or *Vcenter.Lcm.Deployment.Common.Status.CANCELED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Vcenter.Lcm.Deployment.Common.Status.SUCCEEDED*, *Vcenter.Lcm.Deployment.Common.Status.FAILED*, or *Vcenter.Lcm.Deployment.Common.Status.CANCELED*.", + "format": "date-time" + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Task schema contains properties to describe a particular deployment task.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.Status.UpgradeInfo": { + "required": [ + "remaining_replication_data" + ], + "type": "object", + "properties": { + "upgrade_to": { + "type": "string", + "description": "Indicates to which version the upgrade is being executed or was executed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the upgrade process was not initialized." + }, + "start_switchover": { + "type": "string", + "description": "Determines if the upgrade process will start the switchover at a specific time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the upgrade process will execute the switchover operation without a delay, once the replication is almost done and the upgrade can be executed with the least possible downtime.", + "format": "date-time" + }, + "pause": { + "type": "string", + "description": "Determines if the upgrade process is set to pause at a specific point.\n\nPossible values:\n - `BEFORE_SWITCHOVER`: Instructs the upgrade workflow to stop before the switchover operation. The option cannot be set together with *Vcenter.Lcm.Deployment.MigrationUpgrade.ApplySpec.start_switchover*, if such configuration is attempted will result in *Vapi.Std.Errors.InvalidArgument*. Once the pause point is reach, *POST /vcenter/lcm/deployment/migration-upgrade?action=apply* needs to be called without a pause point (or a pause point that is later in the process) to resume the upgrade. The previous pause point is BEFORE_DATA_REPLICATION. \n\n Stopping before the switchover operation means that the upgrade process will only deploy the target machine and replicate the data, but it will not do the switchover from the source to the target. The data replication continues in the background, so the downtime is minimal once the switchover is requested. \n\n During the switchover the new target vCenter takes control and the old source vCenter is decommissioned. First, the services on the old vCenter are stopped. Second, the source identity (network, certificates and passwords) is transferred to the new machine. Third, the services on the new vCenter are started. Finally post health checks and post-upgrade configurations are executed. The switchover causes downtime from the stop of the services until they are started back on the new vCenter.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.MigrationUpgrade.PausePolicy*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the upgrade is not configured to pause." + }, + "error": { + "type": "object", + "description": "Description of the error that cause the upgrade to fail. In case of resume the error is removed. However, in case of cancel the error here is left for historical reasons only.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the upgrade did not raise any errors." + }, + "remaining_replication_data": { + "type": "integer", + "description": "The size of the data (in MB) that is left to be replicated from the source vCenter to the target vCenter.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "identifier": { + "type": "string", + "description": "A unique identifier assign to an upgrade run. New upgrade run will assign new ID.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, there is no upgrade initialized on the vCenter." + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.Status.UpgradeInfo schema contains properties to describe important parameters and state of the upgrade process.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Info": { + "required": [ + "cancelable", + "description", + "last_update_time", + "status", + "subtask_order", + "subtasks", + "upgrade_info" + ], + "type": "object", + "properties": { + "subtasks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Task" + }, + "description": "The map of the upgrade subtasks and their status information.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "subtask_order": { + "type": "array", + "description": "The ordered list of subtasks for this upgrade operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "current_state": { + "type": "string", + "description": "The current state of migration upgrade process.\n\nPossible values:\n - `INITIALIZING`: The upgrade process is initializing with the defined migration configuration.\n - `INITIALIZED`: The upgrade process is successfully initialized with the defined migration configuration.\n - `STAGING`: The upgrade process is downloading or deploying the new target appliance version.\n - `STAGED`: The upgrade process deployed the new version and is ready for the next step of the process.\n - `PREPARING`: The upgrade process is replicating the source data to the newly deployed target vCenter.\n - `PREPARED`: The upgrade process has prepared the source vCenter for switchover. Most of the data has been replicated and the remaining part will be replicated during the switchover. There will be only some small delta of the data for replication during switchover and thus it is expected the switchover to be as fast as possible.\n - `SWITCHOVER`: The upgrade process is switching from the source to the target vCenter. This includes disabling the source vCenter (stop and disable services and network adapters), powering it off if requested, migrating the network identity, and starting the services on the target vCenter.\n - `UPGRADED`: The upgrade process promoted the target appliance successfully and the vCenter is successfully running on the new version.\n - `CANCELING`: The upgrade process is canceling. In this state the source vCenter is being reverted to the state as it was before the start of the upgrade process.\n - `CANCELED`: The upgrade has been canceled.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.State*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` there is no upgrade running in the environment." + }, + "desired_state": { + "type": "string", + "description": "Desired state of the migration upgrade process.\n\nPossible values:\n - `INITIALIZING`: The upgrade process is initializing with the defined migration configuration.\n - `INITIALIZED`: The upgrade process is successfully initialized with the defined migration configuration.\n - `STAGING`: The upgrade process is downloading or deploying the new target appliance version.\n - `STAGED`: The upgrade process deployed the new version and is ready for the next step of the process.\n - `PREPARING`: The upgrade process is replicating the source data to the newly deployed target vCenter.\n - `PREPARED`: The upgrade process has prepared the source vCenter for switchover. Most of the data has been replicated and the remaining part will be replicated during the switchover. There will be only some small delta of the data for replication during switchover and thus it is expected the switchover to be as fast as possible.\n - `SWITCHOVER`: The upgrade process is switching from the source to the target vCenter. This includes disabling the source vCenter (stop and disable services and network adapters), powering it off if requested, migrating the network identity, and starting the services on the target vCenter.\n - `UPGRADED`: The upgrade process promoted the target appliance successfully and the vCenter is successfully running on the new version.\n - `CANCELING`: The upgrade process is canceling. In this state the source vCenter is being reverted to the state as it was before the start of the upgrade process.\n - `CANCELED`: The upgrade has been canceled.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.MigrationUpgrade.Status.State*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` there is no configured upgrade in the environment." + }, + "progress": { + "description": "The progress information of the current upgrade process.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of CommonInfo#status is one of *Vcenter.Lcm.Deployment.Common.Status.RUNNING*, *Vcenter.Lcm.Deployment.Common.Status.BLOCKED*, *Vcenter.Lcm.Deployment.Common.Status.SUCCEEDED*, *Vcenter.Lcm.Deployment.Common.Status.FAILED*, or *Vcenter.Lcm.Deployment.Common.Status.CANCELED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Cis.Task.Progress" + } + ] + }, + "notifications": { + "description": "Notifications containing upgrade infos, errors and warnings.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nOnly set if an infos, errors or warnings have been reported by the upgrade process.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Notifications" + } + ] + }, + "upgrade_info": { + "description": "The metadata of the upgrade process\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Deployment.MigrationUpgrade.Status.UpgradeInfo" + } + ] + }, + "last_update_time": { + "type": "string", + "description": "The time when the status has been updated\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n - `CANCELED`: The operation was canceled.\n\n\nFor more information see: *Vcenter.Lcm.Deployment.Common.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\" or the upgrade has been canceled.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` there is no error raised by the upgrade" + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Vcenter.Lcm.Deployment.Common.Status.RUNNING*, *Vcenter.Lcm.Deployment.Common.Status.BLOCKED*, *Vcenter.Lcm.Deployment.Common.Status.SUCCEEDED*, *Vcenter.Lcm.Deployment.Common.Status.FAILED*, or *Vcenter.Lcm.Deployment.Common.Status.CANCELED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of status is one of *Vcenter.Lcm.Deployment.Common.Status.SUCCEEDED*, *Vcenter.Lcm.Deployment.Common.Status.FAILED*, or *Vcenter.Lcm.Deployment.Common.Status.CANCELED*.", + "format": "date-time" + } + }, + "description": "The Vcenter.Lcm.Deployment.MigrationUpgrade.Status.Info schema contains properties to describe the state of the appliance.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Lcm.Depot.Services.AddressType": { + "type": "string", + "description": "The Vcenter.Lcm.Depot.Services.AddressType enumerated type defines the various types of address used for service endpoint.\n\nPossible values:\n - `Fqdn`: Fully Qualified Domain Name.\n - `IPv4`: IPv4 address format.\n - `IPv6`: IPv6 address format.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "Fqdn", + "IPv4", + "IPv6" + ] + }, + "Vcenter.Lcm.Depot.Services.SetSpec": { + "required": [ + "services" + ], + "type": "object", + "properties": { + "services": { + "type": "array", + "description": "A list of configurations which contains the connection details of the external services to be registered with vCenter appliance.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Depot.Services.Service" + } + } + }, + "description": "The Vcenter.Lcm.Depot.Services.SetSpec schema defines the connection configuration for all external services\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Depot.Services.Service": { + "required": [ + "key", + "name", + "nodes", + "type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "External service name\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "type": { + "type": "string", + "description": "Type of external service Supported type is VCF_DEPOT\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SERVICEID`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SERVICEID`." + }, + "key": { + "type": "string", + "description": "External service key, identifier for the service unique across the fleet\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "version": { + "type": "string", + "description": "External service version\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nas this is not a required configuration field for external connections" + }, + "nodes": { + "type": "array", + "description": "List of nodes/instances belonging to the same external service\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Depot.Services.Node" + } + } + }, + "description": "The Vcenter.Lcm.Depot.Services.Service schema defines the connection configuration for specific service\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Depot.Services.Node": { + "required": [ + "addresses", + "certificates", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Common name of the service node\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "addresses": { + "type": "array", + "description": "List of addresses to connect to the service node.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Depot.Services.Address" + } + }, + "port": { + "type": "string", + "description": "Service node port on which the service is hosted\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the connection will be done with the default port" + }, + "base_url": { + "type": "string", + "description": "URL prefix pointing to the root of the service\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, it defaults to \"/\" indicating that the service root is hosted directly at the specified address." + }, + "certificates": { + "type": "array", + "description": "Certificates to be used to securely connect with the service node.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Lcm.Depot.Services.Node schema defines the external service node configurations\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Depot.Services.Address": { + "required": [ + "type", + "value" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of address used for the service\n\nPossible values:\n - `Fqdn`: Fully Qualified Domain Name.\n - `IPv4`: IPv4 address format.\n - `IPv6`: IPv6 address format.\n\n\nFor more information see: *Vcenter.Lcm.Depot.Services.AddressType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "value": { + "type": "string", + "description": "The actual address corresponding to the specified type\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "External service node address configurations\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Depot.Services.Info": { + "required": [ + "services" + ], + "type": "object", + "properties": { + "services": { + "type": "array", + "description": "Lists the configurations containing the connection details of the external services which are registered with vCenter appliance.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Depot.Services.Service" + } + } + }, + "description": "The Vcenter.Lcm.Depot.Services.Info schema defines the connection configuration for all external services\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Discovery.Product": { + "required": [ + "auto", + "installed_product", + "name", + "version" + ], + "type": "object", + "properties": { + "installed_product": { + "type": "string", + "description": "Identifies a product and a version uniquely. \n\nThe identifier consists of product internal name and version.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `PRODUCT`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `PRODUCT`." + }, + "name": { + "type": "string", + "description": "A public official product name." + }, + "version": { + "type": "string", + "description": "Current product version." + }, + "target_version": { + "type": "string", + "description": "Future version of the product after upgrade.\n\ntarget_version may not be applicable." + }, + "deployments": { + "type": "array", + "description": "The list of hostname/IPs of the instances of the VMware products deployed in the environment. This field would be empty for manually added products.", + "items": { + "type": "string" + } + }, + "auto": { + "type": "boolean", + "description": "Indicates if the product is auto-detected by the system or manually added. If it is set to true it means it is auto-detected." + } + }, + "description": "The Info schema contains information about a VMware product which is present in the customer Environemnt. The following information about the products are present: \n - Name \n - Version \n - Deployments \n - Automatically Discovered or Manually Added \n" + }, + "Vcenter.Lcm.Discovery.InteropReport.ReleaseInfo": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "The version of the release." + }, + "note": { + "type": "string", + "description": "A link to the release notes of the release.\n\nmissing or `null` if the release notes are not available.", + "format": "uri" + } + }, + "description": "The Vcenter.Lcm.Discovery.InteropReport.ReleaseInfo schema contains a product release information." + }, + "Vcenter.Lcm.Discovery.InteropReport.ReportRow": { + "required": [ + "compatible", + "compatible_releases", + "product" + ], + "type": "object", + "properties": { + "product": { + "description": "The product to compare to the target product.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.Product" + } + ] + }, + "compatible": { + "type": "boolean", + "description": "Defines whether the product is compatible against the target product." + }, + "compatible_releases": { + "type": "array", + "description": "A list of compatible releases of the product with the target product.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.InteropReport.ReleaseInfo" + } + } + }, + "description": "The Vcenter.Lcm.Discovery.InteropReport.ReportRow schema contains the interoperability between a given product and the target product." + }, + "Vcenter.Lcm.Discovery.InteropReport.ReportSummary": { + "required": [ + "compatible_count", + "incompatible_count" + ], + "type": "object", + "properties": { + "compatible_count": { + "type": "integer", + "description": "Number of compatible products.", + "format": "int64" + }, + "incompatible_count": { + "type": "integer", + "description": "Number of incompatible products.", + "format": "int64" + } + }, + "description": "The Vcenter.Lcm.Discovery.InteropReport.ReportSummary schema contains a summary of the *Vcenter.Lcm.Discovery.InteropReport.Report.products*. It consists of the count of compatible and incompatible products to the target product." + }, + "Vcenter.Lcm.Discovery.InteropReport.Report": { + "required": [ + "date_created", + "products", + "summary", + "target_product" + ], + "type": "object", + "properties": { + "date_created": { + "type": "string", + "description": "Time when the report is created.", + "format": "date-time" + }, + "target_product": { + "description": "A product against the other products are compared to. Only vCenter Server is supported.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.Product" + } + ] + }, + "products": { + "type": "array", + "description": "Interoperability matrix for the supplied target product and the other registered products.", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.InteropReport.ReportRow" + } + }, + "issues": { + "description": "Lists of issues encountered during report creation.\n\nset if any issues encountered.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Notifications" + } + ] + }, + "summary": { + "description": "A summary of the interoperability matrix.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.InteropReport.ReportSummary" + } + ] + } + }, + "description": "The Vcenter.Lcm.Discovery.InteropReport.Report schema contains the interoperability report between the target product and the other registered products in the vCenter Server instance." + }, + "Vcenter.Lcm.Discovery.InteropReport.Result": { + "required": [ + "report" + ], + "type": "object", + "properties": { + "report": { + "description": "The interoperability report.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Discovery.InteropReport.Report" + } + ] + }, + "csv_report": { + "type": "string", + "description": "The identifier of CSV formatted interopability report. \n\n com.vmware.vcenter.lcm.report.Report#get provides location where the CSV report can be downloaded from based on the csvReport.\n\nmissing or `null` in case of errors reported in *Vcenter.Lcm.Discovery.InteropReport.Report.issues*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.lcm.report`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.lcm.report`." + } + }, + "description": "The Vcenter.Lcm.Discovery.InteropReport.Result schema contains the result of interoperability report creation operation." + }, + "Vcenter.Lcm.Discovery.InteropReport.Spec": { + "required": [ + "target_version" + ], + "type": "object", + "properties": { + "target_version": { + "type": "string", + "description": "The vCenter Server version. \n\n It is used for checking against the other products registered with that instance of vCenter Server." + } + }, + "description": "Configuration of report generation." + }, + "Vcenter.Lcm.Discovery.ProductCatalog.Summary": { + "required": [ + "name", + "versions" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A product name that the customer is aware of." + }, + "versions": { + "type": "array", + "description": "List of versions the customer can select from.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Lcm.Discovery.ProductCatalog.Summary schema contains information about each VMware product and its corresponding versions that can be associated with vCenter Server." + }, + "Vcenter.Lcm.Discovery.AssociatedProducts.CreateSpec": { + "required": [ + "product_name", + "version" + ], + "type": "object", + "properties": { + "product_name": { + "type": "string", + "description": "The name of the product." + }, + "version": { + "type": "string", + "description": "Current product version." + }, + "deployments": { + "type": "array", + "description": "The list of hostname/IPs of the instances of the VMware products deployed in the environment.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Lcm.Discovery.AssociatedProducts.CreateSpec schema is the specification used for the product creation." + }, + "Vcenter.Lcm.Discovery.AssociatedProducts.UpdateSpec": { + "type": "object", + "properties": { + "deployments": { + "type": "array", + "description": "The list of hostname/IPs of the instances of the VMware products deployed in the environment.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Lcm.Discovery.AssociatedProducts.UpdateSpec schema is the specification for the product update." + }, + "Vcenter.Lcm.Interop.InteropBundle.SetSpec": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "VVS interop bundle file content to upload.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "byte" + } + }, + "description": "The Vcenter.Lcm.Interop.InteropBundle.SetSpec schema contains properties that are needed to upload the VVS interop bundle.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Lcm.Update.Pending.SeverityType": { + "type": "string", + "description": "Level of severity for applying a given patch or update.\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that may or maynot have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact.\n", + "enum": [ + "CRITICAL", + "IMPORTANT", + "MODERATE", + "LOW" + ] + }, + "Vcenter.Lcm.Update.Pending.Category": { + "type": "string", + "description": "The Vcenter.Lcm.Update.Pending.Category enumerated type defines the type of payload this release has on top of previous release\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n", + "enum": [ + "SECURITY", + "FIX", + "UPDATE", + "UPGRADE" + ] + }, + "Vcenter.Lcm.Update.Pending.UpdateType": { + "type": "string", + "description": "The Vcenter.Lcm.Update.Pending.UpdateType enumerated type defines update type\n\nPossible values:\n - `PATCH`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n", + "enum": [ + "PATCH", + "UPDATE", + "UPGRADE" + ] + }, + "Vcenter.Lcm.Update.Pending.Summary": { + "required": [ + "build", + "category", + "execute_url", + "pending_update", + "reboot_required", + "release_date", + "release_notes", + "severity", + "update_type", + "version" + ], + "type": "object", + "properties": { + "pending_update": { + "type": "string", + "description": "Identifier of the given vSphere update\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.lcm.update.pending`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.lcm.update.pending`." + }, + "version": { + "type": "string", + "description": "Version of the vSphere update or patch" + }, + "release_date": { + "type": "string", + "description": "Release date of the vSphere update or patch", + "format": "date-time" + }, + "severity": { + "type": "string", + "description": "Severity of the issues fixed in the vSphere update or patch\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that may or maynot have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact.\n\n\nFor more information see: *Vcenter.Lcm.Update.Pending.SeverityType*." + }, + "build": { + "type": "string", + "description": "Build number of the vCenter Release" + }, + "update_type": { + "type": "string", + "description": "Type of the Release based on the current vCenter version\n\nPossible values:\n - `PATCH`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Vcenter.Lcm.Update.Pending.UpdateType*." + }, + "category": { + "type": "string", + "description": "Category of the release based on features bundled on top of previous release\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Vcenter.Lcm.Update.Pending.Category*." + }, + "reboot_required": { + "type": "boolean", + "description": "Flag to suggest a reboot after the release is applied" + }, + "quick_patch": { + "type": "boolean", + "description": "Flag indicating whether the incoming patch is a quick patch.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` the patch is not a quick patch" + }, + "workload_management_impact": { + "type": "boolean", + "description": "Flag indicating if there is an impact to workload management. False: The following Workload Management API-Driven Operations are fully operational and will not be disrupted by this update. VM workload provisioning, VM CRUD Operations Kubernetes workload provisioning, Kubernetes CRUD Operations Compute and Storage Scaling Continuous log collection and forwarding to Ops for monitoring True: Workload management will be disrupted for a given downtime.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nworkloadManagementImpact If missing or `null` the patch is not a quick patch" + }, + "execute_url": { + "type": "string", + "description": "VAMI or ISO URL for update or upgrade execute phase redirection", + "format": "uri" + }, + "release_notes": { + "type": "array", + "description": "List of URI pointing to patch or update release notes", + "items": { + "type": "string", + "format": "uri" + } + } + }, + "description": "The Vcenter.Lcm.Update.Pending.Summary schema contains basic information about the vCenter patch/update/upgrade" + }, + "Vcenter.Lcm.Update.Pending.ListResult": { + "required": [ + "last_check_time", + "updates" + ], + "type": "object", + "properties": { + "last_check_time": { + "type": "string", + "description": "Time when the software depo was last checked.", + "format": "date-time" + }, + "update_count": { + "type": "integer", + "description": "Number of pending updates\n\nOnly set if there are available updates", + "format": "int64" + }, + "upgrade_count": { + "type": "integer", + "description": "Number of pending upgrades\n\nOnly set if there are available upgrades", + "format": "int64" + }, + "updates": { + "type": "array", + "description": "List of pending update details", + "items": { + "$ref": "#/components/schemas/Vcenter.Lcm.Update.Pending.Summary" + } + }, + "issues": { + "description": "Lists of issues encountered during pending updates retrieval.\n\nset if any issues encountered.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Notifications" + } + ] + } + }, + "description": "The Vcenter.Lcm.Update.Pending.ListResult schema contains information about the pending patch/updates for the given vCenter server." + }, + "Vcenter.Lcm.Update.Pending.Info": { + "required": [ + "build", + "category", + "description", + "execute_url", + "pending_update", + "reboot_required", + "release_date", + "release_notes", + "severity", + "update_type", + "version" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the vSphere update" + }, + "pending_update": { + "type": "string", + "description": "Identifier of the given vSphere update\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.lcm.update.pending`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.lcm.update.pending`." + }, + "version": { + "type": "string", + "description": "Version of the vSphere update or patch" + }, + "release_date": { + "type": "string", + "description": "Release date of the vSphere update or patch", + "format": "date-time" + }, + "severity": { + "type": "string", + "description": "Severity of the issues fixed in the vSphere update or patch\n\nPossible values:\n - `CRITICAL`: Vulnerabilities that can be exploited by an unauthenticated attacker from the Internet or those that break the guest/host Operating System isolation.\n - `IMPORTANT`: Vulnerabilities that are not rated critical but whose exploitation results in the complete compromise of confidentiality and/or integrity of user data and/or processing resources through user assistance or by authenticated attackers.\n - `MODERATE`: Vulnerabilities where the ability to exploit is mitigated to a significant degree by configuration or difficulty of exploitation, but in certain deployment scenarios could still lead to the compromise of confidentiality, integrity, or availability of user data and/or processing resources.\n - `LOW`: All other issues that may or maynot have a security impact. Vulnerabilities where exploitation is believed to be extremely difficult, or where successful exploitation would have minimal impact.\n\n\nFor more information see: *Vcenter.Lcm.Update.Pending.SeverityType*." + }, + "build": { + "type": "string", + "description": "Build number of the vCenter Release" + }, + "update_type": { + "type": "string", + "description": "Type of the Release based on the current vCenter version\n\nPossible values:\n - `PATCH`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Vcenter.Lcm.Update.Pending.UpdateType*." + }, + "category": { + "type": "string", + "description": "Category of the release based on features bundled on top of previous release\n\nPossible values:\n - `SECURITY`: Fixes vulnerabilities, doesn't change functionality\n - `FIX`: Fixes bugs/vulnerabilities, doesn't change functionality\n - `UPDATE`: Changes product functionality\n - `UPGRADE`: Introduces new features, significantly changes product functionality\n\n\nFor more information see: *Vcenter.Lcm.Update.Pending.Category*." + }, + "reboot_required": { + "type": "boolean", + "description": "Flag to suggest a reboot after the release is applied" + }, + "quick_patch": { + "type": "boolean", + "description": "Flag indicating whether the incoming patch is a quick patch.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` the patch is not a quick patch" + }, + "workload_management_impact": { + "type": "boolean", + "description": "Flag indicating if there is an impact to workload management. False: The following Workload Management API-Driven Operations are fully operational and will not be disrupted by this update. VM workload provisioning, VM CRUD Operations Kubernetes workload provisioning, Kubernetes CRUD Operations Compute and Storage Scaling Continuous log collection and forwarding to Ops for monitoring True: Workload management will be disrupted for a given downtime.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nworkloadManagementImpact If missing or `null` the patch is not a quick patch" + }, + "execute_url": { + "type": "string", + "description": "VAMI or ISO URL for update or upgrade execute phase redirection", + "format": "uri" + }, + "release_notes": { + "type": "array", + "description": "List of URI pointing to patch or update release notes", + "items": { + "type": "string", + "format": "uri" + } + } + }, + "description": "The Vcenter.Lcm.Update.Pending.Info schema contains detailed information about the vCenter patch/update." + }, + "Vcenter.Lcm.Update.PrecheckReport.ReportSummary": { + "required": [ + "error_count", + "warning_count" + ], + "type": "object", + "properties": { + "error_count": { + "type": "integer", + "description": "Number of errors detected by precheck process", + "format": "int64" + }, + "warning_count": { + "type": "integer", + "description": "Number of warnings detected by precheck process", + "format": "int64" + } + }, + "description": "The Summary Schema contains the summary of precheck report." + }, + "Vcenter.Lcm.Update.PrecheckReport.Report": { + "required": [ + "date_created", + "summary" + ], + "type": "object", + "properties": { + "date_created": { + "type": "string", + "description": "Time when this precheck report was generated", + "format": "date-time" + }, + "estimated_time_to_update": { + "type": "integer", + "description": "Rough estimate of time to update vCenter Server in minutes.\n\nThis property will be missing or `null` if the precheck failed.", + "format": "int64" + }, + "issues": { + "description": "Lists of the issues and warnings\n\nThis property will be missing or `null` if the precehck is successful.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Notifications" + } + ] + }, + "summary": { + "description": "A summary of the report consist of count of warnings and errors returned by running the precheck.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Update.PrecheckReport.ReportSummary" + } + ] + } + }, + "description": "The Vcenter.Lcm.Update.PrecheckReport.Report schema contains estimates of how long it will take an update as well as a list of possible warnings and errors with applying the update." + }, + "Vcenter.Lcm.Update.PrecheckReport.Result": { + "required": [ + "report" + ], + "type": "object", + "properties": { + "report": { + "description": "The report generated by running the precheck.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Lcm.Update.PrecheckReport.Report" + } + ] + }, + "csv_report": { + "type": "string", + "description": "The identifier of CSV formatted precheck report. com.vmware.vcenter.lcm.report#get provides location where the CSV report can be downloaded from based on the csvReport.\n\nmissing or `null` in case of errors reported in *Vcenter.Lcm.Update.PrecheckReport.Report.issues*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.lcm.report`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.lcm.report`." + } + }, + "description": "The Vcenter.Lcm.Update.PrecheckReport.Result schema contains the precheck report and a link to download the CSV report." + }, + "Vcenter.NamespaceManagement.ProxySettingsSource": { + "type": "string", + "description": "The settings can be inherited from the vCenter settings, so the cluster settings will be synced. The settings can be applied directly on the cluster level, or the cluster can be configured not to use a proxy.\n\nPossible values:\n - `VC_INHERITED`: Proxy settings will be inherited from the vCenter settings. vCenter and cluster settings will be kept in sync.\n - `CLUSTER_CONFIGURED`: Proxy settings will be configured at the cluster level.\n - `NONE`: No proxy settings will be applied to the cluster.\n\n\nThis enumeration was added in __vSphere API 7.0.3.00100__.", + "enum": [ + "VC_INHERITED", + "CLUSTER_CONFIGURED", + "NONE" + ] + }, + "Vcenter.NamespaceManagement.SizingHint": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.SizingHint enumerated type determines the configuration of Kubernetes API server and the worker nodes. It also determines the default values associated with the maximum number of pods and services. Use *GET /vcenter/namespace-management/cluster-size-info* to get information associated with a Vcenter.NamespaceManagement.SizingHint.\n\nPossible values:\n - `TINY`: Cluster size of 'tiny'.\n - `SMALL`: Cluster size of 'small'.\n - `MEDIUM`: Cluster size of 'medium'.\n - `LARGE`: Cluster size of 'large'.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "TINY", + "SMALL", + "MEDIUM", + "LARGE" + ] + }, + "Vcenter.NamespaceManagement.IPRange": { + "required": [ + "address", + "count" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The starting address of the range.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "count": { + "type": "integer", + "description": "The number of IP addresses in the range.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.IPRange schema is used to express a range of IP addresses. The formats supported by this structure will depend on the IP addressing scheme that is being used by vSphere Namespaces. Currently, vSphere Namespaces only supports IPv4.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.Ipv4Cidr": { + "required": [ + "address", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IPv4 address.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Ipv4Cidr schema contains the specification for representing CIDR notation of IP range. For example, this can be used to represent 256 IP addresses using 10.10.10.0/24.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.ProxyConfiguration": { + "required": [ + "proxy_settings_source" + ], + "type": "object", + "properties": { + "proxy_settings_source": { + "type": "string", + "description": "The source of the proxy settings. If *Vcenter.NamespaceManagement.ProxySettingsSource.VC_INHERITED* or *Vcenter.NamespaceManagement.ProxySettingsSource.NONE* is specified, then the other configuration in Vcenter.NamespaceManagement.ProxyConfiguration will be ignored.\n\nPossible values:\n - `VC_INHERITED`: Proxy settings will be inherited from the vCenter settings. vCenter and cluster settings will be kept in sync.\n - `CLUSTER_CONFIGURED`: Proxy settings will be configured at the cluster level.\n - `NONE`: No proxy settings will be applied to the cluster.\n\n\nFor more information see: *Vcenter.NamespaceManagement.ProxySettingsSource*.\n\nThis property was added in __vSphere API 7.0.3.00100__." + }, + "https_proxy_config": { + "type": "string", + "description": "HTTPS proxy configuration. Examples: \n - http://username:password@proxy.vmware.com:8080\n - https://proxy.vmware.com:4443\n This will be used if *Vcenter.NamespaceManagement.ProxySettingsSource.CLUSTER_CONFIGURED* is used for the source, otherwise this will be ignored.\n\nThis property was added in __vSphere API 7.0.3.00100__.\n\nIf missing or `null` no HTTPS proxy will be used." + }, + "http_proxy_config": { + "type": "string", + "description": "HTTP proxy configuration. Examples: \n - http://username:password@proxy.vmware.com:8080\n - https://proxy.vmware.com:4443\n This will be used if *Vcenter.NamespaceManagement.ProxySettingsSource.CLUSTER_CONFIGURED* is used for the source, otherwise this will be ignored.\n\nThis property was added in __vSphere API 7.0.3.00100__.\n\nIf missing or `null` no HTTP proxy will be used." + }, + "no_proxy_config": { + "type": "array", + "description": "List of addresses that should be accessed directly. This will be used if *Vcenter.NamespaceManagement.ProxySettingsSource.CLUSTER_CONFIGURED* is used for the source, otherwise this will be ignored.\n\nThis property was added in __vSphere API 7.0.3.00100__.\n\nIf missing or `null` there won't be any excluded addresses.", + "items": { + "type": "string" + } + }, + "tls_root_ca_bundle": { + "type": "string", + "description": "Proxy TLS root CA bundle which will be used to verify the proxy's certificates. Every certificate in the bundle is expected to be in PEM format. This will be used if *Vcenter.NamespaceManagement.ProxySettingsSource.CLUSTER_CONFIGURED* is used for the source, otherwise this will be ignored.\n\nThis property was added in __vSphere API 7.0.3.00100__.\n\nIf missing or `null` only the vCenter certificates applied in VECS (VMware Endpoint Certificate Store) will be used." + } + }, + "description": "The Vcenter.NamespaceManagement.ProxyConfiguration schema defines proxy configuration to be used by the Supervisor.\n\nThis schema was added in __vSphere API 7.0.3.00100__." + }, + "Vcenter.NamespaceManagement.WorkloadsStorageConfig": { + "type": "object", + "properties": { + "cloud_native_file_volume": { + "description": "*Vcenter.NamespaceManagement.WorkloadsStorageConfig.cloud_native_file_volume* specifies the Cloud Native Storage file volume support on the Supervisor. This feature provides `ReadWriteMany` container volumes support.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, file volume support will not be enabled on the Supervisor.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.CNSFileConfig" + } + ] + }, + "ephemeral_storage_policy": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.WorkloadsStorageConfig.ephemeral_storage_policy* identifies the storage policy associated with ephemeral disks of all the Kubernetes PodVMs in the cluster.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` during cluster enablement, the ephemeral storage policy will be defaulted to the configured *Vcenter.NamespaceManagement.Supervisors.ControlPlane.storage_policy*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "image_storage_policy": { + "type": "string", + "description": "The *Vcenter.NamespaceManagement.WorkloadsStorageConfig.image_storage_policy* schema contains the specification required to configure storage used for PodVM container images.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the image storage policy will be set to the specified *Vcenter.NamespaceManagement.WorkloadsStorageConfig.ephemeral_storage_policy* if provided. This field will inherit any defaults for ephemeral storage policy set by the system.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + } + }, + "description": "Vcenter.NamespaceManagement.WorkloadsStorageConfig schema describes how vSphere and Kubernetes will persist images and volumes to disk.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.CNSFileConfig": { + "required": [ + "vsan_clusters" + ], + "type": "object", + "properties": { + "vsan_clusters": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.CNSFileConfig.vsan_clusters* is a list of clusters to be used for provisioning file volumes. \n\nAs a prerequisite these clusters must have vSAN and vSAN file services enabled, and must be in the same vCenter as the Supervisor. \n\nCurrently this list must have a single entry which is the cluster identifier of the current cluster. This cluster must be a vSAN cluster and must have vSAN File Service enabled. \n\nIf a cluster in the list is not a vSAN cluster or does not have vSAN File Service enabled, an InvalidArgument error will be thrown from *POST /vcenter/namespace-management/clusters/{cluster}?action=enable*, *PATCH /vcenter/namespace-management/clusters/{cluster}* and *PUT /vcenter/namespace-management/clusters/{cluster}* APIs. \n\nAn empty list may be specified to disable file volume support on the Supervisor.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.CNSFileConfig schema contains the specification required to set the configuration for Cloud Native Storage file volume support on Supervisor." + }, + "Vcenter.NamespaceManagement.Clusters.ConfigStatus": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Summary.ConfigStatus* instead. \n\nThe Vcenter.NamespaceManagement.Clusters.ConfigStatus enumerated type describes the status of reaching the desired state configuration for the cluster.\n\nPossible values:\n - `CONFIGURING`: The Namespace configuration is being applied to the cluster.\n - `REMOVING`: The Namespace configuration is being removed from the cluster.\n - `RUNNING`: The cluster is configured correctly with the Namespace configuration.\n - `ERROR`: Failed to apply the Namespace configuration to the cluster, user intervention needed.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "CONFIGURING", + "REMOVING", + "RUNNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Clusters.KubernetesStatus": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Summary.KubernetesStatus* instead. \n\nThe Vcenter.NamespaceManagement.Clusters.KubernetesStatus enumerated type describes the cluster's ability to deploy pods.\n\nPossible values:\n - `READY`: The cluster is able to accept pods.\n - `WARNING`: The cluster may be able to accept pods, but has warning messages.\n - `ERROR`: The cluster may not be able to accept pods and has error messages.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "READY", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Clusters.ResourceNamingStrategy": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Clusters.ResourceNamingStrategy enumerated type represents the strategy to generate the Kubernetes resource names in a Supervisor for items in a Content Library associated with the Supervisor. The relevant Kubernetes resources include cluster scoped ClusterContentLibraryItem, and ClusterVirtualMachineImage resources in the Supervisor.\n\nPossible values:\n - `FROM_ITEM_ID`: The naming strategy to generate the Kubernetes resource name based on the corresponding Content Library item identifier.\n - `PREFER_ITEM_SOURCE_ID`: The naming strategy to generate the Kubernetes resource name based on the source identifier of the corresponding Content Library item if the Content Library is a subscribed Content Library, otherwise still based on the corresponding Content Library item identifier. With this naming strategy, the Kubernetes resources for images from different subscribed Content Libraries subscribing to the same published Content Library can have the same names across Supervisors with such subscribed Content Library associated. \n\nUse this strategy if you have multiple Content Libraries that are subscribing to the same published Content Library, and want to consume the same resource names in the Supervisor for VM images originated from that published Content Library, regardless which Content Library is associated with the Supervisor.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "FROM_ITEM_ID", + "PREFER_ITEM_SOURCE_ID" + ] + }, + "Vcenter.NamespaceManagement.Clusters.NetworkProvider": { + "type": "string", + "description": "Identifies the network plugin that cluster networking functionalities for this vSphere Namespaces Cluster.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NSXT_CONTAINER_PLUGIN", + "VSPHERE_NETWORK", + "NSX_VPC" + ] + }, + "Vcenter.NamespaceManagement.Clusters.Message": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.Message.Severity*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "description": "Details about the message.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, message details are not required for taking actions.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "kb_article_link": { + "type": "string", + "description": "Optional link to a KB article providing more details about the message.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nif missing or `null` there is not KB article associated with the message." + }, + "id": { + "type": "string", + "description": "Unique identifier of the message.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nif missing or `null` there is no id associated with the message." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.Message schema contains the information about the object configuration.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.Message.Severity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Clusters.Message.Severity enumerated type represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Clusters.Stats": { + "required": [ + "cpu_capacity", + "cpu_used", + "memory_capacity", + "memory_used", + "storage_capacity", + "storage_used" + ], + "type": "object", + "properties": { + "cpu_used": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCPU consumed by the Supervisor and its workloads across all hosts in megahertz (MHz).\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "cpu_capacity": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nMaximum reservable CPU capacity for a Supervisor and its workloads in megahertz (MHz). This value is capped by the maximum physical CPU capacity of all hosts participating in the Supervisor or any limits present on Supervisor resource pools.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "memory_used": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nHost memory consumed by a Supervisor and its workloads in mebibytes (MiB).\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "memory_capacity": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nMaximum reservable memory capacity for a Supervisor and its workloads in mebibytes (MiB). This value is capped by the maximum physical memory capacity of all hosts participating in the Supervisor or any limits present on Supervisor resource pools.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "storage_used": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nStorage committed by all participating Supervisor storage policies in mebibytes (MiB).\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "storage_capacity": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCapacity of all datastores backing all participating Supervisor storage policies in mebibytes (MiB).\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Summary.Stats* instead. \n\nThe Vcenter.NamespaceManagement.Clusters.Stats schema contains the basic Supervisor runtime statistics.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Clusters.Condition": { + "required": [ + "description", + "messages", + "reason", + "severity", + "status", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the condition is a CamelCase, machine readable identifier, indicating the configuration stage. \n\nInfrastructureInitialized, ControlPlaneVMsDeployed and ControlPlaneVMsConfigured are examples of such identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "description": { + "description": "Description of the condition type in a human readable format.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "status": { + "type": "string", + "description": "The status of the condition.\n\nPossible values:\n - `TRUE`: Indicates that the condition has reached the desired state.\n - `FALSE`: Indicates that the condition has not reached the desired state.\n - `UNKNOWN`: Indicates that the status of the condition can not be determined.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.Condition.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "last_transition_time": { + "type": "string", + "description": "Last time the condition transitioned from one state to another. A transition happens when the value of status or severity field changes.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, there are no ongoing operations related to bringing the condition to the desired state.", + "format": "date-time" + }, + "reason": { + "type": "string", + "description": "A brief CamelCase message indicating details about the reason for the last transition. \n\nFailedWithSystemError, ManagementDNSServersMissing and WaitForNodeUpgrade are examples of such messages.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "severity": { + "type": "string", + "description": "Provides an explicit classification of the reason identifier. Set when the value of status is FALSE.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Warning message.\n - `ERROR`: Error message.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.Condition.Severity*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "messages": { + "type": "array", + "description": "A list of human-readable messages that provide additional details about the last transition.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Message" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.Condition schema defines an observation of the configuration state of a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Clusters.Condition.Status": { + "type": "string", + "description": "Use *Vcenter.NamespaceManagement.Supervisors.Conditions.Condition.Status* instead.\n\nStatus of the condition, which can be one of TRUE, FALSE or UNKNOWN.\n\nPossible values:\n - `TRUE`: Indicates that the condition has reached the desired state.\n - `FALSE`: Indicates that the condition has not reached the desired state.\n - `UNKNOWN`: Indicates that the status of the condition can not be determined.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "TRUE", + "FALSE", + "UNKNOWN" + ] + }, + "Vcenter.NamespaceManagement.Clusters.Condition.Severity": { + "type": "string", + "description": "Use *Vcenter.NamespaceManagement.Supervisors.Conditions.Severity* instead.\n\nThe Vcenter.NamespaceManagement.Clusters.Condition.Severity schema represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Warning message.\n - `ERROR`: Error message.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Clusters.Summary": { + "required": [ + "cluster", + "cluster_name", + "config_status", + "kubernetes_status", + "stats" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier for the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "cluster_name": { + "type": "string", + "description": "Name of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource.name`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource.name`." + }, + "stats": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Summary.Info.stats* instead. \n\nBasic runtime statistics for the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Stats" + } + ] + }, + "config_status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Summary.Info.config_status* instead. \n\nCurrent setting for Vcenter.NamespaceManagement.Clusters.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The Namespace configuration is being applied to the cluster.\n - `REMOVING`: The Namespace configuration is being removed from the cluster.\n - `RUNNING`: The cluster is configured correctly with the Namespace configuration.\n - `ERROR`: Failed to apply the Namespace configuration to the cluster, user intervention needed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "kubernetes_status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.Summary.Info#KubernetesStatus instead. \n\nCurrent setting for Vcenter.NamespaceManagement.Clusters.KubernetesStatus.\n\nPossible values:\n - `READY`: The cluster is able to accept pods.\n - `WARNING`: The cluster may be able to accept pods, but has warning messages.\n - `ERROR`: The cluster may not be able to accept pods and has error messages.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.KubernetesStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "deprecated": true + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.Summary schema contains the basic information about the cluster statistics and status related to vSphere Namespaces.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.Info": { + "required": [ + "api_server_cluster_endpoint", + "api_server_management_endpoint", + "api_servers", + "config_status", + "kubernetes_status", + "kubernetes_status_messages", + "messages", + "network_provider", + "service_cidr", + "stat_summary" + ], + "type": "object", + "properties": { + "size_hint": { + "type": "string", + "description": "Current setting for Vcenter.NamespaceManagement.SizingHint. This affects the size and resources allocated to the Kubernetes API server.\n\nPossible values:\n - `TINY`: Cluster size of 'tiny'.\n - `SMALL`: Cluster size of 'small'.\n - `MEDIUM`: Cluster size of 'medium'.\n - `LARGE`: Cluster size of 'large'.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SizingHint*.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "stat_summary": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Summary.Info.stats* instead. \n\nBasic runtime statistics for the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Stats" + } + ] + }, + "config_status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Summary.Info.config_status* instead. \n\nCurrent setting for Vcenter.NamespaceManagement.Clusters.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The Namespace configuration is being applied to the cluster.\n - `REMOVING`: The Namespace configuration is being removed from the cluster.\n - `RUNNING`: The cluster is configured correctly with the Namespace configuration.\n - `ERROR`: Failed to apply the Namespace configuration to the cluster, user intervention needed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "conditions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Conditions.Condition* instead. \n\nThe conditions that need to be met for the cluster to reach the desired state.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "deprecated": true, + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Condition" + } + }, + "messages": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Summary.Message* instead. \n\nCurrent set of messages associated with the object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "deprecated": true, + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Message" + } + }, + "kubernetes_status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.Summary.Info#KubernetesStatus instead. \n\nCurrent setting for Vcenter.NamespaceManagement.Clusters.KubernetesStatus.\n\nPossible values:\n - `READY`: The cluster is able to accept pods.\n - `WARNING`: The cluster may be able to accept pods, but has warning messages.\n - `ERROR`: The cluster may not be able to accept pods and has error messages.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.KubernetesStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "kubernetes_status_messages": { + "type": "array", + "description": "Current set of messages associated with the object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Message" + } + }, + "api_server_management_endpoint": { + "type": "string", + "description": "Kubernetes API Server IP address on the management network. This is a floating IP and assigned to one of the control plane VMs on the management network. \n\nThis endpoint is used by vSphere components.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "api_server_cluster_endpoint": { + "type": "string", + "description": "Kubernetes API Server IP address via cluster network. This is the IP address of the Kubernetes LoadBalancer type service fronting the apiservers. \n\nThis endpoint is the one configured in kubeconfig after login, and used for most human and application interaction with Kubernetes.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "api_servers": { + "uniqueItems": true, + "type": "array", + "description": "Identifier of the Kubernetes API servers. These are the IP addresses of the VM instances for the Kubernetes control plane on the management network.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "tls_management_endpoint_certificate": { + "type": "string", + "description": "PEM-encoded x509 certificate used by TLS endpoint on Kubernetes API servers when accessed from the management network, e.g. from ESX servers or VCSA.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nset only when *Vcenter.NamespaceManagement.Clusters.Info.api_server_management_endpoint* is used." + }, + "tls_endpoint_certificate": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Certificates.Info.tls_endpoint_certificate* instead. \n\nPEM-encoded x509 certificate(s) used by TLS endpoint on Kubernetes API servers when accessed via the load balancer, e.g. devops user on corporate network. \n\nIn case of a certificates chain, the order of the certificates in this field is important. The first certificate must be the leaf certificate for your domain name, the second the intermediate certificate(s) and the last one must be the root certificate.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nset only when *Vcenter.NamespaceManagement.Clusters.Info.api_server_management_endpoint* is used.", + "deprecated": true + }, + "network_provider": { + "type": "string", + "description": "The provider of cluster networking for this vSphere Namespaces cluster.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ncp_cluster_network_info": { + "description": "Specification for the NSX Container Plugin cluster network.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo" + } + ] + }, + "vpc_network": { + "description": "Specification for the NSX VPC network.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSX_VPC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.VpcNetworkSummary" + } + ] + }, + "workload_networks": { + "description": "Information about workload networks associated with the cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.WorkloadNetworksInfo" + } + ] + }, + "supervisor_primary_workload_network": { + "type": "string", + "description": "Identifier of the Supervisor Primary workload network configuration. The Supervisor Primary workload network configuration refers to a network configuration used by Supervisor Kubernetes control plane VMs to expose Kubernetes API server to users and other workloads.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will always be set. It is marked optional for API backward compatibility.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "workload_ntp_servers": { + "type": "array", + "description": "Information about NTP server DNS names or IP addresses to use for workloads such as Kubernetes Cluster VMs, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nmissing or `null` when NTP server for Kubernetes API servers is used.", + "items": { + "type": "string" + } + }, + "load_balancers": { + "type": "array", + "description": "Information related to the Load balancer used for provisioning virtual servers in the namespace.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Info" + } + }, + "service_cidr": { + "description": "CIDR block from which Kubernetes allocates service cluster IP addresses.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + ] + }, + "master_management_network": { + "description": "Specification for the management network on Kubernetes API server.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.NetworkSpec" + } + ] + }, + "master_dns": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.ControlPlane.Networks.Settings.DNSInfo#servers \n\nList of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default DNS servers are set.", + "deprecated": true, + "items": { + "type": "string" + } + }, + "worker_dns": { + "type": "array", + "description": "List of DNS server IP addresses to use for pods that execute on the worker nodes (which are native pods on ESXi hosts in the vSphere Namespaces Supervisor).\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default DNS servers are set.", + "items": { + "type": "string" + } + }, + "master_storage_policy": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.control_plane.storage.Policies.Info#controlPlaneStoragePolicy instead. \n\nIdentifier of storage policy associated with Kubernetes API server.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`.", + "deprecated": true + }, + "ephemeral_storage_policy": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.Info.ephemeral_storage_policy* instead. \n\nIdentifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`.", + "deprecated": true + }, + "cns_file_config": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes.Info.file_volumes_enabled* instead. \n\nSpecification for configuring Cloud Native Storage file volume support on Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this cluster and/or external clusters.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, it means the file volume support is not enabled on this Supervisor.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.CNSFileConfig" + } + ] + }, + "login_banner": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.Info.login_banner* instead. \n\nDisclaimer to be displayed prior to login via the Kubectl plugin.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, just skip it.", + "deprecated": true + }, + "master_dns_names": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.Info.certificate_dns_names* \n\nList of DNS names to associate with the Kubernetes API server. These DNS names are embedded in the TLS certificate presented by the API server.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, no DNS names are embedded in the TLS certificate.", + "deprecated": true, + "items": { + "type": "string" + } + }, + "image_storage": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.Info.image_storage_policy* \n\nSpecification for storage to be used for container images.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ImageStorageSpec" + } + ] + }, + "default_image_registry": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info.registry* \n\nDefault image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, defaults to Docker Hub.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ImageRegistry" + } + ] + }, + "default_image_repository": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info.repository* \n\nDefault image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, defaults to Docker Hub official repository in case of Docker Hub image registry, otherwise defaults to empty string.", + "deprecated": true + }, + "master_dns_search_domains": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.DNSInfo.search_domains* instead. \n\nList of domains (for example \"vmware.com\") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default DNS search domains are set.", + "deprecated": true, + "items": { + "type": "string" + } + }, + "master_ntp_servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NTPInfo.servers* \n\nList of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, VMware Tools based time synchronization is enabled.", + "deprecated": true, + "items": { + "type": "string" + } + }, + "default_kubernetes_service_content_library": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Clusters.Info.content_libraries* instead.\n\nIdentifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. \n\nThis Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no Content Library set for vSphere Kubernetes Service.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`.", + "deprecated": true + }, + "cluster_proxy_config": { + "description": "Proxy configuration that is applied to the Supervisor. The proxy should be reachable from the management network and is used for image pulling and container traffic exiting out of the Supervisor. \n Note that the proxy password will be removed from the URLs as per Section 3.2.1 of RFC3986 security recommendation.\n\nThis property was added in __vSphere API 7.0.3.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ProxyConfiguration" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info.content_libraries* \n\nList of Content Libraries associated with a Supervisor. This list refers to existing Content Libraries in the vSphere inventory. These Content Libraries and the Content Library items belonging to them are read-only across all vSphere Namespaces. If *Vcenter.NamespaceManagement.Clusters.Info.default_kubernetes_service_content_library* is set, the Content Library identifier will be migrated to this property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, no Content Libraries will be set for the Supervisor.", + "deprecated": true, + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ContentLibrarySpec" + } + }, + "count": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.Info.count* instead. \n\nNumber of control planes associated with the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to 3.", + "format": "int64", + "deprecated": true + }, + "supervisor_image_source": { + "description": "Information about the source of this Supervisor image.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ImageSourceSpec" + } + ] + }, + "vsphere_pods_enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.VspherePodSettings.Info.vsphere_pods_enabled* instead. \n\nInformation about whether vSphere Pod support is enabled.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to False.", + "deprecated": true + }, + "supervisor_services_enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings.Info.supervisor_services_enabled* instead. \n\nInformation about whether Supervisor Service support is enabled.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to False.", + "deprecated": true + }, + "max_concurrent_dns_forwards": { + "type": "integer", + "description": "Limit of concurrent DNS requests the DNS forwarder on each Supervisor control planes will forward to the upstream *Vcenter.NamespaceManagement.Clusters.Info.worker_DNS*. The maximum number of concurrent DNS requests that can be sent to upstream worker DNS servers from the Supervisor is calculated by multiplying this value by the *Vcenter.NamespaceManagement.Clusters.Info.count* value. A value of 0 indicates there is no limit on the maximum number of concurrent requests that can be forwarded.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.Info schema contains detailed information about the cluster statistics and status related to vSphere Namespaces.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.ContentLibrarySpec": { + "required": [ + "content_library" + ], + "type": "object", + "properties": { + "content_library": { + "type": "string", + "description": "Content Library ID associated with a Supervisor. The Content Library specified should exist in the vSphere inventory.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "supervisor_services": { + "type": "array", + "description": "List of Supervisor Service IDs that are currently making use of the Content Library. A Content Library can be used by one or more Supervisor Services. *Vcenter.NamespaceManagement.Clusters.ContentLibrarySpec.supervisor_services* holds a list of *Vcenter.NamespaceManagement.SupervisorServices.Summary.supervisor_service* which is used to identify the Supervisor Services that are making use of this Content Library. \n\nIf a Supervisor Service is specified, the Supervisor Service ID will be added as a label with key services.supervisor.vmware.com/Service-ID to the Content Library resources on the supervisor. For example, the label for vSphere Kubernetes Service with ID as kubernetes.vmware.com will be services.supervisor.vmware.com/kubernetes.vmware.com: \"\" . Supervisor Services can use this label to identify the images in the Content Library. \n\nNote: When associating content libraries with vSphere Kubernetes Service (VKS), use Service ID kubernetes.vmware.com instead of the installed Service ID tkg.vsphere.vmware.com to ensure successful association of content libraries with VKS. \n\nNote that linking a Content Library to a Supervisor Service does not limit the Content Library from being used by other services on the supervisor. This label will be applied on the following kubernetes resources on the Supervisor \n - clustercontentlibrary(cclib) resource managed by WCP service \n - clustercontentlibraryitem(cclitem) resource managed by Image Registry Operator\n - clustervirtualmachineimage(cvmi) resource managed by VM Operator\n If missing or `null`, no labels as described above will be added to the Content Library resources on the supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "items": { + "type": "string" + } + }, + "resource_naming_strategy": { + "type": "string", + "description": "The resource naming strategy that is used to generate the Kubernetes resource names for images from this Content Library. \n\nAn InvalidArgument error will be thrown from *POST /vcenter/namespace-management/clusters/{cluster}?action=enable* operation, *PATCH /vcenter/namespace-management/clusters/{cluster}* operation, and *PUT /vcenter/namespace-management/clusters/{cluster}* operation if this resource_naming_strategy is changed on an existing Content Library associated with the Supervisor, or set to *Vcenter.NamespaceManagement.Clusters.ResourceNamingStrategy.PREFER_ITEM_SOURCE_ID* on a subscribed Content Library from a published Content Library that is either also associated with the Supervisor or has another subscribed Content Library associated to the Supervisor with the resource_naming_strategy also set to *Vcenter.NamespaceManagement.Clusters.ResourceNamingStrategy.PREFER_ITEM_SOURCE_ID*.\n\nPossible values:\n - `FROM_ITEM_ID`: The naming strategy to generate the Kubernetes resource name based on the corresponding Content Library item identifier.\n - `PREFER_ITEM_SOURCE_ID`: The naming strategy to generate the Kubernetes resource name based on the source identifier of the corresponding Content Library item if the Content Library is a subscribed Content Library, otherwise still based on the corresponding Content Library item identifier. With this naming strategy, the Kubernetes resources for images from different subscribed Content Libraries subscribing to the same published Content Library can have the same names across Supervisors with such subscribed Content Library associated. \n\nUse this strategy if you have multiple Content Libraries that are subscribing to the same published Content Library, and want to consume the same resource names in the Supervisor for VM images originated from that published Content Library, regardless which Content Library is associated with the Supervisor.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.ResourceNamingStrategy*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, Kubernetes resource names for images from this Content Library will be generated based on the default naming strategy *Vcenter.NamespaceManagement.Clusters.ResourceNamingStrategy.FROM_ITEM_ID*." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.ContentLibrarySpec schema contains the specification required to configure Content Libraries with a Supervisor.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Vcenter.NamespaceManagement.Clusters.VpcNetworkSummary": { + "required": [ + "auto_created", + "default_private_cidrs", + "nsx_project", + "vpc_connectivity_profile" + ], + "type": "object", + "properties": { + "nsx_project": { + "type": "string", + "description": "NsxProject is the NSX path of an NSX Project.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vpc_connectivity_profile": { + "type": "string", + "description": "VpcConnectivityProfile is the path of a VpcConnectivityProfile.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "default_private_cidrs": { + "type": "array", + "description": "Default CIDR blocks from which private subnets and private pod IPs are allocated.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "auto_created": { + "type": "boolean", + "description": "Whether the VPC has been automatically created for the namespace.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.VpcNetworkSummary schema describes the the VPC settings for a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.VpcNetworkInfo": { + "required": [ + "vpc_config" + ], + "type": "object", + "properties": { + "vpc_config": { + "description": "Specification for the NSX VPC network.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.VpcConfig" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.VpcNetworkInfo schema describes the detailed VPC settings for a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.ProjectInfo": { + "required": [ + "name", + "nsx_path", + "project" + ], + "type": "object", + "properties": { + "project": { + "type": "string", + "description": "Identifier of the NSX Project.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXProject`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXProject`." + }, + "name": { + "type": "string", + "description": "NSX Project name.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.ProjectInfo schema contains information about an NSX Project.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.VpcConfig": { + "required": [ + "default_private_cidrs", + "nsx_project_info", + "vpc_connectivity_profile_info" + ], + "type": "object", + "properties": { + "nsx_project_info": { + "description": "The default NSX Project for VPCs created in the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ProjectInfo" + } + ] + }, + "vpc_connectivity_profile_info": { + "description": "Default VPC Connectivity Profile used for all VPCs created in the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.Info" + } + ] + }, + "default_private_cidrs": { + "type": "array", + "description": "Default CIDR blocks from which private subnets and private pod IPs are allocated for all VPCs created in the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.VpcConfig schema describes the specification of an NSX VPC for Supervisor Network configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.Ipv4Range": { + "required": [ + "address_count", + "gateway", + "starting_address", + "subnet_mask" + ], + "type": "object", + "properties": { + "starting_address": { + "type": "string", + "description": "The IPv4 address denoting the start of the range.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "address_count": { + "type": "integer", + "description": "The number of IP addresses in the range. Addresses are derived by incrementing *Vcenter.NamespaceManagement.Clusters.Ipv4Range.starting_address*.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "subnet_mask": { + "type": "string", + "description": "Subnet mask to be set.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "gateway": { + "type": "string", + "description": "The IPv4 address of the gateway associated with the range indicated by *Vcenter.NamespaceManagement.Clusters.Ipv4Range.starting_address* and *Vcenter.NamespaceManagement.Clusters.Ipv4Range.address_count*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.Ipv4Range contains specification to configure multiple interfaces in IPv4. The range of IPv4 addresses is derived by incrementing the startingAddress to the specified addressCount. To use the object for a single IPv4 address specification, set addressCount to 1.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec": { + "required": [ + "supervisor_primary_workload_network" + ], + "type": "object", + "properties": { + "supervisor_primary_workload_network": { + "description": "The *Vcenter.NamespaceManagement.Networks.CreateSpec* of the vSphere Namespaces network that will be used by Kubernetes control plane VMs to expose Kubernetes API server to devops users and other workloads. It can also used as backing network for Kubernetes Cluster VMs. \n\nThe network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* cannot be *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.CreateSpec" + } + ] + }, + "network_list": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Networks.CreateSpec* schemaes for additional list of vSphere Namespaces networks to be associated with this cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null` no additional networks will be associated with the cluster.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.CreateSpec" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec contains the specification required to configure workload networks for a vSphere Namespaces Cluster during Enable operation. These workload networks will be used as backing network for Kubernetes Cluster VMs and Kubernetes control plane VMs.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.Clusters.WorkloadNetworksInfo": { + "required": [ + "supervisor_primary_workload_network" + ], + "type": "object", + "properties": { + "supervisor_primary_workload_network": { + "description": "\n\nvSphere Namespaces network used by Kubernetes control plane VMs to access load-balanced services on the various workload networks.\n\n\n\nThis property was added in __vSphere API 7.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Info" + } + ] + }, + "network_list": { + "type": "array", + "description": "List of vSphere Namespaces networks associated with this cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null` no additional networks are associated with the cluster.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Info" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.WorkloadNetworksInfo contains information related to configuration of vSphere Namespaces Network objects.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.Clusters.NetworkSpec": { + "required": [ + "mode", + "network" + ], + "type": "object", + "properties": { + "floating_ip": { + "type": "string", + "description": "Optionally specify the Floating IP used by the cluster control plane in case of DHCP.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing effective management network floating IP will be used." + }, + "network": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__. Use *Vcenter.NamespaceManagement.Clusters.NetworkSpec.network_segment* instead.\n\nIdentifier for the network.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`.", + "deprecated": true + }, + "network_segment": { + "description": "Backing Network segment.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, *Vcenter.NamespaceManagement.Clusters.NetworkSpec.network* is used as the backing network. Otherwise, this value takes precedence over *Vcenter.NamespaceManagement.Clusters.NetworkSpec.network*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.NetworkSegment" + } + ] + }, + "mode": { + "type": "string", + "description": "The address assignment mode.\n\nPossible values:\n - `DHCP`: The address is automatically assigned by a DHCP server.\n - `STATICRANGE`: The address is static.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkSpec.Ipv4Mode*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "address_range": { + "description": "Settings for the interfaces on the network.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of mode is *Vcenter.NamespaceManagement.Clusters.NetworkSpec.Ipv4Mode.STATICRANGE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Ipv4Range" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.NetworkSpec contains information related to network configuration for one or more interfaces.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.NetworkSpec.Ipv4Mode": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Clusters.NetworkSpec.Ipv4Mode enumerated type defines various IPv4 address assignment modes.\n\nPossible values:\n - `DHCP`: The address is automatically assigned by a DHCP server.\n - `STATICRANGE`: The address is static.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "DHCP", + "STATICRANGE" + ] + }, + "Vcenter.NamespaceManagement.Clusters.ImageRegistry": { + "required": [ + "hostname" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "IP address or the hostname of container image registry.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "port": { + "type": "integer", + "description": "Port number of the container image registry.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, defaults to 443.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.ImageRegistry schema contains the specification required to configure container image registry endpoint.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.ImageStorageSpec": { + "required": [ + "storage_policy" + ], + "type": "object", + "properties": { + "storage_policy": { + "type": "string", + "description": "Identifier of the storage policy.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.ImageStorageSpec schema contains the specification required to configure storage used for container images.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo": { + "required": [ + "cluster_distributed_switch", + "default_ingress_tls_certificate", + "egress_cidrs", + "ingress_cidrs", + "nsx_edge_cluster", + "pod_cidrs" + ], + "type": "object", + "properties": { + "pod_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates pod IP addresses.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "cluster_distributed_switch": { + "type": "string", + "description": "\n\nvSphere Distributed Switch used to connect this cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `vSphereDistributedSwitch`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `vSphereDistributedSwitch`." + }, + "nsx_edge_cluster": { + "type": "string", + "description": "NSX Edge cluster to be used for Kubernetes Services of type LoadBalancer, Kubernetes Ingresses, and NSX SNAT.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXEdgeCluster`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXEdgeCluster`." + }, + "default_ingress_tls_certificate": { + "type": "string", + "description": "PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "nsx_tier0_gateway": { + "type": "string", + "description": "NSX Tier0 Gateway used for this Supervisor.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis is set when the cluster uses NSX.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXTier0Gateway`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXTier0Gateway`." + }, + "namespace_subnet_prefix": { + "type": "integer", + "description": "Size of the subnet reserved for namespaces segments.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, defaults to 28.", + "format": "int64" + }, + "routed_mode": { + "type": "boolean", + "description": "Routed mode for this Supervisor.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, defaults to False." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo schema contains the NSX Container Plugin-specific cluster networking configuration.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec": { + "required": [ + "egress_cidrs", + "ingress_cidrs", + "pod_cidrs" + ], + "type": "object", + "properties": { + "pod_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates pod IP addresses. This range should not overlap with those in *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.ingress_cidrs*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.egress_cidrs*, or other services running in the datacenter. All Pod CIDR blocks must be of at least subnet size /23.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.pod_cidrs*, *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.egress_cidrs*, or other services running in the datacenter. All Ingress CIDR blocks must be of at least subnet size /30.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.pod_cidrs*, *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.ingress_cidrs*, or other services running in the datacenter. All Egress CIDR blocks must be of at least subnet size /30.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "cluster_distributed_switch": { + "type": "string", + "description": "vSphere Distributed Switch used to connect this cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis field is required when configuring a cluster that uses NSX. If missing or `null` and using NSXe, the system will choose a suitable vSphere Distributed Switch.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `vSphereDistributedSwitch`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `vSphereDistributedSwitch`." + }, + "nsx_edge_cluster": { + "type": "string", + "description": "NSX Edge cluster to be used for Kubernetes Services of type LoadBalancer, Kubernetes Ingresses, and NSX SNAT.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis field is required when configuring a cluster that uses NSX. If missing or `null` and using NSXe, the system will choose a suitable NSX Edge cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXEdgeCluster`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXEdgeCluster`." + }, + "nsx_tier0_gateway": { + "type": "string", + "description": "NSX Tier0 Gateway used for this Supervisor.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis field is required when configuring a cluster that uses NSX.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXTier0Gateway`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXTier0Gateway`." + }, + "namespace_subnet_prefix": { + "type": "integer", + "description": "Size of the subnet reserved for namespaces segments.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, defaults to 28.", + "format": "int64" + }, + "routed_mode": { + "type": "boolean", + "description": "Routed mode for this Supervisor. When set to True, the traffic in the cluster is not NATed. When this field is set to True, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.egress_cidrs* is not allowed.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, defaults to False." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec schema encapsulates the NSX Container Plugin-specific cluster networking configuration parameters for the vSphere Namespaces Cluster Enable operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec": { + "type": "object", + "properties": { + "pod_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates pod IP addresses. This range should not overlap with those in *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.ingress_cidrs*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.egress_cidrs*, or other services running in the datacenter. An update operation only allows for addition of new CIDR blocks to the existing list. All Pod CIDR blocks must be of at least subnet size /23.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, CIDRs from which Kubernetes allocates pod IP addresses will not be modified.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.pod_cidrs*, *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.egress_cidrs*, or other services running in the datacenter. An update operation only allows for addition of new CIDR blocks to the existing list. All Ingress CIDR blocks must be of at least subnet size /30.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, CIDRs from which Kubernetes allocates ingress IP addresses will not be modified.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.pod_cidrs*, *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.ingress_cidrs*, or other services running in the datacenter. An update operation only allows for addition of new CIDR blocks to the existing list. All Egress CIDR blocks must be of at least subnet size /30.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, CIDR from which Kubernetes allocates egress IP addresses will not be modified.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "default_ingress_tls_certificate": { + "type": "string", + "description": "PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services. Certificate(s) used can be created by one of the two supported methods: \n\n1. By signing the Certificate Signing Request obtained from the Namespace Certificate Management API. \n\nOR \n\n2. By creating a certificate using public key cryptography. In such case the certificate *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.default_ingress_tls_certificate* should be specified along with the private key *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.default_ingress_tls_private_key* used to generate the certificate. \n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the Kubernetes Ingress services certificate will not be modified." + }, + "default_ingress_tls_private_key": { + "type": "string", + "description": "Private Key matching *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.default_ingress_tls_certificate* \n\nWhen using certificates generated externally by the user and not using Certificate Signing Request obtained from Namespace Certificate Management API, users should be able to specify the private key which was used to generate the certificate *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.default_ingress_tls_certificate*. \n\nUsers with externally generated key pairs can import their own public key certificates and key pairs.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` and *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.default_ingress_tls_certificate* is specified then the Supervisor will attempt to find a matching key that was generated with Certificate Signing Request. Otherwise, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec.default_ingress_tls_private_key* will not be modified.", + "format": "password" + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec schema encapsulates the NSX Container Plugin-specific cluster networking configuration parameters for the vSphere Namespaces Cluster Update operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.VpcClusterNetworkUpdateSpec": { + "type": "object", + "properties": { + "default_private_cidrs": { + "type": "array", + "description": "Default CIDR blocks from which private subnets are allocated for new VPCs. Updating does not affect existing VPCs, but rather establishes the default for all new namespaces. This range should not overlap with the IP blocks defined in *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile*, *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.ip_management*, or other services running in the datacenter. \n\nChanging to use invalid CIDR e.g. overlapping or broadcast or reserved CIDR will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.VpcClusterNetworkUpdateSpec schema encapsulates the NSX VPC cluster networking configuration parameters for the vSphere Namespaces Cluster Update operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec": { + "required": [ + "default_ingress_tls_certificate", + "egress_cidrs", + "ingress_cidrs", + "pod_cidrs" + ], + "type": "object", + "properties": { + "pod_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates pod IP addresses. This range should not overlap with those in *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec.ingress_cidrs*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec.egress_cidrs*, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list. All Pod CIDR blocks must be of at least subnet size /23.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec.pod_cidrs*, *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec.egress_cidrs*, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list. All Ingress CIDR blocks must be of at least subnet size /30.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec.pod_cidrs*, *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec.ingress_cidrs*, or other services running in the datacenter. A set operation only allows for addition of new CIDR blocks to the existing list. All Egress CIDR blocks must be of at least subnet size /30.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "default_ingress_tls_certificate": { + "type": "string", + "description": "PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec schema encapsulates the NSX Container Plugin-specific cluster networking configuration parameters for the vSphere Namespaces Cluster Set operation.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.VpcClusterNetworkSetSpec": { + "type": "object", + "properties": { + "default_private_cidrs": { + "type": "array", + "description": "Default CIDR blocks from which private subnets are allocated for new VPCs. Setting does not affect existing VPCs, but rather establishes the default for all new namespaces. This range should not overlap with those in *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile*, *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.ip_management*, or other services running in the datacenter. Changing to use invalid CIDR e.g. overlapping or broadcast or reserved CIDR will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.VpcClusterNetworkSetSpec schema encapsulates the NSX VPC cluster networking configuration parameters for the vSphere Namespaces Cluster Set operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.EnableSpec": { + "required": [ + "ephemeral_storage_policy", + "image_storage", + "master_management_network", + "master_storage_policy", + "network_provider", + "service_cidr", + "size_hint" + ], + "type": "object", + "properties": { + "size_hint": { + "type": "string", + "description": "This affects the size and resources allocated to the Kubernetes API server. It also affects the suggested default serviceCidr and podCidrs.\n\nPossible values:\n - `TINY`: Cluster size of 'tiny'.\n - `SMALL`: Cluster size of 'small'.\n - `MEDIUM`: Cluster size of 'medium'.\n - `LARGE`: Cluster size of 'large'.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SizingHint*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "service_cidr": { + "description": "CIDR block from which Kubernetes allocates service cluster IP addresses. This range should not overlap with those in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.pod_cidrs*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.ingress_cidrs*, *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec.egress_cidrs*, or other services running in the datacenter.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + ] + }, + "network_provider": { + "type": "string", + "description": "The provider of cluster networking for this vSphere Namespaces cluster.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ncp_cluster_network_spec": { + "description": "Specification for the NSX Container Plugin cluster network.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkEnableSpec" + } + ] + }, + "workload_networks_spec": { + "description": "Specification for the workload networks to be associated with the cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec" + } + ] + }, + "workload_ntp_servers": { + "type": "array", + "description": "List of NTP server DNS names or IP addresses to use for workloads such as Kubernetes Cluster VMs, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, NTP server for Kubernetes API servers will be used.", + "items": { + "type": "string" + } + }, + "load_balancer_config_spec": { + "description": "The load balancer configuration is derived from the user-provisioned load balancer that will be used to operate a load balancer that fronts vSphere Namespaces cluster servers, Kubernetes Cluster API servers, and other servers upon request. \n\nThis configuration is required for network providers that do not have a default load balancer included.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.ConfigSpec" + } + ] + }, + "master_management_network": { + "description": "Specification for the management network on Kubernetes API server. *Vcenter.NamespaceManagement.Clusters.NetworkSpec.mode* must be STATICRANGE as we require Kubernetes API server to have a stable address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.NetworkSpec" + } + ] + }, + "master_dns": { + "type": "array", + "description": "List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default DNS servers are set.", + "items": { + "type": "string" + } + }, + "worker_dns": { + "type": "array", + "description": "List of DNS server IP addresses to use on the worker nodes, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default DNS servers are set.", + "items": { + "type": "string" + } + }, + "master_dns_search_domains": { + "type": "array", + "description": "List of domains (for example \"vmware.com\") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default DNS search domains are set.", + "items": { + "type": "string" + } + }, + "master_ntp_servers": { + "type": "array", + "description": "List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, VMware Tools based time synchronization is enabled.", + "items": { + "type": "string" + } + }, + "master_storage_policy": { + "type": "string", + "description": "Identifier of storage policy associated with Kubernetes API server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "ephemeral_storage_policy": { + "type": "string", + "description": "Identifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "cns_file_config": { + "description": "Specification for configuring Cloud Native Storage file volume support on Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this cluster and/or external clusters.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, file volume support will not be enabled on this Supervisor.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.CNSFileConfig" + } + ] + }, + "login_banner": { + "type": "string", + "description": "Disclaimer to be displayed prior to login via the Kubectl plugin.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, just skip it." + }, + "master_dns_names": { + "type": "array", + "description": "List of DNS names to associate with the Kubernetes API server. These DNS names are embedded in the TLS certificate presented by the API server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no DNS names are embedded in the TLS certificate.", + "items": { + "type": "string" + } + }, + "image_storage": { + "description": "Specification for storage to be used for container images.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ImageStorageSpec" + } + ] + }, + "default_image_registry": { + "description": "Default image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, defaults to Docker Hub.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ImageRegistry" + } + ] + }, + "default_image_repository": { + "type": "string", + "description": "Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, defaults to Docker Hub official repository in case of Docker Hub image registry, otherwise defaults to empty string." + }, + "default_kubernetes_service_content_library": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Clusters.EnableSpec.content_libraries* instead.\n\nIdentifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. \n\nThis Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the Content Library will be automatically generated and configured to the Supervisor.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`.", + "deprecated": true + }, + "cluster_proxy_config": { + "description": "Proxy configuration that will be applied to the Supervisor. The proxy should be reachable from the management network and will be used for image pulling and container traffic exiting out of the Supervisor.\n\nThis property was added in __vSphere API 7.0.3.00100__.\n\nIf missing or `null` the settings will be inherited from the vCenter settings if available.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ProxyConfiguration" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "List of Content Libraries that will be associated with a Supervisor. This list should refer to existing Content Libraries in the vSphere inventory. These Content Libraries and the Content Library items belonging to them will be read-only across all vSphere Namespaces. If *Vcenter.NamespaceManagement.Clusters.EnableSpec.default_kubernetes_service_content_library* is set, the Content Library identifier will be migrated to this property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, a subscribed Content Library, subscribed to VMware's hosted vSphere Kubernetes Service Repository, will be automatically created and configured to the Supervisor.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ContentLibrarySpec" + } + }, + "count": { + "type": "integer", + "description": "Number of control planes requested during Supervisor enablement. The allowed values are either 1 or 3.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to 3.", + "format": "int64" + }, + "enable_namespace_api_fairness": { + "type": "boolean", + "description": "Enable Kubernetes API Fairness across Supervisor Namespaces. When set to true, ensures equitable access to Supervisor's API resources by preventing resource monopolization from individual workloads or namespaces. It achieves this by imposing equal concurrency limits on API requests across all namespaces.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to True." + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.EnableSpec schema contains the specification required to enable vSphere Namespaces on a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.UpdateSpec": { + "type": "object", + "properties": { + "vsphere_pods_enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.VspherePodSettings.UpdateSpec.vsphere_pods_enabled* instead. \n\nA boolean indicating whether vSphere Pods support should be enabled. It is currently only possible to enable vSphere Pod support post Supervisor enablement, not disable it.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to False.", + "deprecated": true + }, + "supervisor_services_enabled": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings.UpdateSpec.supervisor_services_enabled* instead. \n\nA boolean indicating whether Supervisor Service support should be enabled. It is currently only possible to enable Supervisor Service support post Supervisor enablement, not disable it. Supervisor Services that rely on vSphere Pod support will not be installed unless vSphere Pod support is enabled.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to False.", + "deprecated": true + }, + "size_hint": { + "type": "string", + "description": "This affects the size and resources allocated to the Kubernetes API server.\n\nPossible values:\n - `TINY`: Cluster size of 'tiny'.\n - `SMALL`: Cluster size of 'small'.\n - `MEDIUM`: Cluster size of 'medium'.\n - `LARGE`: Cluster size of 'large'.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SizingHint*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, size and resources allocated to Kubernetes API server will not be modified." + }, + "floating_ip": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.ControlPlane.Networks.Settings.UpdateSpec#floatingIPAddress instead. \n\nOptionally, you can edit the floating IP address that is assigned to the Supervisor in case the DHCP server fails during the Supervisor enablement process. The field is only relevant when the DHCP mode of the Supervisor management network is set with *Vcenter.NamespaceManagement.Clusters.EnableSpec.master_management_network*. Set this floating IP parameter to remediate a supervisor enablement failure in the case where it was detected that the DHCP server does not support DHCP client identifiers.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing effective management network floating IP will not be modified.", + "deprecated": true + }, + "network_provider": { + "type": "string", + "description": "The provider of cluster networking for this vSphere Namespaces cluster.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing effective cluster network specification will not be modified." + }, + "ncp_cluster_network_spec": { + "description": "Updated specification for the cluster network configuration.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing effective cluster network specification will not be modified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkUpdateSpec" + } + ] + }, + "vpc_cluster_network_spec": { + "description": "Updated specification for the cluster network configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing effective cluster network specification will not be modified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.VpcClusterNetworkUpdateSpec" + } + ] + }, + "supervisor_primary_workload_network": { + "type": "string", + "description": "Identifier of the Supervisor Primary workload network configuration. The Supervisor Primary workload network configuration refers to a network configuration used by Supervisor Kubernetes control plane VMs to expose Kubernetes API server to users and other workloads. \n\nThe network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* cannot be *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the current value remains unchanged.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "master_dns": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.ControlPlane.Networks.Settings.DNSUpdateSpec#serversToAdd instead. \n\nList of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf set, DNS servers set on Kubernetes API server will be replaced. Otherwise, they will not be modified.", + "deprecated": true, + "items": { + "type": "string" + } + }, + "worker_dns": { + "type": "array", + "description": "List of DNS server IP addresses to use on the worker nodes, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf set, DNS servers set on worker nodes will be replaced. Otherwise, they will not be modified.", + "items": { + "type": "string" + } + }, + "master_dns_search_domains": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.control_plane.networks.Settings.NTPUpdateSpec#searchDomains instead. \n\nList of domains (for example \"vmware.com\") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf set, DNS search domains on Kubernetes API server will be replaced. Otherwise, they will not be modified.", + "deprecated": true, + "items": { + "type": "string" + } + }, + "master_ntp_servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NTPUpdateSpec.servers_to_add* instead. \n\nList of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf set, NTP servers on Kubernetes API server will be replaced. Otherwise, they will not be modified.", + "deprecated": true, + "items": { + "type": "string" + } + }, + "master_storage_policy": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.control_plane.storage.UpdateSpec.defaultPolicy instead. \n\nIdentifier of storage policy associated with Kubernetes API server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, storage policy associated with Kubernetes API server will not be modified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`.", + "deprecated": true + }, + "ephemeral_storage_policy": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use com.vmware.vcenter.namespace_management.supervisors.workloads.storage.UpdateSpec.ephemeralStoragePolicy instead. \n\nIdentifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, storage policy associated with ephemeral disks of all the Kubernetes Pods will not be modified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`.", + "deprecated": true + }, + "cns_file_config": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes.UpdateSpec.file_volumes_enabled* instead. \n\nSpecification for configuring Cloud Native Storage file volume support on Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this cluster and/or external clusters.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, configuration for file volumes will remain unchanged.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.CNSFileConfig" + } + ] + }, + "login_banner": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.UpdateSpec.login_banner* instead. \n\nDisclaimer to be displayed prior to login via the Kubectl plugin.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, disclaimer to be displayed prior to login via the Kubectl plugin will not be modified.", + "deprecated": true + }, + "master_dns_names": { + "type": "array", + "description": "List of DNS names to associate with the Kubernetes API server. These DNS names are embedded in the CSR for TLS certificate presented by the API server. The provided value will replace existing DNS names.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nIf missing or `null`, existing DNS names will not be modified.", + "items": { + "type": "string" + } + }, + "image_storage": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.UpdateSpec.image_storage_policy* instead. \n\nSpecification for storage to be used for container images.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, configuration of storage used for container images is not modified.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ImageStorageSpec" + } + ] + }, + "default_image_registry": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec.registry* instead. \n\nDefault image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, default image registry will not be modified.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ImageRegistry" + } + ] + }, + "default_image_repository": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec.repository* instead. \n\nDefault image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, default image repository will not be modified.", + "deprecated": true + }, + "tls_endpoint_certificate": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate* instead. \n\nPEM-encoded x509 certificate(s) issued for Kubernetes API Server. Certificate(s) used can be created by one of the two supported methods: \n\n1. By signing the Certificate Signing Request obtained from the Namespace Certificate Management API. \n\nOR \n\n2. By creating a certificate using public key cryptography. In such case the certificate *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_certificate* should be specified along with the private key *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_private_key* used to generate the certificate. \n\nBecause a Kubernetes CertificateSigningRequest is created on an existing Namespaces-enabled cluster, you must use the Vcenter.NamespaceManagement.Clusters.UpdateSpec to specify this *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_certificate* on an existing cluster rather than during initially enabling Namespaces on a cluster. \n\nIn case of providing the trust chain, the certificates should be simply concatenated into a single string.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, Kubernetes API Server certificate(s) will not be modified.", + "deprecated": true + }, + "tls_endpoint_private_key": { + "type": "string", + "description": "Private Key matching *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_certificate* \n\nWhen using certificates generated externally by the user and not using Certificate Signing Request obtained from Namespace Certificate Management API, users should be able to specify the private key which was used to generate the certificate *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_certificate*. \n\nUsers with externally generated key pairs can import their own public key certificates and key pairs.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` and *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_certificate* is specified then the Supervisor will attempt to find a matching key that was generated with Certificate Signing Request. Otherwise, *Vcenter.NamespaceManagement.Clusters.UpdateSpec.tls_endpoint_private_key* will not be modified.", + "format": "password" + }, + "default_kubernetes_service_content_library": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Clusters.UpdateSpec.content_libraries* instead.\n\nIdentifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. \n\nThis Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository. \n\nModifying or clearing the Content Library identifier will not affect existing vSphere Kubernetes Service clusters. However, upgrades or scale-out of existing clusters may be affected if the new Content Library doesn't have the necessary VM Images.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the Content Library will not be modified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`.", + "deprecated": true + }, + "workload_ntp_servers": { + "type": "array", + "description": "List of NTP server DNS names or IP addresses to use for workloads such as Kubernetes Cluster VMs, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, NTP servers for workloads will be unmodified. instead.", + "items": { + "type": "string" + } + }, + "cluster_proxy_config": { + "description": "\n\nProxy configuration that will be applied to the Supervisor. The proxy should be reachable from the management network and will be used for image pulling and container traffic exiting out of the Supervisor. \n\nModifying these settings will result in a restart of the container runtime. Workloads might fail to pull their images for a short period of time. \n\nThere will be no effect on the currently running containers.\n\nThis property was added in __vSphere API 7.0.3.00100__.\n\nIf missing or `null` no change will be made to the cluster.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ProxyConfiguration" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec.content_libraries* instead. \n\nList of Content Libraries that will be associated with a Supervisor. This list should refer to existing Content Libraries in the vSphere inventory. These Content Libraries and the Content Library items belonging to them will be read-only across all vSphere Namespaces. If *Vcenter.NamespaceManagement.Clusters.UpdateSpec.default_kubernetes_service_content_library* is set, the Content Library identifier will be migrated to this property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, no Content Libraries will be set for the Supervisor.", + "deprecated": true, + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ContentLibrarySpec" + } + }, + "count": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.UpdateSpec.count* instead. \n\nTotal number of control planes associated with a Supervisor. If the existing count is 1, the allowed values are either 1 or 3.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or the existing count is 3, no change will be made to the Supervisor.", + "format": "int64", + "deprecated": true + }, + "enable_namespace_api_fairness": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.UpdateSpec.namespace_api_fairness_enabled* instead. \n\nEnable Kubernetes API Fairness across Supervisor Namespaces. When set to true, ensures equitable access to Supervisor's API resources by preventing resource monopolization from individual workloads or namespaces. It achieves this by imposing equal concurrency limits on API requests across all namespaces.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no change will be made to the Supervisor.", + "deprecated": true + }, + "max_concurrent_dns_forwards": { + "type": "integer", + "description": "This configuration setting applies to the DNS forwarder running on each Supervisor control plane VM. It determines the maximum number of concurrent DNS requests that can be sent to upstream *Vcenter.NamespaceManagement.Clusters.UpdateSpec.worker_DNS* servers from the Supervisor, which is calculated by multiplying this value by the *Vcenter.NamespaceManagement.Clusters.UpdateSpec.count* value. This value must be greater than or equal to 0. If set to 0, no limit will be imposed on the maximum number of concurrent requests that can be forwarded.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing value will not be modified. instead.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.UpdateSpec schema contains the specification required to update the configuration on the Cluster. This schema is applied partially, and only the specified fields will replace or modify their existing counterparts.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Clusters.SetSpec": { + "required": [ + "ephemeral_storage_policy", + "image_storage", + "master_storage_policy", + "network_provider", + "size_hint" + ], + "type": "object", + "properties": { + "size_hint": { + "type": "string", + "description": "This affects the size and resources allocated to the Kubernetes API server.\n\nPossible values:\n - `TINY`: Cluster size of 'tiny'.\n - `SMALL`: Cluster size of 'small'.\n - `MEDIUM`: Cluster size of 'medium'.\n - `LARGE`: Cluster size of 'large'.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SizingHint*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "floating_ip": { + "type": "string", + "description": "Optionally, you can edit the floating IP address that is assigned to the Supervisor in case the DHCP server fails during the Supervisor enablement process. The field is only relevant when the DHCP mode of the Supervisor management network is set with *Vcenter.NamespaceManagement.Clusters.EnableSpec.master_management_network*. \n\nSet this floating IP parameter to remediate a supervisor enablement failure in the case where it was detected that the DHCP server does not support DHCP client identifiers.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing effective management network floating IP will not be modified." + }, + "network_provider": { + "type": "string", + "description": "The provider of cluster networking for this vSphere Namespaces cluster.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ncp_cluster_network_spec": { + "description": "Specification for the NSX Container Plugin cluster network.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkSetSpec" + } + ] + }, + "vpc_cluster_network_spec": { + "description": "Specification for the NSX VPC network.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSX_VPC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.VpcClusterNetworkSetSpec" + } + ] + }, + "supervisor_primary_workload_network": { + "type": "string", + "description": "Identifier of the Supervisor Primary workload network configuration. The Supervisor Primary workload network configuration refers to a network configuration used by Supervisor Kubernetes control plane VMs to expose Kubernetes API server to users and other workloads. \n\nThe network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* cannot be *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the current value remains unchanged.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "master_dns": { + "type": "array", + "description": "List of DNS server IP addresses to use on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, DNS servers set on Kubernetes API server will be cleared.", + "items": { + "type": "string" + } + }, + "worker_dns": { + "type": "array", + "description": "List of DNS server IP addresses to use on the worker nodes, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, DNS servers set on worker nodes will be cleared.", + "items": { + "type": "string" + } + }, + "master_dns_search_domains": { + "type": "array", + "description": "List of domains (for example \"vmware.com\") to be searched when trying to lookup a host name on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, DNS search domains set on Kubernetes API server will be cleared.", + "items": { + "type": "string" + } + }, + "master_ntp_servers": { + "type": "array", + "description": "List of NTP server DNS names or IP addresses to use on Kubernetes API server, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, VMware Tools based time synchronization is enabled and any set NTP servers are cleared.", + "items": { + "type": "string" + } + }, + "master_storage_policy": { + "type": "string", + "description": "Identifier of storage policy associated with Kubernetes API server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "ephemeral_storage_policy": { + "type": "string", + "description": "Identifier of storage policy associated with ephemeral disks of all the Kubernetes Pods in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "cns_file_config": { + "description": "Specification for configuring Cloud Native Storage file volume support on Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this cluster and/or external clusters.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, file volume support will not be enabled on this Supervisor.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.CNSFileConfig" + } + ] + }, + "login_banner": { + "type": "string", + "description": "Disclaimer to be displayed prior to login via the Kubectl plugin.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, disclaimer to be displayed prior to login via the Kubectl plugin will be cleared." + }, + "master_dns_names": { + "type": "array", + "description": "List of DNS names to associate with the Kubernetes API server. These DNS names are embedded in the CSR for TLS certificate presented by the API server. The provided value will replace existing DNS names.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nIf missing or `null`, existing DNS names will be cleared.", + "items": { + "type": "string" + } + }, + "image_storage": { + "description": "Specification for storage to be used for container images.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ImageStorageSpec" + } + ] + }, + "default_image_registry": { + "description": "Default image registry to use when Kubernetes Pod container specification does not specify it as part of the container image name.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, default image registry will be set to Docker Hub.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ImageRegistry" + } + ] + }, + "default_image_repository": { + "type": "string", + "description": "Default image repository to use when Kubernetes Pod container specification does not specify it as part of the container image name.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, default image repository will be set to Docker Hub official repository in case of Docker Hub image registry, otherwise will be set to empty string." + }, + "default_kubernetes_service_content_library": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Clusters.SetSpec.content_libraries* instead.\n\nIdentifier of the Content Library which holds the VM Images for vSphere Kubernetes Service. \n\nThis Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository. \n\nModifying or clearing the Content Library identifier will not affect existing vSphere Kubernetes Service clusters. However, upgrades or scale-out of existing clusters may be affected if the new Content Library doesn't have the necessary VM Images.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the Content Library identifier will be cleared.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`.", + "deprecated": true + }, + "workload_ntp_servers": { + "type": "array", + "description": "List of NTP server DNS names or IP addresses to use for workloads such as Kubernetes Cluster VMs, specified in order of preference.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, NTP for Kubernetes API servers will be used.", + "items": { + "type": "string" + } + }, + "cluster_proxy_config": { + "description": "\n\nProxy configuration that will be applied to the Supervisor. The proxy should be reachable from the management network and will be used for image pulling and container traffic exiting out of the Supervisor. \n\nModifying these settings will result in a restart of the container runtime. Workloads might fail to pull their images for a short period of time. \n\nThere will be no effect on the currently running containers.\n\nThis property was added in __vSphere API 7.0.3.00100__.\n\nIf missing or `null` the settings will be inherited from the vCenter settings if available.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ProxyConfiguration" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "List of Content Libraries that will be associated a the Supervisor. This list should refer to existing Content Libraries in the vSphere inventory. These Content Libraries and the Content Library items belonging to them will be read-only across all vSphere Namespaces. If *Vcenter.NamespaceManagement.Clusters.SetSpec.default_kubernetes_service_content_library* is set, the Content Library identifier will be migrated to this property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, no Content Libraries will be set for the Supervisor.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.ContentLibrarySpec" + } + }, + "count": { + "type": "integer", + "description": "Total number of control planes associated with a Supervisor. Permitted values are 1 or 3. Attempting to scale in by reducing the desired count is not supported.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no change will be made to the Supervisor.", + "format": "int64" + }, + "vsphere_pods_enabled": { + "type": "boolean", + "description": "A boolean indicating whether vSphere Pods support should be enabled. It is currently only possible to enable vSphere Pod support post Supervisor enablement, not disable it.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to False." + }, + "supervisor_services_enabled": { + "type": "boolean", + "description": "A boolean indicating whether Supervisor Service support should be enabled. It is currently only possible to enable Supervisor Service support post Supervisor enablement, not disable it. Supervisor Services that rely on vSphere Pod support will not be installed unless vSphere Pod support is enabled.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to False." + }, + "enable_namespace_api_fairness": { + "type": "boolean", + "description": "Enable Kubernetes API Fairness across Supervisor Namespaces. When set to true, ensures equitable access to Supervisor's API resources by preventing resource monopolization from individual workloads or namespaces. It achieves this by imposing equal concurrency limits on API requests across all namespaces.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no change will be made to the Supervisor." + }, + "max_concurrent_dns_forwards": { + "type": "integer", + "description": "This configuration setting applies to the DNS forwarder running on each Supervisor control plane VM. It determines the maximum number of concurrent DNS requests that can be sent to upstream *Vcenter.NamespaceManagement.Clusters.SetSpec.worker_DNS* servers from the Supervisor, which is calculated by multiplying this value by the *Vcenter.NamespaceManagement.Clusters.SetSpec.count* value. This value must be greater than or equal to 0. If set to 0, no limit will be imposed on the maximum number of concurrent requests that can be forwarded.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing value will not be modified.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Clusters.SetSpec schema contains the specification required to set a new configuration on the Cluster. This schema is applied in entirety, replacing the current specification fully.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.HostsConfig.Info": { + "required": [ + "namespaces_licensed", + "namespaces_supported" + ], + "type": "object", + "properties": { + "namespaces_supported": { + "type": "boolean", + "description": "True if vSphere Namespace feature is supported in this VC.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "namespaces_licensed": { + "type": "boolean", + "description": "True if vSphere Namespace feature is licensed on any hosts in this VC.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.HostsConfig.Info schema contains information about vSphere Namespaces support and licensing.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.ConfigStatus": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.ConfigStatus enumerated type defines the states in which infrastructure policy may be.\n\nPossible values:\n - `READY`: Infrastructure policy can be attached to vSphere Namespaces.\n - `DELETING`: Infrastructure policy is pending deletion and cannot be modified or attached to new vSphere Namespaces, it will be deleted when it is no longer associated with any vSphere Namespace.\n - `UNBOUND`: Associated com.vmware.vcenter.compute.Policy no longer exists and infrastructure policy cannot be used with vSphere Namespaces. Infrastructure Policies currently applied to vSphere Namespaces are not applied to workloads.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "READY", + "DELETING", + "UNBOUND" + ] + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.EnforcementMode": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.EnforcementMode enumerated type defines whether a policy will be automatically applied to workloads by default.\n\nPossible values:\n - `MANDATORY`: Policy will be automatically evaluated against all workloads in the vSphere Namespace this policy is applied to.\n - `OPTIONAL`: A policy will not be applied automatically. A user with access to the vSphere Namespace will be eligible to apply it to any workload in that namespace. The workload must match the conditions defined in *Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec* for the policy to be effective.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "MANDATORY", + "OPTIONAL" + ] + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.BooleanOperation": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.BooleanOperation enumerated type defines boolean operations for combining match conditions.\n\nPossible values:\n - `AND`: All conditions must match (logical AND).\n - `OR`: At least one condition must match (logical OR).\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "AND", + "OR" + ] + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.ValueSelectorOperator": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.ValueSelectorOperator enumerated type defines the operators that can be used for value matching.\n\nPossible values:\n - `IS_EQUAL`: Operands must match exactly.\n - `IS_NOT_EQUAL`: Operands must not match.\n - `CONTAINS`: Operand being compared must contain the other.\n - `DOES_NOT_CONTAIN`: Operand being compared must not contain the other.\n - `HAS_PREFIX`: Compared value must have a prefix specified by the operand.\n - `DOES_NOT_HAVE_PREFIX`: Compared value must not have a prefix specified by the operand.\n - `HAS_SUFFIX`: Compared value must have a suffix specified by the operand.\n - `DOES_NOT_HAVE_SUFFIX`: Compared value must not have a suffix specified by the operand.\n - `MATCHES`: Compared Value must match the regular expression specified by the operand.\n - `DOES_NOT_MATCH`: Compared Value must not match the regular expression specified by the operand.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "IS_EQUAL", + "IS_NOT_EQUAL", + "CONTAINS", + "DOES_NOT_CONTAIN", + "HAS_PREFIX", + "DOES_NOT_HAVE_PREFIX", + "HAS_SUFFIX", + "DOES_NOT_HAVE_SUFFIX", + "MATCHES", + "DOES_NOT_MATCH" + ] + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.LabelSelectorOperator": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.LabelSelectorOperator enumerated type defines the operators that can be used for label selector requirements.\n\nPossible values:\n - `IS_IN`: Label key must exist with value in the specified list.\n - `IS_NOT_IN`: Label key must exist with value not in the specified list.\n - `EXISTS`: Label key must exist.\n - `DOES_NOT_EXIST`: Label key must not exist.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "IS_IN", + "IS_NOT_IN", + "EXISTS", + "DOES_NOT_EXIST" + ] + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.WorkloadKind": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.WorkloadKind enumerated type defines the kind of workload to restrict matching to.\n\nPossible values:\n - `VIRTUAL_MACHINE`: Virtual Machine workload.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "VIRTUAL_MACHINE" + ] + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.GuestFamilyType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.GuestFamilyType enumerated type represents guest operating system families.\n\nPossible values:\n - `DARWIN`: Darwin (macOS) guest family.\n - `LINUX`: Linux guest family.\n - `NETWARE`: NetWare guest family.\n - `SOLARIS`: Solaris guest family.\n - `WINDOWS`: Windows guest family.\n - `OTHER`: Other guest family.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "DARWIN", + "LINUX", + "NETWARE", + "SOLARIS", + "WINDOWS", + "OTHER" + ] + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.StringMatchSpec": { + "type": "object", + "properties": { + "op": { + "type": "string", + "description": "The operator that describes the operation performed against the specified value.\n\nPossible values:\n - `IS_EQUAL`: Operands must match exactly.\n - `IS_NOT_EQUAL`: Operands must not match.\n - `CONTAINS`: Operand being compared must contain the other.\n - `DOES_NOT_CONTAIN`: Operand being compared must not contain the other.\n - `HAS_PREFIX`: Compared value must have a prefix specified by the operand.\n - `DOES_NOT_HAVE_PREFIX`: Compared value must not have a prefix specified by the operand.\n - `HAS_SUFFIX`: Compared value must have a suffix specified by the operand.\n - `DOES_NOT_HAVE_SUFFIX`: Compared value must not have a suffix specified by the operand.\n - `MATCHES`: Compared Value must match the regular expression specified by the operand.\n - `DOES_NOT_MATCH`: Compared Value must not match the regular expression specified by the operand.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.ValueSelectorOperator*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to *Vcenter.NamespaceManagement.InfrastructurePolicies.ValueSelectorOperator.IS_EQUAL*." + }, + "value": { + "type": "string", + "description": "The value that describes the subject of the evaluation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no value matching is performed." + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.StringMatchSpec schema contains string matching criteria.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.LabelSelectorRequirement": { + "required": [ + "key", + "operator" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The label key that the selector applies to.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "operator": { + "type": "string", + "description": "The operator that relates the key and values.\n\nPossible values:\n - `IS_IN`: Label key must exist with value in the specified list.\n - `IS_NOT_IN`: Label key must exist with value not in the specified list.\n - `EXISTS`: Label key must exist.\n - `DOES_NOT_EXIST`: Label key must not exist.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.LabelSelectorOperator*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "values": { + "type": "array", + "description": "An array of string values. If the operator is ValueSelectorOperator#IS_IN or ValueSelectorOperator#IS_NOT_IN, the values array must be non-empty. If the operator is ValueSelectorOperator#EXISTS or ValueSelectorOperator#DOES_NOT_EXIST, the values array must be empty.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nRequired for ValueSelectorOperator#IS_IN and ValueSelectorOperator#IS_NOT_IN operators, ignored for others.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.LabelSelectorRequirement schema contains a label selector requirement. The logic between multiple label requirements is AND.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.GuestFamilyMatchSpec": { + "type": "object", + "properties": { + "op": { + "type": "string", + "description": "The operator that describes the operation performed against the specified value.\n\nPossible values:\n - `IS_EQUAL`: Operands must match exactly.\n - `IS_NOT_EQUAL`: Operands must not match.\n - `CONTAINS`: Operand being compared must contain the other.\n - `DOES_NOT_CONTAIN`: Operand being compared must not contain the other.\n - `HAS_PREFIX`: Compared value must have a prefix specified by the operand.\n - `DOES_NOT_HAVE_PREFIX`: Compared value must not have a prefix specified by the operand.\n - `HAS_SUFFIX`: Compared value must have a suffix specified by the operand.\n - `DOES_NOT_HAVE_SUFFIX`: Compared value must not have a suffix specified by the operand.\n - `MATCHES`: Compared Value must match the regular expression specified by the operand.\n - `DOES_NOT_MATCH`: Compared Value must not match the regular expression specified by the operand.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.ValueSelectorOperator*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to *Vcenter.NamespaceManagement.InfrastructurePolicies.ValueSelectorOperator.IS_EQUAL*." + }, + "value": { + "type": "string", + "description": "The value that describes the subject of the evaluation.\n\nPossible values:\n - `DARWIN`: Darwin (macOS) guest family.\n - `LINUX`: Linux guest family.\n - `NETWARE`: NetWare guest family.\n - `SOLARIS`: Solaris guest family.\n - `WINDOWS`: Windows guest family.\n - `OTHER`: Other guest family.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.GuestFamilyType*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no value matching is performed." + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.GuestFamilyMatchSpec schema contains guest family matching criteria.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.GuestMatchSpec": { + "type": "object", + "properties": { + "guest_id": { + "description": "Matches the workload's guest ID. For a complete list of supported values, please refer to GuestOsIdentifier enumerated type from the VIM API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no guest ID matching is performed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.StringMatchSpec" + } + ] + }, + "guest_family": { + "description": "Matches the workload's guest family defined in *Vcenter.NamespaceManagement.InfrastructurePolicies.GuestFamilyType*\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no guest family matching is performed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.GuestFamilyMatchSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.GuestMatchSpec schema contains matching criteria for guest operating systems.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.WorkloadMatchSpec": { + "type": "object", + "properties": { + "guest": { + "description": "Matches information about the workload's guest operating system.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no guest matching is performed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.GuestMatchSpec" + } + ] + }, + "labels": { + "type": "array", + "description": "Matches labels on the workload in question.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no label matching is performed.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.LabelSelectorRequirement" + } + }, + "kind": { + "type": "string", + "description": "Describes the kind of workload to restrict the matching to.\n\nPossible values:\n - `VIRTUAL_MACHINE`: Virtual Machine workload.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.WorkloadKind*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, all workload kinds are matched." + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.WorkloadMatchSpec schema defines selection criteria for workloads. All the specified criteria must match.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec": { + "type": "object", + "properties": { + "op": { + "type": "string", + "description": "Describes the boolean operation used to evaluate the elements from the match field. This field does not apply to the workload field. It is always boolean AND'd together with the results of the match field.\n\nPossible values:\n - `AND`: All conditions must match (logical AND).\n - `OR`: At least one condition must match (logical OR).\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.BooleanOperation*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to AND." + }, + "match": { + "type": "array", + "description": "Describes additional matchers that are evaluated using the boolean operation described by the op field.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no additional matching is performed.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec" + } + }, + "workload": { + "description": "Matches information about the workload.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no workload matching is performed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.WorkloadMatchSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec schema defines comprehensive matching criteria for policies.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.CreateSpec": { + "required": [ + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the policy. This has DNS label restrictions as specified in [](https://tools.ietf.org/html/rfc1123). This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique in this vCenter server and cannot be changed after creation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`." + }, + "description": { + "type": "string", + "description": "Specifies the desired description of the policy.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no description is provided." + }, + "compute_policy_id": { + "type": "string", + "description": "Specifies the UUID of the underlying vSphere com.vmware.vcenter.compute.Policy, if one is associated with this object.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no policy ID is specified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`." + }, + "enforcement_mode": { + "type": "string", + "description": "Specifies how the policy is enforced.\n\nPossible values:\n - `MANDATORY`: Policy will be automatically evaluated against all workloads in the vSphere Namespace this policy is applied to.\n - `OPTIONAL`: A policy will not be applied automatically. A user with access to the vSphere Namespace will be eligible to apply it to any workload in that namespace. The workload must match the conditions defined in *Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec* for the policy to be effective.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.EnforcementMode*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to *Vcenter.NamespaceManagement.InfrastructurePolicies.EnforcementMode.MANDATORY*." + }, + "match": { + "description": "Used to match workloads to which this policy should be applied.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, policy applies to all workloads.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.CreateSpec schema defines the specification for creating policies.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.SetSpec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Specifies the desired description of the policy.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no description is provided." + }, + "compute_policy_id": { + "type": "string", + "description": "Specifies the ID of the underlying vSphere Compute Policy, if one is associated with this object.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no policy ID is specified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`." + }, + "enforcement_mode": { + "type": "string", + "description": "Specifies how the policy is enforced.\n\nPossible values:\n - `MANDATORY`: Policy will be automatically evaluated against all workloads in the vSphere Namespace this policy is applied to.\n - `OPTIONAL`: A policy will not be applied automatically. A user with access to the vSphere Namespace will be eligible to apply it to any workload in that namespace. The workload must match the conditions defined in *Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec* for the policy to be effective.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.EnforcementMode*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to *Vcenter.NamespaceManagement.InfrastructurePolicies.EnforcementMode.MANDATORY*." + }, + "match": { + "description": "Used to match workloads to which this policy should be applied.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, policy applies to all workloads.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.SetSpec schema defines the specification for modifying policies.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.Summary": { + "required": [ + "config_status", + "enforcement_mode", + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Specifies the identifier for the policy.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`." + }, + "config_status": { + "type": "string", + "description": "Specifies the status of the policy, indicating if it can or cannot be associated with new vSphere Namespaces.\n\nPossible values:\n - `READY`: Infrastructure policy can be attached to vSphere Namespaces.\n - `DELETING`: Infrastructure policy is pending deletion and cannot be modified or attached to new vSphere Namespaces, it will be deleted when it is no longer associated with any vSphere Namespace.\n - `UNBOUND`: Associated com.vmware.vcenter.compute.Policy no longer exists and infrastructure policy cannot be used with vSphere Namespaces. Infrastructure Policies currently applied to vSphere Namespaces are not applied to workloads.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.ConfigStatus*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "description": { + "type": "string", + "description": "Specifies the desired description of the policy.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no description is provided." + }, + "compute_policy_id": { + "type": "string", + "description": "Specifies the ID of the underlying vSphere Compute Policy, if one is associated with this object.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no policy ID is specified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`." + }, + "enforcement_mode": { + "type": "string", + "description": "Specifies how the policy is enforced.\n\nPossible values:\n - `MANDATORY`: Policy will be automatically evaluated against all workloads in the vSphere Namespace this policy is applied to.\n - `OPTIONAL`: A policy will not be applied automatically. A user with access to the vSphere Namespace will be eligible to apply it to any workload in that namespace. The workload must match the conditions defined in *Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec* for the policy to be effective.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.EnforcementMode*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.Summary schema contains information about a policy used when listing all the policies.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.Info": { + "required": [ + "config_status", + "enforcement_mode" + ], + "type": "object", + "properties": { + "config_status": { + "type": "string", + "description": "Indicates if the policy can be associated with a vSphere Namespace.\n\nPossible values:\n - `READY`: Infrastructure policy can be attached to vSphere Namespaces.\n - `DELETING`: Infrastructure policy is pending deletion and cannot be modified or attached to new vSphere Namespaces, it will be deleted when it is no longer associated with any vSphere Namespace.\n - `UNBOUND`: Associated com.vmware.vcenter.compute.Policy no longer exists and infrastructure policy cannot be used with vSphere Namespaces. Infrastructure Policies currently applied to vSphere Namespaces are not applied to workloads.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.ConfigStatus*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "description": { + "type": "string", + "description": "Specifies the desired description of the policy.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no description is provided." + }, + "compute_policy_id": { + "type": "string", + "description": "Specifies the ID of the underlying vSphere Compute Policy, if one is associated with this object.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no policy ID is specified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.compute.Policy`." + }, + "enforcement_mode": { + "type": "string", + "description": "Specifies how the policy is enforced.\n\nPossible values:\n - `MANDATORY`: Policy will be automatically evaluated against all workloads in the vSphere Namespace this policy is applied to.\n - `OPTIONAL`: A policy will not be applied automatically. A user with access to the vSphere Namespace will be eligible to apply it to any workload in that namespace. The workload must match the conditions defined in *Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec* for the policy to be effective.\n\n\nFor more information see: *Vcenter.NamespaceManagement.InfrastructurePolicies.EnforcementMode*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "match": { + "description": "Used to match workloads to which this policy should be applied.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the policy applies to all workloads.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.MatchSpec" + } + ] + }, + "messages": { + "type": "array", + "description": "Description of the state of the policy. When InfrastructurePolicy is in *Vcenter.NamespaceManagement.InfrastructurePolicies.ConfigStatus.DELETING* state, this message will list namespaces that use this InfrastructurePolicy preventing it from being deleted.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the are no messages.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.Info schema contains detailed information about a policy.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.InfrastructurePolicies.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "List of policies.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.InfrastructurePolicies.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.InfrastructurePolicies.ListResult schema represents the result of *GET /vcenter/namespace-management/infrastructure-policies* operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.Provider": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.LoadBalancers.Provider enumerates the kinds of load balancers supported by vSphere Namespaces.\n\nPossible values:\n - `HA_PROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* instead.\n\nHAProxy load balancer\n - `AVI`: NSX Advanced Load Balancer\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.1.0__.", + "enum": [ + "HA_PROXY", + "AVI" + ] + }, + "Vcenter.NamespaceManagement.LoadBalancers.ConfigSpec": { + "required": [ + "address_ranges", + "id", + "provider" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "An identifier that identifies a load balancer and can be used to query or configure load balancer properties via these resources. The identifier has DNS_LABEL restrictions as specified in [](https://tools.ietf.org/html/rfc1123). This must be an alphanumeric (a-z and 0-9) string, with a maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique across all Namespaces in this vCenter server.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`." + }, + "address_ranges": { + "type": "array", + "description": "List of address ranges that will be used to derive frontend IP addresses for L4 virtual servers. This field is ignored in case of Avi load balancer provider. In case of HA_PROXY load balancer provider, at least one range must be provided.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.IPRange" + } + }, + "provider": { + "type": "string", + "description": "The *Vcenter.NamespaceManagement.LoadBalancers.ConfigSpec.provider* selects a provider from the list of available providers to be used with vSphere Namespaces.\n\nPossible values:\n - `HA_PROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* instead.\n\nHAProxy load balancer\n - `AVI`: NSX Advanced Load Balancer\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.LoadBalancers.Provider*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "ha_proxy_config_create_spec": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Instead, use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec* with provider *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION*.\n\nThe Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigCreateSpec is a conditional configuration made available upon selecting the HA_PROXY load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.LoadBalancers.Provider.HA_PROXY*.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigCreateSpec" + } + ] + }, + "avi_config_create_spec": { + "description": "The Vcenter.NamespaceManagement.LoadBalancers.AviConfigCreateSpec is a conditional configuration made available upon selecting the Avi load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.LoadBalancers.Provider.AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.AviConfigCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.LoadBalancers.ConfigSpec encapsulates load balancer configuration on vSphere Namespaces.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.SetSpec": { + "required": [ + "address_ranges", + "provider" + ], + "type": "object", + "properties": { + "address_ranges": { + "type": "array", + "description": "List of address ranges that will be used to derive frontend IP addresses for L4 virtual servers. This field is ignored in case of Avi load balancer provider. In case of HA_PROXY load balancer provider, at least one range must be provided. A set operation only allows for addition of new IP ranges to the existing list of IP ranges.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.IPRange" + } + }, + "provider": { + "type": "string", + "description": "The *Vcenter.NamespaceManagement.LoadBalancers.SetSpec.provider* selects a provider from the list of available providers to be used with vSphere Namespaces.\n\nPossible values:\n - `HA_PROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* instead.\n\nHAProxy load balancer\n - `AVI`: NSX Advanced Load Balancer\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.LoadBalancers.Provider*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "ha_proxy_config_set_spec": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigSetSpec is a conditional configuration made available upon selecting the HA_PROXY load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.LoadBalancers.Provider.HA_PROXY*.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigSetSpec" + } + ] + }, + "avi_config_set_spec": { + "description": "The Vcenter.NamespaceManagement.LoadBalancers.AviConfigSetSpec is a conditional configuration made available upon selecting the Avi load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.LoadBalancers.Provider.AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.AviConfigSetSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.LoadBalancers.SetSpec encapsulates configuration allowed for setting a new configuration for a load balancer.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.UpdateSpec": { + "type": "object", + "properties": { + "address_ranges": { + "type": "array", + "description": "List of address ranges that will be used to derive frontend IP addresses for L4 virtual servers. This field is ignored in case of Avi load balancer provider. In case of HA_PROXY load balancer provider, at least one range must be provided. An update operation only allows for addition of new IP ranges to the existing list of IP ranges.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing list of address ranges will not be modified.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.IPRange" + } + }, + "provider": { + "type": "string", + "description": "The *Vcenter.NamespaceManagement.LoadBalancers.UpdateSpec.provider* selects a provider from the list of available providers to be used with vSphere Namespaces.\n\nPossible values:\n - `HA_PROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* instead.\n\nHAProxy load balancer\n - `AVI`: NSX Advanced Load Balancer\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.LoadBalancers.Provider*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf set, corresponding load balancer UpdateSpec will be used to update the configuration. Note: This field cannot be updated and can only be used a qualifier for the provider specific update spec." + }, + "ha_proxy_config_update_spec": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Instead, use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec* with provider *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION*.\n\nThe Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigUpdateSpec is a conditional configuration made available upon selecting the HA_PROXY load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the HAProxy load balancer configuration will not be modified.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigUpdateSpec" + } + ] + }, + "avi_config_update_spec": { + "description": "The Vcenter.NamespaceManagement.LoadBalancers.AviConfigUpdateSpec is a conditional configuration made available upon selecting the Avi load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the Avi load balancer configuration will not be modified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.AviConfigUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.LoadBalancers.UpdateSpec encapsulates configuration allowed for when updating configuration for load balancers.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.Server": { + "required": [ + "host", + "port" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Load balancer hostname or IPv4 address.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "port": { + "type": "integer", + "description": "Load balancer port.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "format": "int64" + } + }, + "description": "A Vcenter.NamespaceManagement.LoadBalancers.Server represents an endpoint used to configure load balancers.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigCreateSpec": { + "required": [ + "certificate_authority_chain", + "password", + "servers", + "username" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nServers is a list of the addresses for the data plane API servers used to configure Virtual Servers.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Server" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nAn administrator user name for accessing the HAProxy Data Plane API server.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe password for the administrator user.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 7.0.1.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nVcenter.NamespaceManagement.LoadBalancers.HAProxyConfigCreateSpec captures the configuration data required for Supervisor Service Type:LoadBalancer to have an external load balancer be created via HAProxy.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigSetSpec": { + "required": [ + "certificate_authority_chain", + "password", + "servers", + "username" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nServers is a list of the addresses for the data plane API servers used to configure HAProxy. Note: This field cannot be updated and should match existing list of servers.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Server" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nAn administrator user name for accessing the HAProxy Data Plane API server.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe password for the administrator user.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nVcenter.NamespaceManagement.LoadBalancers.HAProxyConfigSetSpec captures the configuration data required for Supervisor Service Type:LoadBalancer to have an external load balancer be created via HA Proxy.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.LoadBalancers.HAProxyConfigUpdateSpec": { + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nAn administrator user name for accessing the HAProxy Data Plane API server.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing username will not be modified." + }, + "password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe password for the administrator user.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing password will not be modified.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing PEM-encoded CA chain will not be modified." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nVcenter.NamespaceManagement.LoadBalancers.HAProxyConfigUpdateSpec captures the configuration data required for Supervisor Service Type:LoadBalancer to have an external load balancer be created via HAProxy.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.LoadBalancers.Summary": { + "required": [ + "id", + "provider" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "An DNS compliant identifier for a load balancer, which can be used to query or configure the load balancer properties.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`." + }, + "provider": { + "type": "string", + "description": "Load balancer provider for the namespace.\n\nPossible values:\n - `HA_PROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* instead.\n\nHAProxy load balancer\n - `AVI`: NSX Advanced Load Balancer\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.LoadBalancers.Provider*.\n\nThis property was added in __vSphere API 7.0.1.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.LoadBalancers.Summary contains contains basic information related to the load balancer for provisioning virtual servers in the namespace.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.Info": { + "required": [ + "address_ranges", + "id", + "provider" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "An DNS compliant identifier for a load balancer, which can be used to query or configure the load balancer properties.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.LoadBalancerConfig`." + }, + "address_ranges": { + "type": "array", + "description": "IP address range from which virtual servers are assigned their IPs.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.IPRange" + } + }, + "provider": { + "type": "string", + "description": "Load balancer provider for the namespace.\n\nPossible values:\n - `HA_PROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* instead.\n\nHAProxy load balancer\n - `AVI`: NSX Advanced Load Balancer\n\nThis constant was added in __vSphere API 7.0.2.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.LoadBalancers.Provider*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "ha_proxy_info": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Instead, use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerInfo* with provider *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION*.\n\nThe Vcenter.NamespaceManagement.LoadBalancers.HAProxyInfo is a conditional configuration made available upon selecting the HA_PROXY load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.LoadBalancers.Provider.HA_PROXY*.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.HAProxyInfo" + } + ] + }, + "avi_info": { + "description": "The Vcenter.NamespaceManagement.LoadBalancers.AviInfo is a conditional configuration made available upon selecting the Avi load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.LoadBalancers.Provider.AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.AviInfo" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.LoadBalancers.Info contains information related to the load balancer for provisioning virtual servers in the namespace.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.HAProxyInfo": { + "required": [ + "certificate_authority_chain", + "servers", + "username" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nA list of the addresses for the DataPlane API servers used to configure HAProxy.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Server" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nAn administrator user name for accessing the HAProxy Data Plane API server.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "certificate_authority_chain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nPEM-encoded CA certificate chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 7.0.1.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.LoadBalancers.HAProxyInfo contains information related to the HAProxy load balancer in the namespace.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.LoadBalancers.AviConfigCreateSpec": { + "required": [ + "certificate_authority_chain", + "password", + "server", + "username" + ], + "type": "object", + "properties": { + "server": { + "description": "Server is the address for the Avi Controller, used to configure Virtual Servers.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Server" + } + ] + }, + "username": { + "type": "string", + "description": "An administrator user name for accessing the Avi Controller.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "password": { + "type": "string", + "description": "The password for the administrator user.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "cloud_name": { + "type": "string", + "description": "The cloud name for the Avi Controller.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nOnly set if custom cloud name is configured for this Avi Controller. If missing or `null`, it defaults to \"Default-Cloud\"." + } + }, + "description": "Vcenter.NamespaceManagement.LoadBalancers.AviConfigCreateSpec captures the configuration data required for integration with the Avi Software Load Balancer.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.AviConfigSetSpec": { + "required": [ + "certificate_authority_chain", + "password", + "server", + "username" + ], + "type": "object", + "properties": { + "server": { + "description": "Server is the address for the Avi Controller, used to configure Virtual Servers. Note: This field cannot be updated and should match existing value.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Server" + } + ] + }, + "username": { + "type": "string", + "description": "An administrator user name for accessing the Avi Controller.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "password": { + "type": "string", + "description": "The password for the administrator user.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "Vcenter.NamespaceManagement.LoadBalancers.AviConfigSetSpec captures the configuration data required for integration with the Avi Software Load Balancer.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.AviConfigUpdateSpec": { + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "An administrator user name for accessing the Avi Controller.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing username will not be modified." + }, + "password": { + "type": "string", + "description": "The password for the administrator user.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing password will not be modified.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the existing PEM-encoded CA chain will not be modified." + } + }, + "description": "Vcenter.NamespaceManagement.LoadBalancers.AviConfigUpdateSpec captures the configuration data required for integration with the Avi Software Load Balancer.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.LoadBalancers.AviInfo": { + "required": [ + "certificate_authority_chain", + "server", + "username" + ], + "type": "object", + "properties": { + "server": { + "description": "Server is the address for the Avi Controller, used to configure Virtual Servers.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.LoadBalancers.Server" + } + ] + }, + "username": { + "type": "string", + "description": "An administrator user name for accessing the Avi Controller.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "certificate_authority_chain": { + "type": "string", + "description": "PEM-encoded CA certificate chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "cloud_name": { + "type": "string", + "description": "The cloud name for the Avi Controller.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nOnly set if custom cloud name is configured for this Avi Controller. If missing or `null`, it defaults to \"Default-Cloud\"." + } + }, + "description": "The Vcenter.NamespaceManagement.LoadBalancers.AviInfo contains information related to the Avi software load balancer in the namespace.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.NamespaceManagement.NSXTier0Gateway.Summary": { + "required": [ + "display_name", + "path", + "tier0_gateway" + ], + "type": "object", + "properties": { + "tier0_gateway": { + "type": "string", + "description": "Identifier of the NSX Tier0 or Tier0-VRF Gateway.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXTier0Gateway`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXTier0Gateway`." + }, + "display_name": { + "type": "string", + "description": "Display name of the NSX Gateway.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "description": { + "type": "string", + "description": "Description of the NSX Gateway.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the gateway has no description set." + }, + "path": { + "type": "string", + "description": "NSX Policy path of the NSX Gateway.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "parent_tier0_gateway": { + "type": "string", + "description": "Parent Tier0 of the NSX Tier0-VRF Gateway.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the gateway is not Tier0-VRF.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXTier0Gateway`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXTier0Gateway`." + } + }, + "description": "The Vcenter.NamespaceManagement.NSXTier0Gateway.Summary schema contains information about an NSX Tier0 Gateway.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.NamespaceManagement.NSXTier0Gateway.FilterSpec": { + "type": "object", + "properties": { + "include_vrf": { + "type": "boolean", + "description": "Criteria of if Tier0-VRF gateways should be included as part of result.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, only non-VRF Tier0 Gateways will be returned." + } + }, + "description": "The Vcenter.NamespaceManagement.NSXTier0Gateway.FilterSpec schema contains additional properties used to filter the results when listing NSXTier0Gateway (see *GET /vcenter/namespace-management/nsx-tier0-gateways*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.IPAssignmentMode": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Networks.IPAssignmentMode enumerated type defines various IP address assignment modes.\n\nPossible values:\n - `DHCP`: The address is automatically assigned by a DHCP server.\n - `STATICRANGE`: The address is assigned from a static range.\n - `NONE`: The address assignment is not managed by the Supervisor. This mode is suitable for L2 network requirements or scenarios requiring manual IP configurations.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "DHCP", + "STATICRANGE", + "NONE" + ] + }, + "Vcenter.NamespaceManagement.Networks.Mode": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Networks.Mode enumerated type describes the intended use of a network.\n\nPossible values:\n - `MANAGEMENT`: Indicates the infrastructure supports connectivity between this network and the Supervisor management network. Entities on this network are capable of communicating with management entities like the Supervisor and vCenter Server. \n\n Networks can only be associated to *Vcenter.NamespaceManagement.Networks.Mode.MANAGEMENT* networks when the Supervisor management network is configured to be the Primary Workload Network.\n - `WORKLOAD`: Indicates the network is intended for general workload consumption. This network should generally not be routable to networks with the *Vcenter.NamespaceManagement.Networks.Mode.MANAGEMENT* mode set.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "MANAGEMENT", + "WORKLOAD" + ] + }, + "Vcenter.NamespaceManagement.Networks.LoadBalancerSize": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Networks.LoadBalancerSize enumerates the kinds of load balancer sizes supported by NSX. Small load balancer can host 10 to 20 virtual servers depending on NSX-T version. Medium load balancer can host 100 virtual servers. Large load balancer can host 1000 virtual servers.\n\nPossible values:\n - `SMALL`: Load balancer size of 'small'.\n - `MEDIUM`: Load balancer size of 'medium'.\n - `LARGE`: Load balancer size of 'large'.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "SMALL", + "MEDIUM", + "LARGE" + ] + }, + "Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkCreateSpec": { + "required": [ + "address_ranges", + "gateway", + "portgroup", + "subnet_mask" + ], + "type": "object", + "properties": { + "portgroup": { + "type": "string", + "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "ip_assignment_mode": { + "type": "string", + "description": "IP address assignment mode. If set to *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, then field *Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkCreateSpec.address_ranges* must be set to an empty list and fields *Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkCreateSpec.gateway* and *Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkCreateSpec.subnet_mask* must be set to empty strings.\n\nPossible values:\n - `DHCP`: The address is automatically assigned by a DHCP server.\n - `STATICRANGE`: The address is assigned from a static range.\n - `NONE`: The address assignment is not managed by the Supervisor. This mode is suitable for L2 network requirements or scenarios requiring manual IP configurations.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.IPAssignmentMode*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, defaults to STATICRANGE." + }, + "address_ranges": { + "type": "array", + "description": "Usable IP pools on this network.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.IPRange" + } + }, + "gateway": { + "type": "string", + "description": "Gateway for the network.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "subnet_mask": { + "type": "string", + "description": "Subnet mask of the network.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "mode": { + "type": "string", + "description": "Assigns a mode to a network. A mode describes the intended use of the network.\n\nPossible values:\n - `MANAGEMENT`: Indicates the infrastructure supports connectivity between this network and the Supervisor management network. Entities on this network are capable of communicating with management entities like the Supervisor and vCenter Server. \n\n Networks can only be associated to *Vcenter.NamespaceManagement.Networks.Mode.MANAGEMENT* networks when the Supervisor management network is configured to be the Primary Workload Network.\n - `WORKLOAD`: Indicates the network is intended for general workload consumption. This network should generally not be routable to networks with the *Vcenter.NamespaceManagement.Networks.Mode.MANAGEMENT* mode set.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Mode*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` this network defaults to the *Vcenter.NamespaceManagement.Networks.Mode.WORKLOAD* mode." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkCreateSpec schema describes the configuration specification of a vSphere DVPG-backed Namespaces Network object.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec": { + "type": "object", + "properties": { + "namespace_network_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates IP address for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs. This range should not overlap with those in *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.ingress_cidrs*, *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.egress_cidrs*, or other services running in the datacenter.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis field is required when *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.nsx_tier0_gateway* or any of *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.ingress_cidrs*, *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.egress_cidrs* are specified. An update operation only allows for addition of new CIDR blocks to the existing list.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.namespace_network_cidrs*, *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.egress_cidrs*, or other services running in the datacenter.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis field is required when *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.nsx_tier0_gateway* or any of *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.namespace_network_cidrs*, *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.egress_cidrs* is specified. An update operation only allows for addition of new CIDR blocks to the existing list.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.namespace_network_cidrs*, *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.ingress_cidrs*, or other services running in the datacenter.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis field is required when *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.routed_mode* is set to False and *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.nsx_tier0_gateway* or any of *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.namespace_network_cidrs*, *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.ingress_cidrs* is specified. When *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.routed_mode* is set to True, this field is not allowed. An update operation only allows for addition of new CIDR blocks to the existing list.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "nsx_tier0_gateway": { + "type": "string", + "description": "NSX Tier0 Gateway used for the namespace. This field does not allow update once applied.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis field is required when configuring a cluster that uses NSX-T.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXTier0Gateway`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXTier0Gateway`." + }, + "subnet_prefix_length": { + "type": "integer", + "description": "Size of the subnet reserved for namespace segments.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, defaults to 28. This field does not allow update once applied.", + "format": "int64" + }, + "routed_mode": { + "type": "boolean", + "description": "Routed mode for the namespace. When set to True, the traffic in the namespace is not NATed.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, defaults to False. When this field is set to True, *Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec.egress_cidrs* is not allowed. This field does not allow update once applied." + }, + "load_balancer_size": { + "type": "string", + "description": "The size of the NSX Load Balancer used by the namespace. This field does not allow update once applied.\n\nPossible values:\n - `SMALL`: Load balancer size of 'small'.\n - `MEDIUM`: Load balancer size of 'medium'.\n - `LARGE`: Load balancer size of 'large'.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.LoadBalancerSize*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, defaults to *Vcenter.NamespaceManagement.Networks.LoadBalancerSize.SMALL*." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec schema describes the configuration specification of a NSXT-backed Namespaces Network configuration.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.NamespaceManagement.Networks.CreateSpec": { + "required": [ + "network", + "network_provider" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the network. This must be a valid DNS subdomain name as defined in [RFC 1123](https://tools.ietf.org/html/rfc1123). It must: - have a maximum length of 253 characters - contain only lowercase alphanumeric characters, '-', or '.' - start and end with an alphanumeric character This name must also be unique within a Supervisor.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "network_provider": { + "type": "string", + "description": "The network provider that will manage the vSphere Namespaces network object.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "vsphere_network": { + "description": "The create spec for a DVPG-backed Namespaces network object, supported by *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK* network provider.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkCreateSpec" + } + ] + }, + "nsx_network": { + "description": "The create spec for a NSXT-backed Namespaces network configuration, supported by *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN* network provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.NsxNetworkCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.CreateSpec schema contains the specification required to create a vSphere Namespaces network object.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkSetSpec": { + "required": [ + "address_ranges", + "gateway", + "portgroup", + "subnet_mask" + ], + "type": "object", + "properties": { + "portgroup": { + "type": "string", + "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object. If the network object is associated with a Namespace or is *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*, modification to existing portgroup will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "address_ranges": { + "type": "array", + "description": "Usable IP pools on this network. If the network object is associated with a Namespace or is *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*, then replacement of or modification to any existing range in this list will result in operation failing with a Vapi.Std.Errors.ResourceInUse error. To add new address ranges to the list, existing address ranges have to be passed in without modifications. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, as these modes require empty address ranges.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.IPRange" + } + }, + "gateway": { + "type": "string", + "description": "Gateway for the network. If the network object is associated with a Namespace or is *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*, then modification to existing gateway will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, as these modes require an empty gateway.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "subnet_mask": { + "type": "string", + "description": "Subnet mask of the network. If the network object is associated with a Namespace or is *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*, then modification to existing subnet mask will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, as these modes require an empty subnet mask.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkSetSpec schema contains new configuration to set on an existing a vSphere DVPG-backed Namespaces Network object.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.Networks.NsxNetworkSetSpec": { + "type": "object", + "properties": { + "namespace_network_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates IP addresses for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.NsxNetworkSetSpec schema contains new configuration to set on an existing NSXT-backed Namespaces Network configuration.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.NamespaceManagement.Networks.SetSpec": { + "required": [ + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that will manage the vSphere Namespaces network object.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "vsphere_network": { + "description": "Modified configuration specification for a DVPG-backed Namespaces network object, supported by *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK* network provider.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkSetSpec" + } + ] + }, + "nsx_network": { + "description": "Modified configuration specification for a NSXT-backed Namespaces network configuration, supported by *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN* network provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.NsxNetworkSetSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.SetSpec schema contains the specification required to set a new configuration of a vSphere Namespaces network object. This schema is applied in entirety, replacing the current specification fully.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkUpdateSpec": { + "type": "object", + "properties": { + "portgroup": { + "type": "string", + "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object. If the network object is associated with a Namespace or is *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*, then modification to existing portgroup will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the current value will be retained.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "address_ranges": { + "type": "array", + "description": "Usable IP pools on this network. If the network object is associated with a Namespace or is *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*, then replacement of or modification to any existing range in this list will result in operation failing with a Vapi.Std.Errors.ResourceInUse error. To add new address ranges to the list, existing address ranges have to be passed in without modifications. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, as these modes require empty address ranges.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.IPRange" + } + }, + "gateway": { + "type": "string", + "description": "Gateway for the network. If the network object is associated with a Namespace or is *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*, then modification to existing gateway will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, as these modes require an empty gateway.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the current value will be retained." + }, + "subnet_mask": { + "type": "string", + "description": "Subnet mask of the network. If the network object is associated with a Namespace or is *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*, then modification to existing subnet mask will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, as these modes require an empty subnet mask.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the current value will be retained." + }, + "mode": { + "type": "string", + "description": "Assigns a mode to a network. A mode describes the intended use of the network. \n\n Modes cannot be changed when a network is associated with a Namespace, a load balancer, or is the *Vcenter.NamespaceManagement.Clusters.WorkloadNetworksEnableSpec.supervisor_primary_workload_network*.\n\nPossible values:\n - `MANAGEMENT`: Indicates the infrastructure supports connectivity between this network and the Supervisor management network. Entities on this network are capable of communicating with management entities like the Supervisor and vCenter Server. \n\n Networks can only be associated to *Vcenter.NamespaceManagement.Networks.Mode.MANAGEMENT* networks when the Supervisor management network is configured to be the Primary Workload Network.\n - `WORKLOAD`: Indicates the network is intended for general workload consumption. This network should generally not be routable to networks with the *Vcenter.NamespaceManagement.Networks.Mode.MANAGEMENT* mode set.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Mode*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` the current value will be retained." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkUpdateSpec schema contains new configuration to update on an existing a vSphere DVPG-backed Namespaces Network object.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.Networks.NsxNetworkUpdateSpec": { + "type": "object", + "properties": { + "namespace_network_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates IP addresses for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. Only appending additional Cidr is allowed. Modification to existing Cidr ranges will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. Appending invalid Cidr e.g. overlapping or broadcast or reserved Cidr will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.NsxNetworkUpdateSpec schema contains new configuration to update on an existing a NSXT-backed Namespaces Network configuration.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.NamespaceManagement.Networks.UpdateSpec": { + "required": [ + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that will manage the vSphere Namespaces network object.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "vsphere_network": { + "description": "Updated configuration specification for a DVPG-backed Namespaces network object, supported by *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK* network provider.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkUpdateSpec" + } + ] + }, + "nsx_network": { + "description": "Updated configuration specification for a NSXT-backed Namespaces network configuration, supported by *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN* network provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.NsxNetworkUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.UpdateSpec schema contains the specification required to update the configuration of a vSphere Namespaces network object. This schema is applied partially, and only the specified fields will replace or modify their existing counterparts.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkInfo": { + "required": [ + "address_ranges", + "gateway", + "portgroup", + "subnet_mask" + ], + "type": "object", + "properties": { + "portgroup": { + "type": "string", + "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "ip_assignment_mode": { + "type": "string", + "description": "IP address assignment mode.\n\nPossible values:\n - `DHCP`: The address is automatically assigned by a DHCP server.\n - `STATICRANGE`: The address is assigned from a static range.\n - `NONE`: The address assignment is not managed by the Supervisor. This mode is suitable for L2 network requirements or scenarios requiring manual IP configurations.\n\nThis constant was added in __vSphere API 9.1.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.IPAssignmentMode*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "address_ranges": { + "type": "array", + "description": "Usable IP pools on this network.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.IPRange" + } + }, + "gateway": { + "type": "string", + "description": "Gateway for the network.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "subnet_mask": { + "type": "string", + "description": "Subnet mask of the network.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "mode": { + "type": "string", + "description": "Displays the intended use of the network.\n\nPossible values:\n - `MANAGEMENT`: Indicates the infrastructure supports connectivity between this network and the Supervisor management network. Entities on this network are capable of communicating with management entities like the Supervisor and vCenter Server. \n\n Networks can only be associated to *Vcenter.NamespaceManagement.Networks.Mode.MANAGEMENT* networks when the Supervisor management network is configured to be the Primary Workload Network.\n - `WORKLOAD`: Indicates the network is intended for general workload consumption. This network should generally not be routable to networks with the *Vcenter.NamespaceManagement.Networks.Mode.MANAGEMENT* mode set.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Mode*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkInfo schema describes the configuration specification of a vSphere DVPG-backed Namespaces Network object.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.Networks.NsxNetworkInfo": { + "type": "object", + "properties": { + "namespace_network_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates IP addresses for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, cluster level settings specified in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo.pod_cidrs* will be applied.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, cluster level settings specified in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo.ingress_cidrs* will be applied.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, cluster level settings specified in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo.egress_cidrs* will be applied.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + }, + "nsx_tier0_gateway": { + "type": "string", + "description": "NSX Tier0 Gateway used for this namespace.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, cluster level settings specified in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo.nsx_tier0_gateway* will be applied.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXTier0Gateway`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXTier0Gateway`." + }, + "subnet_prefix_length": { + "type": "integer", + "description": "Size of the subnet reserved for namespace segments\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, cluster level settings specified in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo.namespace_subnet_prefix* will be applied.", + "format": "int64" + }, + "routed_mode": { + "type": "boolean", + "description": "Routed mode for this namespace. When set to True, the traffic in the namespace is not NATed.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, cluster level settings specified in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo.routed_mode* will be applied." + }, + "load_balancer_size": { + "type": "string", + "description": "The size of the NSX Load Balancer used by the namespace.\n\nPossible values:\n - `SMALL`: Load balancer size of 'small'.\n - `MEDIUM`: Load balancer size of 'medium'.\n - `LARGE`: Load balancer size of 'large'.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.LoadBalancerSize*.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, then *Vcenter.NamespaceManagement.Networks.LoadBalancerSize.SMALL* is used." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.NsxNetworkInfo schema describes the configuration specification of a NSXT-backed Namespaces Network configuration.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.NamespaceManagement.Networks.Info": { + "required": [ + "network", + "network_provider" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the network.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "network_provider": { + "type": "string", + "description": "The network provider that will manage the vSphere Namespaces network object.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "vsphere_network": { + "description": "Updated configuration specification for a DVPG-backed Namespaces network object, supported by *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK* network provider.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.VsphereDVPGNetworkInfo" + } + ] + }, + "nsx_network": { + "description": "Configuration specification for a NSXT-backed Namespaces network configuration, supported by *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN* network provider.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.NsxNetworkInfo" + } + ] + }, + "namespaces": { + "type": "array", + "description": "A list of Supervisor Namespaces associated with this network.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Info schema contains detailed information about a specific vSphere Namespaces network.\n\nThis schema was added in __vSphere API 7.0.1.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.State": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.SupervisorServices.State enumerated type defines the state of a Supervisor Service.\n\nPossible values:\n - `ACTIVATED`: The is the default state of a Supervisor Service upon creation. In this state, at least one version of the Supervisor Service is activated.\n - `DEACTIVATED`: The is the deactivated state of a Supervisor Service. In this state, all existing versions of the Supervisor Service will be deactivated, and cannot be activated. In addition to that, no new versions can be added to the Supervisor Service.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "ACTIVATED", + "DEACTIVATED" + ] + }, + "Vcenter.NamespaceManagement.SupervisorServices.ValidationStatus": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.SupervisorServices.ValidationStatus enumerated type defines the type of status for validating content of a Supervisor Service version.\n\nPossible values:\n - `VALID`: Indicates the content is valid for a Supervisor Service version.\n - `VALID_WITH_WARNINGS`: Indicates the content is valid for a Supervisor Service version, but the content may contain information that should be reviewed closely and could prevent the Supervisor Service version to be created successfully later, which is explained in warning_messages. For example, the content may specify a Supervisor Service version that already exists on this vCenter.\n - `INVALID`: Indicates the content is invalid for a Supervisor Service version, in which case the reasons can be found in error_messages.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "VALID", + "VALID_WITH_WARNINGS", + "INVALID" + ] + }, + "Vcenter.NamespaceManagement.SupervisorServices.CreateSpec": { + "type": "object", + "properties": { + "custom_spec": { + "description": "The specification required to create a Supervisor Service with a version from inline content that is based on a plain Kubernetes YAML format. \n\n\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf set, the service will be created from a version based on a plain Kubernetes YAML format.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.CustomCreateSpec" + } + ] + }, + "vsphere_spec": { + "description": "The specification required to create a Supervisor Service with a version from inline content that is based on the vSphere application service format. \n\n\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf set, the service will be created from a version based on the vSphere application service format.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.VsphereCreateSpec" + } + ] + }, + "carvel_spec": { + "description": "The specification required to create a Supervisor Service with a version from inline content that is based on the Carvel application package format. \n\n\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf set, the service will be created from a version based on the Carvel application package format (Package and PackageMetadata resources should be declared).", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.CarvelCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.CreateSpec schema provides a specification required to create a Supervisor Service. Exactly one of *Vcenter.NamespaceManagement.SupervisorServices.CreateSpec.custom_spec* or *Vcenter.NamespaceManagement.SupervisorServices.CreateSpec.vsphere_spec* must be set.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.CustomCreateSpec": { + "required": [ + "display_name", + "supervisor_service", + "version_spec" + ], + "type": "object", + "properties": { + "supervisor_service": { + "type": "string", + "description": "The identifier of the Supervisor Service. This has DNS_LABEL restrictions as specified in [](https://tools.ietf.org/html/rfc1123). This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This identifier must be unique across all Namespaces in this vCenter server. Additionally, the ID 'namespaces' is reserved and must not be used.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "display_name": { + "type": "string", + "description": "A human readable name of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "A human readable description of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the Supervisor Service description will be empty." + }, + "version_spec": { + "description": "Supervisor service version specification that provides the service definition for one Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.CustomCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.CustomCreateSpec schema provides a specification required to create a Supervisor Service with a version from a plain Kubernetes YAML format.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.VsphereCreateSpec": { + "required": [ + "version_spec" + ], + "type": "object", + "properties": { + "version_spec": { + "description": "Supervisor service version specification that provides the service definitions for one Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.VsphereCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.VsphereCreateSpec schema provides a specification required to create a Supervisor Service with a version from vSphere application service format, which shall contain the service identifier, display name and description information.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.CarvelCreateSpec": { + "required": [ + "version_spec" + ], + "type": "object", + "properties": { + "version_spec": { + "description": "Supervisor service version specification that provides the service definitions for one Supervisor Service version.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.CarvelCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.CarvelCreateSpec schema provides a specification required to create a Supervisor Service with a version from Carvel application package format (Package and PackageMetadata resources should be declared).\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.UpdateSpec": { + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "A human readable name of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the display name of the service will not be modified." + }, + "description": { + "type": "string", + "description": "A human readable description of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the description of the service will not be modified." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.UpdateSpec schema provides a specification required to update a Supervisor Service.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.Summary": { + "required": [ + "display_name", + "state", + "supervisor_service" + ], + "type": "object", + "properties": { + "supervisor_service": { + "type": "string", + "description": "The identifier of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "display_name": { + "type": "string", + "description": "The human readable name of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "state": { + "type": "string", + "description": "The current Vcenter.NamespaceManagement.SupervisorServices.State of the Supervisor Service.\n\nPossible values:\n - `ACTIVATED`: The is the default state of a Supervisor Service upon creation. In this state, at least one version of the Supervisor Service is activated.\n - `DEACTIVATED`: The is the deactivated state of a Supervisor Service. In this state, all existing versions of the Supervisor Service will be deactivated, and cannot be activated. In addition to that, no new versions can be added to the Supervisor Service.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.State*.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Summary schema contains the basic information about a Supervisor Service version.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.Info": { + "required": [ + "display_name", + "state" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "The human readable name of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "state": { + "type": "string", + "description": "The current Vcenter.NamespaceManagement.SupervisorServices.State of the Supervisor Service.\n\nPossible values:\n - `ACTIVATED`: The is the default state of a Supervisor Service upon creation. In this state, at least one version of the Supervisor Service is activated.\n - `DEACTIVATED`: The is the deactivated state of a Supervisor Service. In this state, all existing versions of the Supervisor Service will be deactivated, and cannot be activated. In addition to that, no new versions can be added to the Supervisor Service.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.State*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "A human readable description of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no description is available for the Supervisor Service." + }, + "has_default_versions_registered": { + "type": "boolean", + "description": "If `true`, this Supervisor Service has at least one version registered by default on vCenter, and those default versions cannot be deleted. If `false`, this service does not have any default registered versions.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "must_be_installed": { + "type": "boolean", + "description": "If `true`, this Supervisor Service will be installed by default on each Supervisor, though the version may differ on different Supervisors. Users can upgrade this version later, but cannot uninstall the service. If `false`, this service will not be installed by default on Supervisors.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Info schema contains detailed information about a Supervisor Service.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.ContentCheckSpec": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The content of a Supervisor Service version, which shall be base64 encoded.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the content shall be provided separately. In the current release, this field is required, otherwise `InvalidArgument` will be thrown." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.ContentCheckSpec schema provides a specification required for validation checks on the content of a Supervisor Service version.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.VsphereAppsCheckResult": { + "required": [ + "display_name", + "supervisor_service", + "version" + ], + "type": "object", + "properties": { + "supervisor_service": { + "type": "string", + "description": "The identifier of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "version": { + "type": "string", + "description": "The identifier of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "display_name": { + "type": "string", + "description": "A human readable name of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "A human readable description of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no description is available for the Supervisor Service version." + }, + "eula": { + "type": "string", + "description": "The End User License Agreement (EULA) of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no EULA is available for the Supervisor Service version." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.VsphereAppsCheckResult schema contains the information of a Supervisor Service version that is retrieved from the content in vSphere application service format as a result of the *POST /vcenter/namespace-management/supervisor-services?action=checkContent* operation.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.CarvelAppsCheckResult": { + "required": [ + "display_name", + "supervisor_service", + "version" + ], + "type": "object", + "properties": { + "supervisor_service": { + "type": "string", + "description": "The identifier of the Supervisor Service.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "version": { + "type": "string", + "description": "The identifier of the Supervisor Service version.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "display_name": { + "type": "string", + "description": "A human readable name of the Supervisor Service version.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "description": { + "type": "string", + "description": "A human readable description of the Supervisor Service version.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no description is available for the Supervisor Service version." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.CarvelAppsCheckResult schema contains the information of a Supervisor Service version that is retrieved from the content in Carvel application package format as a result of the *POST /vcenter/namespace-management/supervisor-services?action=checkContent* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.CheckResult": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Indicates if the provided content is valid.\n\nPossible values:\n - `VALID`: Indicates the content is valid for a Supervisor Service version.\n - `VALID_WITH_WARNINGS`: Indicates the content is valid for a Supervisor Service version, but the content may contain information that should be reviewed closely and could prevent the Supervisor Service version to be created successfully later, which is explained in warning_messages. For example, the content may specify a Supervisor Service version that already exists on this vCenter.\n - `INVALID`: Indicates the content is invalid for a Supervisor Service version, in which case the reasons can be found in error_messages.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.ValidationStatus*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "content_type": { + "type": "string", + "description": "The type of the provided content. When this content_type is *Vcenter.NamespaceManagement.SupervisorServices.Versions.ContentType.CUSTOM_YAML*, the status is always VALID because a custom format is not validated.\n\nPossible values:\n - `VSPHERE_APPS_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows the vSphere application service format.\n - `CARVEL_APPS_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows the Carvel application package format.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `CUSTOM_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows a plain Kubernetes YAML format.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.Versions.ContentType*.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the content type cannot be determined from the provided content." + }, + "vsphere_apps_check_result": { + "description": "The information about the Supervisor Service version retrieved from the provided content as a result of validation checks if the content is in the vSphere application format.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the content is not in the vSphere application service format, or the status is INVALID.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.VsphereAppsCheckResult" + } + ] + }, + "carvel_apps_check_result": { + "description": "The information about the Supervisor Service version retrieved from the provided content as a result of validation checks if the content is in the Carvel application format.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the content is not in the Carvel application package format, or the status is INVALID.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.CarvelAppsCheckResult" + } + ] + }, + "warning_messages": { + "type": "array", + "description": "A list of messages indicating why the content was considered valid but contains information that should be reviewed closely.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional and it is only relevant when the value of status is *Vcenter.NamespaceManagement.SupervisorServices.ValidationStatus.VALID_WITH_WARNINGS*.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "error_messages": { + "type": "array", + "description": "A list of messages indicating why the content was considered invalid.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional and it is only relevant when the value of status is *Vcenter.NamespaceManagement.SupervisorServices.ValidationStatus.INVALID*.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.CheckResult schema defines the result of the validation checks on the content of a Supervisor Service version.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.EnableSpec": { + "required": [ + "control_plane", + "name", + "workloads" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A *Vcenter.NamespaceManagement.Supervisors.EnableSpec.name* is a user-friendly identifier for this Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "control_plane": { + "description": "*Vcenter.NamespaceManagement.Supervisors.EnableSpec.control_plane* specifies configuration for the Supervisor control plane.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane" + } + ] + }, + "workloads": { + "description": "*Vcenter.NamespaceManagement.Supervisors.EnableSpec.workloads* specifies configuration for compute, network, and storage for workloads.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads" + } + ] + } + }, + "description": "\n\nThe Vcenter.NamespaceManagement.Supervisors.EnableSpec schema contains the specification required to enable a Supervisor. \n\nThe ability to add multiple workload networks at enablement has been deprecated. Please use the *Vcenter.NamespaceManagement.Networks* APIs to add additional workload networks after the cluster has been enabled.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.EnableOnComputeClusterSpec": { + "required": [ + "control_plane", + "name", + "workloads" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.EnableOnComputeClusterSpec.zone* describes consumption fault domain zone available to the Supervisor and its workloads.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nZone will be created and associated with the cluster. If missing or `null`, the zone name will be generated based on the cluster managed object ID. The zone can be managed with the consumption fault domain zone api.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "name": { + "type": "string", + "description": "A *Vcenter.NamespaceManagement.Supervisors.EnableSpec.name* is a user-friendly identifier for this Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "control_plane": { + "description": "*Vcenter.NamespaceManagement.Supervisors.EnableSpec.control_plane* specifies configuration for the Supervisor control plane.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane" + } + ] + }, + "workloads": { + "description": "*Vcenter.NamespaceManagement.Supervisors.EnableSpec.workloads* specifies configuration for compute, network, and storage for workloads.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads" + } + ] + } + }, + "description": "\n\nThe Vcenter.NamespaceManagement.Supervisors.EnableOnComputeClusterSpec schema contains the specification required to enable a Supervisor on a vSphere cluster. \n\nThe ability to add multiple workload networks at enablement has been deprecated. Please use the *Vcenter.NamespaceManagement.Networks* APIs to add additional workload networks after the cluster has been enabled.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.EnableOnZonesSpec": { + "required": [ + "control_plane", + "name", + "workloads", + "zones" + ], + "type": "object", + "properties": { + "zones": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Supervisors.EnableOnZonesSpec.zones* describe consumption fault domain zones available to the Supervisor and its workloads. Only one or three zones are supported.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "items": { + "type": "string" + } + }, + "name": { + "type": "string", + "description": "A *Vcenter.NamespaceManagement.Supervisors.EnableSpec.name* is a user-friendly identifier for this Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "control_plane": { + "description": "*Vcenter.NamespaceManagement.Supervisors.EnableSpec.control_plane* specifies configuration for the Supervisor control plane.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane" + } + ] + }, + "workloads": { + "description": "*Vcenter.NamespaceManagement.Supervisors.EnableSpec.workloads* specifies configuration for compute, network, and storage for workloads.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads" + } + ] + } + }, + "description": "\n\nThe Vcenter.NamespaceManagement.Supervisors.EnableOnZonesSpec schema contains the specification required to enable the Supervisor on a set of vSphere Zones. \n\nThe ability to add multiple workload networks at enablement has been deprecated. Please use the *Vcenter.NamespaceManagement.Networks* APIs to add additional workload networks after the cluster has been enabled.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.ConfigStatus": { + "type": "string", + "description": "ConfigStatus represents the config status of the VM class.\n\nPossible values:\n - `READY`: Indicates that the instance of the Vcenter.NamespaceManagement.VirtualMachineClasses is ready to be used.\n - `REMOVING`: Indicates that the instance of the Vcenter.NamespaceManagement.VirtualMachineClasses is being deleted. At this state the VM class cannot be associated with new Namespace.\n\n\nThis enumeration was added in __vSphere API 7.0.2.00100__.", + "enum": [ + "READY", + "REMOVING" + ] + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.InstanceStorageVolume": { + "required": [ + "size" + ], + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "The size of instance storage volume in mebibytes (MiB) available for the virtual machine of this class\n\nThis property was added in __vSphere API 8.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.VirtualMachineClasses.InstanceStorageVolume schema contains the specification required to configure instance storage for virtual machines. An admin can create VM classes with instance storage volumes and assign them to Supervisor namespaces for consumption. These VM classes can be used to create virtual machines that have instance storage volumes attached as disks. The generated instance volumes are placed on vSan direct datastores.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.InstanceStorage": { + "required": [ + "policy", + "volumes" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Policy corresponding to the instance storage. To use VM class with instance storage, this policy should also be associated with Supervisor namespace. See *Vcenter.Namespaces.Instances.StorageSpec*.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "volumes": { + "type": "array", + "description": "List of instance storage volumes. At least one volume is required when configuring a VM class with instance storage.\n\nThis property was added in __vSphere API 8.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.InstanceStorageVolume" + } + } + }, + "description": "The Vcenter.NamespaceManagement.VirtualMachineClasses.InstanceStorage schema encapsulates information about storage policy and instance storage volumes.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.VGPUDevice": { + "required": [ + "profile_name" + ], + "type": "object", + "properties": { + "profile_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nProfile name corresponding to the device.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.2.0__. Use device changes in VirtualMachineConfigSpec associated with the VM class to add vGPU devices. \n\nThe Vcenter.NamespaceManagement.VirtualMachineClasses.VGPUDevice schema contains the configuration corresponding to a vGPU device.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.DynamicDirectPathIODevice": { + "required": [ + "device_id", + "vendor_id" + ], + "type": "object", + "properties": { + "vendor_id": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nThe vendor ID of this device.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "format": "int64" + }, + "device_id": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nThe device ID of this device.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "format": "int64" + }, + "custom_label": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nThe custom label attached to this device.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, custom label is not used to identify the device." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.2.0__. Use device changes in VirtualMachineConfigSpec associated with the VM class to add Dynamic DirectPath I/O devices. \n\nThe Vcenter.NamespaceManagement.VirtualMachineClasses.DynamicDirectPathIODevice schema contains the configuration corresponding to a Dynamic DirectPath I/O device.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.VirtualDevices": { + "type": "object", + "properties": { + "vgpu_devices": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nList of vGPU devices.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no vGPU devices are present.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.VGPUDevice" + } + }, + "dynamic_direct_path_io_devices": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nList of Dynamic DirectPath I/O devices.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no Dynamic DirectPath I/O devices are present.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.DynamicDirectPathIODevice" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.2.0__. Use device changes in VirtualMachineConfigSpec associated with the VM class to add vGPU and Dynamic DirectPath I/O virtual devices. \n\nThe Vcenter.NamespaceManagement.VirtualMachineClasses.VirtualDevices schema contains information about the virtual devices associated with a VM class.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.CreateSpec": { + "required": [ + "cpu_count", + "id", + "memory_mb" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the virtual machine class. This has DNS_LABEL restrictions as specified in [](https://tools.ietf.org/html/rfc1123). This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique in this vCenter server.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`." + }, + "cpu_count": { + "type": "integer", + "description": "The number of CPUs configured for virtual machine of this class.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "format": "int64" + }, + "cpu_reservation": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__. Use CPU allocation in *Vcenter.NamespaceManagement.VirtualMachineClasses.CreateSpec.config_spec* instead to reserve CPUs for a virtual machine. \n\nThe percentage of total available CPUs reserved for a virtual machine. We multiply this percentage by the minimum frequency amongst all the cluster nodes to get the CPU reservation that is specified to vSphere in MHz.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no CPU reservation is requested for the virtual machine.", + "format": "int64", + "deprecated": true + }, + "memory_mb": { + "type": "integer", + "description": "The amount of memory in MB configured for virtual machine of this class.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "format": "int64" + }, + "memory_reservation": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__. Use memory allocation in *Vcenter.NamespaceManagement.VirtualMachineClasses.CreateSpec.config_spec* instead to reserve memory for a virtual machine. \n\nThe percentage of available memory reserved for a virtual machine of this class. Memory reservation must be set to 100% for VM class with vGPU or Dynamic DirectPath I/O devices.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no memory reservation is requested for virtual machine.", + "format": "int64", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Description for the VM class.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no description is added to the VM class." + }, + "devices": { + "description": "This property is deprecated as of __vSphere API 8.0.2.0__. Use device changes in *Vcenter.NamespaceManagement.VirtualMachineClasses.CreateSpec.config_spec* instead to add vGPU and Dynamic DirectPath I/O virtual devices. \n\nVirtual devices that will be attached to the VMs created with this class.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no Virtual device will be attached to the VMs created with this class.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.VirtualDevices" + } + ] + }, + "instance_storage": { + "description": "Instance storage that will be attached to the VMs created with this class.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null`, instance storage specification will not be created.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.InstanceStorage" + } + ] + }, + "config_spec": { + "type": "object", + "description": "A VirtualMachineConfigSpec associated with the VM class.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, no config spec will be associated to the VM Class." + } + }, + "description": "The Vcenter.NamespaceManagement.VirtualMachineClasses.CreateSpec schema contains the specification required to create a VM class object.\n\nThis schema was added in __vSphere API 7.0.2.00100__." + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.UpdateSpec": { + "type": "object", + "properties": { + "cpu_count": { + "type": "integer", + "description": "The number of CPUs configured for virtual machine of this class.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null` the current value the will not be modified.", + "format": "int64" + }, + "cpu_reservation": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__. Use CPU allocation in *Vcenter.NamespaceManagement.VirtualMachineClasses.UpdateSpec.config_spec* instead to reserve CPUs for a virtual machine. \n\nThe percentage of total available CPUs reserved for a virtual machine. We multiply this percentage by the minimum frequency amongst all the cluster nodes to get the CPU reservation that is specified to vSphere in MHz.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no CPU reservation is requested for the virtual machine.", + "format": "int64", + "deprecated": true + }, + "memory_mb": { + "type": "integer", + "description": "The amount of memory in MB configured for virtual machine of this class.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null` the current value the will not be modified.", + "format": "int64" + }, + "memory_reservation": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__. Use memory allocation in *Vcenter.NamespaceManagement.VirtualMachineClasses.UpdateSpec.config_spec* instead to reserve memory for a virtual machine. \n\nThe percentage of available memory reserved for a virtual machine of this class. Memory reservation must be set to 100% for VM class with vGPU or Dynamic DirectPath I/O devices.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no memory reservation is requested for virtual machine.", + "format": "int64", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Description for the VM class.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, description is not updated." + }, + "devices": { + "description": "This property is deprecated as of __vSphere API 8.0.2.0__. Use device changes in *Vcenter.NamespaceManagement.VirtualMachineClasses.UpdateSpec.config_spec* instead to add vGPU and Dynamic DirectPath I/O virtual devices. \n\nVirtual devices corresponding to the VM class.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, virtual devices will not be updated.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.VirtualDevices" + } + ] + }, + "instance_storage": { + "description": "Instance storage associated with the VM class.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null`, instance storage specification will not be updated.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.InstanceStorage" + } + ] + }, + "config_spec": { + "type": "object", + "description": "A VirtualMachineConfigSpec associated with the VM class.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the config spec will not be updated." + } + }, + "description": "The Vcenter.NamespaceManagement.VirtualMachineClasses.UpdateSpec schema contains the specification required to update a VM class object.\n\nThis schema was added in __vSphere API 7.0.2.00100__." + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.Message": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nFor more information see: *Vcenter.NamespaceManagement.VirtualMachineClasses.Message.MessageSeverity*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "details": { + "description": "Details about the message.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, message details are not required for taking actions.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.VirtualMachineClasses.Message schema contains the information about the object configuration.\n\nThis schema was added in __vSphere API 7.0.2.00100__." + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.Message.MessageSeverity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.VirtualMachineClasses.Message.MessageSeverity enumerated type represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nThis enumeration was added in __vSphere API 7.0.2.00100__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.VirtualMachineClasses.Info": { + "required": [ + "config_status", + "cpu_count", + "description", + "id", + "memory_mb", + "messages", + "namespaces", + "vms" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier for the VM class.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`." + }, + "cpu_count": { + "type": "integer", + "description": "The number of CPUs configured for virtual machine of this class.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "format": "int64" + }, + "cpu_reservation": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nThe percentage of total available CPUs reserved for a virtual machine. We multiply this percentage by the minimum frequency amongst all the cluster nodes to get the CPU reservation that is specified to vSphere in MHz.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no CPU reservation is requested for the virtual machine.", + "format": "int64", + "deprecated": true + }, + "memory_mb": { + "type": "integer", + "description": "The amount of memory in MB configured for virtual machine of this class.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "format": "int64" + }, + "memory_reservation": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nThe percentage of available memory reserved for a virtual machine of this class.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no memory reservation is requested for virtual machine.", + "format": "int64", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Description of the VM class.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "namespaces": { + "uniqueItems": true, + "type": "array", + "description": "Set of Namespaces associated with this VM class.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "items": { + "type": "string" + } + }, + "vms": { + "uniqueItems": true, + "type": "array", + "description": "Set of virtual machines deployed for VM class.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "items": { + "type": "string" + } + }, + "config_status": { + "type": "string", + "description": "Configstatus of VM class\n\nPossible values:\n - `READY`: Indicates that the instance of the Vcenter.NamespaceManagement.VirtualMachineClasses is ready to be used.\n - `REMOVING`: Indicates that the instance of the Vcenter.NamespaceManagement.VirtualMachineClasses is being deleted. At this state the VM class cannot be associated with new Namespace.\n\n\nFor more information see: *Vcenter.NamespaceManagement.VirtualMachineClasses.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "messages": { + "type": "array", + "description": "Current set of messages associated with the object.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.Message" + } + }, + "devices": { + "description": "This property is deprecated as of __vSphere API 8.0.2.0__.\n\nVirtual devices corresponding to the VM class.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.VirtualDevices" + } + ] + }, + "instance_storage": { + "description": "Instance storage associated with the VM class.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null`, no instance storage is present.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.VirtualMachineClasses.InstanceStorage" + } + ] + }, + "config_spec": { + "type": "object", + "description": "A VirtualMachineConfigSpec associated with the VM class.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, a config spec is not used to configure this VM class." + } + }, + "description": "The Vcenter.NamespaceManagement.VirtualMachineClasses.Info schema contains detailed information about the virtual machine class.\n\nThis schema was added in __vSphere API 7.0.2.00100__." + }, + "Vcenter.NamespaceManagement.ClusterAvailableVersions.Summary": { + "required": [ + "description", + "name", + "release_date", + "release_notes", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Version of the upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "name": { + "type": "string", + "description": "Name of the upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "release_date": { + "type": "string", + "description": "Release date of the upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "date-time" + }, + "release_notes": { + "type": "string", + "description": "Release details of the upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterAvailableVersions.Summary schema contains the information about each available upgrade version.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.ClusterCompatibility.Summary": { + "required": [ + "cluster", + "compatible", + "incompatibility_reasons" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier of the vSphere cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "compatible": { + "type": "boolean", + "description": "Compatibility of this vSphere cluster. If false, the list of incompatibility issues will be given in the incompatibility_reasons field.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "Reasons for incompatibility.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterCompatibility.Summary schema contains the information about the compatibility of a vSphere cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.ClusterCompatibility.ZoneSummary": { + "required": [ + "cluster_summaries", + "compatible", + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "Identifier of this vSphere Zone.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "compatible": { + "type": "boolean", + "description": "Flag to indicate whether the current Zone can be used to enable a Supervisor cluster. If false, the list of incompatibility issues will be given in the cluster_summaries field.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "cluster_summaries": { + "type": "array", + "description": "A list of information about the compatibility of vSphere clusters associated with this vSphere Zone.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterCompatibility.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterCompatibility.ZoneSummary schema contains the information about the compatibility of a vSphere Zone and the vSphere clusters associated with it.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpec": { + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "Set this flag to true to only list vSphere clusters that are currently compatible with the Namespaces feature. If set to false, both compatible and incompatible vSphere clusters will be listed.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, both compatible and incompatible vSphere clusters will be listed." + }, + "network_provider": { + "type": "string", + "description": "The network provider whose networks will be considered.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, this will default to *Vcenter.NamespaceManagement.Clusters.NetworkProvider.NSXT_CONTAINER_PLUGIN*." + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpec schema contains properties used to filter the results when listing clusters (see *GET /vcenter/namespace-management/cluster-compatibility*) and their compatibility information.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpecV2": { + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "Set this flag to true to only return vSphere clusters that are currently compatible with the Namespaces feature. If set to false, both compatible and incompatible vSphere clusters will be returned.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, both compatible and incompatible vSphere clusters will be listed." + }, + "network_provider": { + "type": "string", + "description": "The network type that will be considered. A Supervisor can only be enabled with this network type if all hosts are compatible for this specific network type.\n\nPossible values:\n - `NSXT`: \n\nIndicates an NSX backed network.\n - `VSPHERE`: \n\nIndicates vSphere Networking.\n - `NSX_VPC`: \n\nIndicates an NSX VPC backed network.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, this will default to *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*." + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterCompatibility.FilterSpecV2 schema contains properties used to filter the results when listing clusters (see *GET /vcenter/namespace-management/cluster-compatibility/v2*) and their compatibility information.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.ClusterCompatibility.ZoneFilterSpec": { + "type": "object", + "properties": { + "zones": { + "type": "array", + "description": "A list of vSphere Zone identifiers which will be used to filter vSphere Zones that correspond to this specific set of identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` or empty, results will not be filtered for specific vSphere Zone identifiers.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterCompatibility.ZoneFilterSpec schema contains properties used to filter the results when listing vSphere Zones (see *GET /vcenter/namespace-management/cluster-compatibility/v2*) and their compatibility information.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.ClusterCompatibility.ZoneCompatibilityInfo": { + "required": [ + "compatible", + "incompatibility_reasons", + "zone_summaries" + ], + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "Flag to indicate whether the vSphere Zones are compatible with each other. If false, the list of incompatibility issues will be given in the incompatibility_reasons field.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "zone_summaries": { + "type": "array", + "description": "Information about the compatibility of a list of vSphere Zones and the vSphere clusters associated with them.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterCompatibility.ZoneSummary" + } + }, + "incompatibility_reasons": { + "type": "array", + "description": "Reasons for incompatibility between the vSphere Zones.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterCompatibility.ZoneCompatibilityInfo schema contains the information about the compatibility between a list of vSphere Zones.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.ClusterSizeInfo.VmInfo": { + "required": [ + "capacity", + "cores_per_socket", + "count", + "memory" + ], + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "Number of CPU cores.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "Number of CPU cores per socket.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "memory": { + "type": "integer", + "description": "Memory size, in mebibytes.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "capacity": { + "type": "integer", + "description": "Overall capacity of the disks in the virtual machine, in mebibytes.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterSizeInfo.VmInfo schema contains the information about the configuration of the virtual machines which would be created for Namespaces.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.ClusterSizeInfo.Info": { + "required": [ + "default_pod_cidr", + "default_service_cidr", + "master_vm_info", + "num_supported_pods", + "num_supported_services" + ], + "type": "object", + "properties": { + "num_supported_pods": { + "type": "integer", + "description": "The maximum number of supported pods.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "num_supported_services": { + "type": "integer", + "description": "The maximum number of supported services.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "default_service_cidr": { + "description": "Default CIDR range from which Kubernetes allocates service cluster IP addresses.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + ] + }, + "default_pod_cidr": { + "description": "Default CIDR range from which Kubernetes allocates pod IP addresses.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Ipv4Cidr" + } + ] + }, + "master_vm_info": { + "description": "Information about Kubernetes API server virtual machine configuration.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterSizeInfo.VmInfo" + } + ] + }, + "worker_vm_info": { + "description": "Information about worker virtual machine configuration.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the configuration of the worker VM is not fixed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.ClusterSizeInfo.VmInfo" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.ClusterSizeInfo.Info schema contains the information about limits associated with a Vcenter.NamespaceManagement.SizingHint.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.DistributedSwitchCompatibility.Summary": { + "required": [ + "compatible", + "distributed_switch" + ], + "type": "object", + "properties": { + "distributed_switch": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier of the switch. If *Vcenter.NamespaceManagement.DistributedSwitchCompatibility.Summary.network_provider* is either missing or `null` or is set to NSXT_CONTAINER_PLUGIN, the value of this field will refer to the UUID of a vim.DistributedVirtualSwitch. Otherwise, the value of the field will refer to the ID of a vim.DistributedVirtualSwitch.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `vSphereDistributedSwitch`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `vSphereDistributedSwitch`." + }, + "compatible": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCompatibility of this switch with vSphere Namespaces.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nList of reasons for incompatibility.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, this Distributed Switch is compatible.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "network_provider": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nThe network provider whose networks were considered.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, clients clients should assume the value to be NSXT_CONTAINER_PLUGIN." + }, + "compatible_networks": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nList of compatible (PortGroup) Networks under the distributed switch.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.DistributedSwitchCompatibility.Summary schema contains information about the compatibility of a vSphere Distributed Switch with the Namespaces feature.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.DistributedSwitchCompatibility.FilterSpec": { + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCompatibility criteria for matching the filter. If true, only Distributed Switches which are compatible with vSphere Namespaces match the filter. If false, only Distributed Switches which are incompatible with vSphere Namespaces match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, both compatible and incompatible Distributed Switches match the filter." + }, + "network_provider": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nThe network provider whose networks will be considered. If unset, this will default to NSXT_CONTAINER_PLUGIN.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: NSX Container Plugin.\n - `VSPHERE_NETWORK`: vSphere Networking.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NSX_VPC`: NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Clusters.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.DistributedSwitchCompatibility.FilterSpec schema contains properties used to filter the results when listing Distributed Switches (see *GET /vcenter/namespace-management/distributed-switch-compatibility*) and their compatibility information.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.EdgeClusterCompatibility.Summary": { + "required": [ + "compatible", + "display_name", + "edge_cluster" + ], + "type": "object", + "properties": { + "edge_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier of the Edge Cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXEdgeCluster`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXEdgeCluster`." + }, + "display_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDisplay name of the Edge Cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "compatible": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCompatibility of this Edge Cluster with Namespaces feature.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nList of reasons for incompatibility.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, this Edge Cluster is compatible.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.EdgeClusterCompatibility.Summary schema contains information about an NSX Edge Cluster, including its compatibility with the vCenter Namespaces feature.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.EdgeClusterCompatibility.FilterSpec": { + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCompatibility criteria for matching the filter. If true, only Edge Clusters which are compatible with vSphere Namespaces match the filter. If false, only Edge Clusters which are incompatible with vSphere Namespaces match the filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, both compatible and incompatible Edge Clusters match the filter." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.EdgeClusterCompatibility.FilterSpec schema contains properties used to filter the results when listing Edge Clusters (see *GET /vcenter/namespace-management/edge-cluster-compatibility*) and their compatibility information.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.SupportBundle.Token": { + "required": [ + "expiry", + "token" + ], + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nA one-time, short-lived token required to be provided in the HTTP POST request to generate the support bundle. This token needs to be passed in as the body of the HTTP POST request with name \"wcp-support-bundle-token\".\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "expiry": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nExpiry time of the token\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.SupportBundle.Token schema contains information about the token required in the HTTP POST request to generate the support bundle.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.SupportBundle.Location": { + "required": [ + "url", + "wcp_support_bundle_token" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nSupport Bundle Download URL.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "wcp_support_bundle_token": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nInformation about the token required in the HTTP POST request to generate the support bundle.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupportBundle.Token" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.SupportBundle.Location schema contains the URI to download the per-cluster support bundle from, as well as a token required (as the body on the HTTP request) to generate the bundle. The validity of the token is 5 minutes. After the token expires, any attempt to call the URI with the token will fail.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.NamespaceResourceOptions.Info": { + "required": [ + "create_resource_quota_type", + "update_resource_quota_type" + ], + "type": "object", + "properties": { + "create_resource_quota_type": { + "type": "string", + "description": "Identifier of the schema used to set resource quotas on the namespace. See *POST /vcenter/namespaces/instances* and *PUT /vcenter/namespaces/instances/{namespace}*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.structure`." + }, + "update_resource_quota_type": { + "type": "string", + "description": "Identifier of the schema used to update resource quotas on the namespace. See *PATCH /vcenter/namespaces/instances/{namespace}*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.structure`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.structure`." + } + }, + "description": "The Vcenter.NamespaceManagement.NamespaceResourceOptions.Info schema contains the information about the objects used to set and update resource quota keys on a namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Cns.MaintenanceActionType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Cns.MaintenanceActionType schema contains actions to be taken when an entity enters maintenance mode.\n\nPossible values:\n - `PermanentRemoval`: The entity is getting permanently removed. Move applications, rebuild storage on other entities before allowing to proceed.\n - `EnsureAccessibility`: The entity is going down temporarily for maintenance. Still need to ensure application availability and storage accessibility at least in a degraded level.\n - `NoAction`: Admin override to not delay or stop the entity from entering maintenance mode.\n", + "enum": [ + "PermanentRemoval", + "EnsureAccessibility", + "NoAction" + ] + }, + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Status": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Status schema describes the configuration status of the vSphere Namespaces with a Content Library.\n\nPossible values:\n - `CONFIGURING`: Indicates vSphere Namespaces is being configured with Content Library.\n - `READY`: Indicates vSphere Namespaces is ready to consume the Content Library. Expected status transition: 1. CONFIGURING --> READY\n - `REMOVING`: Indicates the Content Library is being removed and vSphere Namespaces is de-configured with Content Library. Expected status transition: 2. CONFIGURING --> REMOVING 3. READY --> REMOVING\n - `ERROR`: Indicates configuring the vSphere Namespaces with Content Library has an error or Content Library is not available anymore. The expected transitions: 1. CONFIGURING --> ERROR 2. CONFIGURING --> READY --> CONFIGURING --> ERROR 2. CONFIGURING --> READY --> ERROR 3. CONFIGURING --> READY --> REMOVING --> ERROR 4. CONFIGURING --> REMOVING --> ERROR\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "CONFIGURING", + "READY", + "REMOVING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.ContentLibrarySpec": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Content Library. The Content Library must exist in the vSphere inventory.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + } + }, + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.ContentLibrarySpec schema contains the specification required to configure the vSphere Namespaces with Content Library of Supervisor images.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.SetSpec": { + "required": [ + "library" + ], + "type": "object", + "properties": { + "library": { + "type": "string", + "description": "The vSphere Namespaces will be configured with the *Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.SetSpec.library*. *Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.SetSpec.library* must refer to a Content Library in the vSphere inventory.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + } + }, + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.SetSpec schema contains the specification required to configure vSphere Namespaces with an existing Content Library of Supervisor images.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Info": { + "required": [ + "library", + "messages", + "status" + ], + "type": "object", + "properties": { + "library": { + "description": "Details of the Content Library.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.ContentLibrarySpec" + } + ] + }, + "status": { + "type": "string", + "description": "Configuration status of vSphere Namespaces with this Content Library.\n\nPossible values:\n - `CONFIGURING`: Indicates vSphere Namespaces is being configured with Content Library.\n - `READY`: Indicates vSphere Namespaces is ready to consume the Content Library. Expected status transition: 1. CONFIGURING --> READY\n - `REMOVING`: Indicates the Content Library is being removed and vSphere Namespaces is de-configured with Content Library. Expected status transition: 2. CONFIGURING --> REMOVING 3. READY --> REMOVING\n - `ERROR`: Indicates configuring the vSphere Namespaces with Content Library has an error or Content Library is not available anymore. The expected transitions: 1. CONFIGURING --> ERROR 2. CONFIGURING --> READY --> CONFIGURING --> ERROR 2. CONFIGURING --> READY --> ERROR 3. CONFIGURING --> READY --> REMOVING --> ERROR 4. CONFIGURING --> REMOVING --> ERROR\n\n\nFor more information see: *Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "messages": { + "type": "array", + "description": "Messages related to configuration between vSphere Namespaces and Content Library.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Message" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Info schema provides detailed information about a Content Library and configuration status with vSphere Namespaces.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Summary": { + "required": [ + "library", + "status" + ], + "type": "object", + "properties": { + "library": { + "description": "Details of the Content Library.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.ContentLibrarySpec" + } + ] + }, + "status": { + "type": "string", + "description": "Indicates the configuration status of vSphere Namespaces with this Content Library.\n\nPossible values:\n - `CONFIGURING`: Indicates vSphere Namespaces is being configured with Content Library.\n - `READY`: Indicates vSphere Namespaces is ready to consume the Content Library. Expected status transition: 1. CONFIGURING --> READY\n - `REMOVING`: Indicates the Content Library is being removed and vSphere Namespaces is de-configured with Content Library. Expected status transition: 2. CONFIGURING --> REMOVING 3. READY --> REMOVING\n - `ERROR`: Indicates configuring the vSphere Namespaces with Content Library has an error or Content Library is not available anymore. The expected transitions: 1. CONFIGURING --> ERROR 2. CONFIGURING --> READY --> CONFIGURING --> ERROR 2. CONFIGURING --> READY --> ERROR 3. CONFIGURING --> READY --> REMOVING --> ERROR 4. CONFIGURING --> REMOVING --> ERROR\n\n\nFor more information see: *Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Summary schema provides basic information about the Content Library configured with vSphere Namespaces.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Message": { + "required": [ + "message", + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Message.Severity*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "message": { + "description": "Details about the message.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Message schema contains the information about the Content Library configuration with vSphere Namespaces.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Message.Severity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Message.Severity enumerated type represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.ListResult": { + "required": [ + "libraries" + ], + "type": "object", + "properties": { + "libraries": { + "type": "array", + "description": "List of content libraries.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Lifecycle.Content.Libraries.ListResult schema represents the result of *GET /vcenter/namespace-management/lifecycle/content/libraries* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.IPAssignment": { + "required": [ + "ranges" + ], + "type": "object", + "properties": { + "assignee": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.IPAssignment.assignee* is the role assignee for the given IP Ranges.\n\nPossible values:\n - `POD`: *Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment.POD* represents the IP address that is allocatable to Kubernetes Pods. This assignment is currently only applicable on NSX networks.\n - `NODE`: *Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment.NODE* represents IP ranges that is allocated to nodes for both the control plane and Kubernetes Clusters. This assignment is currently only applicable on VDS networks.\n - `SERVICE`: *Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment.SERVICE* represents the IP ranges that Kubernetes can use for its cluster IP addresses. Cluster IPs are internal to the cluster, but can be exposed via edge services such as load balancer, ingress, and egress.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis field defaults to ANY." + }, + "ranges": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Networks.IPAssignment.ranges* lists the available IP addresses that can be consumed by Supervisor to run the cluster.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPRange" + } + } + }, + "description": "Vcenter.NamespaceManagement.Networks.IPAssignment schema is used to assign IP addresses to be used for various functions in a Supervisor Kubernetes Cluster.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment": { + "type": "string", + "description": "Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment lists the different entities that require IP ranges. These assignments fulfill different needs in the Kubernetes environment.\n\nPossible values:\n - `POD`: *Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment.POD* represents the IP address that is allocatable to Kubernetes Pods. This assignment is currently only applicable on NSX networks.\n - `NODE`: *Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment.NODE* represents IP ranges that is allocated to nodes for both the control plane and Kubernetes Clusters. This assignment is currently only applicable on VDS networks.\n - `SERVICE`: *Vcenter.NamespaceManagement.Networks.IPAssignment.Assignment.SERVICE* represents the IP ranges that Kubernetes can use for its cluster IP addresses. Cluster IPs are internal to the cluster, but can be exposed via edge services such as load balancer, ingress, and egress.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "POD", + "NODE", + "SERVICE" + ] + }, + "Vcenter.NamespaceManagement.Networks.IPManagement": { + "type": "object", + "properties": { + "dhcp_enabled": { + "type": "boolean", + "description": "*Vcenter.NamespaceManagement.Networks.IPManagement.dhcp_enabled* If set true, configures IP address using the DHCP server on the broadcast domain unless the corresponding *Vcenter.NamespaceManagement.Networks.IPManagement.ip_assignments* are set.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` this field defaults to true." + }, + "gateway_address": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.IPManagement.gateway_address* is the IP address combined with the subnet prefix length (e.g. 192.168.1.1/24) of the default gateway of this network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf *Vcenter.NamespaceManagement.Networks.IPManagement.dhcp_enabled* is not set, or this is an NSX network, this address must be set." + }, + "ip_assignments": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Networks.IPManagement.ip_assignments* are a list of roles that can be allocated to IP addresses. If *Vcenter.NamespaceManagement.Networks.IPManagement.gateway_address* is specified, these assignments must be on the same subnet.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThese assignments are optional when using DHCP.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPAssignment" + } + } + }, + "description": "Vcenter.NamespaceManagement.Networks.IPManagement schema dictates IP addressing configuration for the network that hosts the Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.IPRange": { + "required": [ + "address", + "count" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.IPRange.address* is the starting IP address of the Vcenter.NamespaceManagement.Networks.IPRange.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "count": { + "type": "integer", + "description": "\n\n*Vcenter.NamespaceManagement.Networks.IPRange.count* is number of IP addresses in the range. \n\nFor example: \n\nA /24 subnet will have a count of 256. \n\nA /24 subnet with a gateway address and a broadcast address will have a count of 254.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + } + }, + "description": "\n\nThe Vcenter.NamespaceManagement.Networks.IPRange schema is used to express a range of IP addresses. The IP address supported by this structure will depend on the IP version that is being used by Supervisor. \n\nCurrently, the Supervisor only supports IPv4.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Ipv4Cidr": { + "required": [ + "address", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IPv4 address.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Ipv4Cidr schema contains the specification for representing CIDR notation of IP range. For example, this can be used to represent 256 IP addresses using 10.10.10.0/24.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Services": { + "type": "object", + "properties": { + "dns": { + "description": "*Vcenter.NamespaceManagement.Networks.Services.dns* describes DNS servers and search domains for a given network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, no DNS settings will be configured.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Service.DNS" + } + ] + }, + "ntp": { + "description": "*Vcenter.NamespaceManagement.Networks.Services.ntp* describes NTP servers running on this network that networked applications can use for synchronizing time.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, no NTP settings will be configured.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Service.NTP" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Services schema describes services that assists applications in communicating on a network.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize schema enumerates load balancer sizes supported by NSX.\n\nPossible values:\n - `SMALL`: *Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize.SMALL* is a load balancer that hosts up to 20 virtual servers.\n - `MEDIUM`: *Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize.MEDIUM* is a load balancer that hosts up to 100 virtual servers.\n - `LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize.LARGE* is a load balancer that hosts up to 1000 virtual servers.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "SMALL", + "MEDIUM", + "LARGE" + ] + }, + "Vcenter.NamespaceManagement.Networks.Edges.NSXRoutingMode": { + "type": "string", + "description": "Vcenter.NamespaceManagement.Networks.Edges.NSXRoutingMode enum defines an enumeration of available routing modes.\n\nPossible values:\n - `ROUTED`: *Vcenter.NamespaceManagement.Networks.Edges.NSXRoutingMode.ROUTED* configures NSX to route directly to Pods cluster IP addresses.\n - `NAT`: *Vcenter.NamespaceManagement.Networks.Edges.NSXRoutingMode.NAT* uses network address translation and the *Vcenter.NamespaceManagement.Networks.Edges.NSXConfig.egress_IP_ranges* to route traffic out of the cluster.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "ROUTED", + "NAT" + ] + }, + "Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider": { + "type": "string", + "description": "Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider describes the supported available edge services.\n\nPossible values:\n - `HAPROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_ADVANCED* instead.\n\n*Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.HAPROXY* is an HAProxy load balancer fronted by the Data Plane API. This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `NSX`: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX* specifies NSX-managed edge services. This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*. \n\nWith this provider, an edge configuration managed by NSX will be automatically detected by the Supervisor. Upon edge detection, either edge provider *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB*, or if entitled to NSX Advanced Load Balancer (Avi Load Balancer), then *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI*, will be configured.\n - `NSX_ADVANCED`: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_ADVANCED* specifies the NSX Advanced Load Balancer and Ingress. This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*. *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_ADVANCED* maps to edge provider *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* after Supervisor enablement.\n - `NSX_VPC`: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_VPC* specifies NSX-managed edge services with support for Virtual Private Clouds (VPCs). This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC*. \n\nWith this provider, an edge configuration managed by NSX will be automatically detected by the Supervisor. Upon edge detection, either edge provider *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB*, or if entitled to NSX Advanced Load Balancer (Avi Load Balancer), then *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI*, will be configured.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `VSPHERE_FOUNDATION`: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* specifies the vSphere Foundation Load Balancer. This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "HAPROXY", + "NSX", + "NSX_ADVANCED", + "NSX_VPC", + "VSPHERE_FOUNDATION" + ] + }, + "Vcenter.NamespaceManagement.Networks.Edges.Edge": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Edge.id* is a unique identifier that can be referenced for updates.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, an ID will be automatically generated.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`." + }, + "load_balancer_address_ranges": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Networks.Edges.Edge.load_balancer_address_ranges* defines the list of addresses that a load balancer can consume to publish Kubernetes services. This range must contain at least one IP address unless the NSX Advanced provider is selected. It is recommended to supply a large enough range to support load balancers requested for pods in the control plane and Kubernetes Clusters.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis field must be set if *Vcenter.NamespaceManagement.Networks.Edges.Edge.provider* is not an NSX Advanced Load Balancer.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPRange" + } + }, + "haproxy": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Instead, use *Vcenter.NamespaceManagement.Networks.Edges.Edge.foundation* with provider type *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Networks.Edges.Edge.nsx_advanced* with provider type *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_ADVANCED*.\n\n*Vcenter.NamespaceManagement.Networks.Edges.Edge.haproxy* defines configuration for the HAProxy Load Balancer.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.HAPROXY*.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.HAProxyConfig" + } + ] + }, + "nsx": { + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Edge.nsx* defines configuration for the NSX Load Balancer.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.NSXConfig" + } + ] + }, + "nsx_advanced": { + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Edge.nsx_advanced* defines configuration for the NSX Advanced Load Balancer and Ingress Software.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_ADVANCED*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.NSXAdvancedLBConfig" + } + ] + }, + "foundation": { + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Edge.foundation* defines configuration for the vSphere Foundation Load Balancer\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.VsphereFoundationConfig" + } + ] + }, + "provider": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Edge.provider* specifies the vendor providing edge services.\n\nPossible values:\n - `HAPROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_ADVANCED* instead.\n\n*Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.HAPROXY* is an HAProxy load balancer fronted by the Data Plane API. This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `NSX`: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX* specifies NSX-managed edge services. This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*. \n\nWith this provider, an edge configuration managed by NSX will be automatically detected by the Supervisor. Upon edge detection, either edge provider *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB*, or if entitled to NSX Advanced Load Balancer (Avi Load Balancer), then *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI*, will be configured.\n - `NSX_ADVANCED`: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_ADVANCED* specifies the NSX Advanced Load Balancer and Ingress. This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*. *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_ADVANCED* maps to edge provider *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* after Supervisor enablement.\n - `NSX_VPC`: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.NSX_VPC* specifies NSX-managed edge services with support for Virtual Private Clouds (VPCs). This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC*. \n\nWith this provider, an edge configuration managed by NSX will be automatically detected by the Supervisor. Upon edge detection, either edge provider *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB*, or if entitled to NSX Advanced Load Balancer (Avi Load Balancer), then *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI*, will be configured.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `VSPHERE_FOUNDATION`: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* specifies the vSphere Foundation Load Balancer. This provider is only compatible with Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.EdgeProvider*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, there will be no edge services provider in this Supervisor." + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.Edge schema contains configuration for network traffic entering and exiting a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.NSXAdvancedLBConfig": { + "required": [ + "certificate_authority_chain", + "password", + "server", + "username" + ], + "type": "object", + "properties": { + "server": { + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXAdvancedLBConfig.server* is the address for the Avi Controller, used to configure Virtual Servers.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Server" + } + ] + }, + "username": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXAdvancedLBConfig.username* is used by the Avi Kubernetes Operator to program the Avi Controller.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "password": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXAdvancedLBConfig.password* is the password for the username.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXAdvancedLBConfig.certificate_authority_chain* contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "cloud_name": { + "type": "string", + "description": "The cloud name for the Avi Controller.\n\nThis property was added in __vSphere API 8.0.2.00300__.\n\nOnly set if custom cloud name is configured for this Avi Controller. If missing or `null`, it defaults to \"Default-Cloud\"." + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.NSXAdvancedLBConfig schema is used to describe the NSX Advanced Load Balancer configuration.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.HAProxyConfig": { + "required": [ + "certificate_authority_chain", + "password", + "servers", + "username" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\n*Vcenter.NamespaceManagement.Networks.Edges.HAProxyConfig.servers* is a list of the addresses for the data plane API servers used to configure Virtual Servers.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Server" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\n*Vcenter.NamespaceManagement.Networks.Edges.HAProxyConfig.username* is used by the HAProxy Kubernetes Operator to program the HAProxy Controller.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\n*Vcenter.NamespaceManagement.Networks.Edges.HAProxyConfig.password* secures the *Vcenter.NamespaceManagement.Networks.Edges.HAProxyConfig.username*.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\n*Vcenter.NamespaceManagement.Networks.Edges.HAProxyConfig.certificate_authority_chain* contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nVcenter.NamespaceManagement.Networks.Edges.HAProxyConfig schema describes configuration for the HAProxy Load Balancer.\n\nThis schema was added in __vSphere API 8.0.0.1__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Networks.Edges.NSXConfig": { + "type": "object", + "properties": { + "edge_cluster_id": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXConfig.edge_cluster_ID* defines the NSX Edge Cluster to be used for Kubernetes Services of type LoadBalancer, Kubernetes Ingresses, and NSX SNAT.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nDefaults to a the edge cluster created earliest." + }, + "default_ingress_tls_certificate": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXConfig.default_ingress_TLS_certificate* defines a default certificate that is served on Ingress services, when another certificate is not presented. This configuration applies to all namespaces by default.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, there will be no certificate served on Ingress." + }, + "routing_mode": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXConfig.routing_mode* enables the network topology in either NAT mode or Routed Mode. Enabling routed mode will result in all the workloads i.e vSphere PODs, VMs and Kubernetes Clusters Node IPs to be directly accessible from networks beyond the Tier-0 router. Once a namespace mode is applied, it cannot be changed.\n\nPossible values:\n - `ROUTED`: *Vcenter.NamespaceManagement.Networks.Edges.NSXRoutingMode.ROUTED* configures NSX to route directly to Pods cluster IP addresses.\n - `NAT`: *Vcenter.NamespaceManagement.Networks.Edges.NSXRoutingMode.NAT* uses network address translation and the *Vcenter.NamespaceManagement.Networks.Edges.NSXConfig.egress_IP_ranges* to route traffic out of the cluster.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.NSXRoutingMode*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThe default setting is NAT mode." + }, + "egress_ip_ranges": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXConfig.egress_IP_ranges* lists the IP Ranges from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges must not overlap with other IP ranges on this network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf this range is empty, network traffic will not be able to exit the cluster.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPRange" + } + }, + "t0_gateway": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXConfig.t0_gateway* specifies the default Tier-0 gateway ID for the namespaces configuration.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, the default Tier-0 gateway from the edge cluster is used.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXTier0Gateway`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXTier0Gateway`." + }, + "load_balancer_size": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.NSXConfig.load_balancer_size* describes the load balancer sizing options available. Larger sizes support more active virtual servers, but consume more resources.\n\nPossible values:\n - `SMALL`: *Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize.SMALL* is a load balancer that hosts up to 20 virtual servers.\n - `MEDIUM`: *Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize.MEDIUM* is a load balancer that hosts up to 100 virtual servers.\n - `LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize.LARGE* is a load balancer that hosts up to 1000 virtual servers.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.LoadBalancerSize*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, the size defaults to small." + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.NSXConfig schema describes the configuration for NSX Edge services.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.VsphereFoundationConfig": { + "type": "object", + "properties": { + "deployment_target": { + "description": "Customize the placement of the Load Balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the load balancer will be placed using its default configuration. See fields in *Vcenter.NamespaceManagement.Networks.Edges.Foundation.DeploymentTarget* for a description of each default configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.DeploymentTarget" + } + ] + }, + "interfaces": { + "type": "array", + "description": "Customize the network interfaces of the Load Balancer. For details, see *Vcenter.NamespaceManagement.Networks.Edges.Foundation.Persona* \n\n Supported network interface/persona combinations currently include: \n - One interface with combined Frontend and Management Personas\n - One interface with Management Persona, one interface with Frontend Persona\n - One interface with Management Persona, one interface with Frontend Persona, one interface with Backend Persona\n \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf no interfaces are configured, then the load balancer will be attached to the Supervisor's management and workload networks when applicable. \n\n If a Supervisor is provisioned with two networks, the following interface configuration is created: Interface IndexPersona(s)Network 1Management PersonaSupervisor Management Network 2Workload Persona, Frontend PersonaSupervisor Workload Network
In this context management traffic is isolated from workload and load balancer traffic. \n\n If a Supervisor is provisioned with one network, the following interface configuration is created. Interface IndexPersona(s)Network 1Management Persona, Workload Persona, Frontend PersonaSupervisor Workload Network
In this context a single interface is used for management, workload, and load balancer traffic. \n\n", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkInterface" + } + }, + "network_services": { + "description": "Configure network services for this load balancer. Network services increase the reliability of your load balancer. \n\n Network services must be accessible from a network interface with a Management Persona.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, and *Vcenter.NamespaceManagement.Networks.Edges.VsphereFoundationConfig.interfaces* is unset, the load balancer will inherit settings from the Supervisor. If the an interface configured with a Management Persona is connected to a DHCP network, it will attempt to obtain its settings from a DHCP server. Otherwise, no services will be configured. \n\n __Availability of your load balancer may be reduced if network services are not configured. Therefore, it is highly recommended you ensure that network services are configured for your load balancer.__", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkServices" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.VsphereFoundationConfig schema contains configuration for enabling a vSphere Foundation Load Balancer to load balance Supervisor workload traffic.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Server": { + "required": [ + "host", + "port" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Server.host* specifies a the management hostname or IPv4 address for a load balancer.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "port": { + "type": "integer", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Server.port* specifies a management port used to access a load balancer.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + } + }, + "description": "A Vcenter.NamespaceManagement.Networks.Edges.Server schema represents an endpoint used to configure load balancers.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.AvailabilityMode": { + "type": "string", + "description": "Vcenter.NamespaceManagement.Networks.Edges.Foundation.AvailabilityMode describes the availability options for the load balancer.\n\nPossible values:\n - `ACTIVE_PASSIVE`: Deploys two nodes with one node responsible for serving traffic and the second node acting in standby. In the event that nodes cannot communicate with each other or are otherwise deemed unhealthy, a fail-over will occur and the passive node will begin serving traffic. \n\n In the event of a fail-over, your workloads may be unavailable for a few seconds and connections to and from the load balancer may be reset. \n\n Both nodes will be deployed to a single vSphere Zone in your Supervisor.\n - `SINGLE_NODE`: Deploys a single node into a Supervisor vSphere Zone. A single node configuration trades availability to reduce resource consumption. In the event of a node failure, workloads will not be available until the node is able to be re-provisioned and configured. Re-provisioning happens automatically, but it is best-effort and requires a healthy cluster. \n\n It is recommended you deploy with *Vcenter.NamespaceManagement.Networks.Edges.Foundation.AvailabilityMode.ACTIVE_PASSIVE* configuration if your Supervisor has enough resources.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "ACTIVE_PASSIVE", + "SINGLE_NODE" + ] + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.Persona": { + "type": "string", + "description": "A Vcenter.NamespaceManagement.Networks.Edges.Foundation.Persona determines the type of traffic that passes through a network interface.\n\nPossible values:\n - `MANAGEMENT`: A Management Persona allows management traffic to pass through this interface. Management traffic may include (but is not limited to) node health checks, rsyslog, and control plane capabilities. \n\n Management traffic can be safely isolated from workload and external traffic by placing the Management Persona NIC onto a different network from other NICs.\n - `WORKLOAD`: A Workload Persona allows traffic to reach workload networks through the provisioning of LoadBalancer Services in Kubernetes. Thus, interface associated with this persona must be able to reach node IP addresses on Supervisor workload networks. \n\n An interface with the Workload Persona cannot be connected to a DHCP network.\n - `FRONTEND`: A Frontend Persona is used to host load balancer IP addresses. It allows external traffic to reach the load balancer addresses which can then be forwarded to interfaces with a Workload Persona. \n\n IP addresses supplied in *Vcenter.NamespaceManagement.Networks.Edges.Edge.load_balancer_address_ranges*, *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec.vip_ranges*, or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec.vip_ranges* will be utilized by the network interface configured with this Persona. \n\n Virtual IP traffic can be safely isolated from workload and management traffic by placing the Frontend Persona NIC onto a different network from other NICs. \n\n An interface with the Frontend Persona cannot be connected to a DHCP network. \n\n __Frontend Persona interface cannot be changed.__\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "MANAGEMENT", + "WORKLOAD", + "FRONTEND" + ] + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint determines the Foundation load balancer form factor.\n\nPossible values:\n - `SMALL`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.SMALL* requires 2 CPUs, 4 GB memory and 8 GB storage resources.\n - `MEDIUM`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.MEDIUM* requires 4 CPUs, 8 GB memory and 8 GB storage resources.\n - `LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.LARGE* requires 8 CPUs, 12 GB memory and 8 GB storage resources.\n - `X_LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.X_LARGE* requires 16 CPUs, 16 GB memory and 8 GB storage resources.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SMALL", + "MEDIUM", + "LARGE", + "X_LARGE" + ] + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.DeploymentTarget": { + "type": "object", + "properties": { + "zones": { + "type": "array", + "description": "The list of zones to deploy onto. \n\n Currently only a single Supervisor Management Zone is supported. \n\n\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf no zones are provided, one will be chosen for you.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "items": { + "type": "string" + } + }, + "storage_policy": { + "type": "string", + "description": "Storage Policy containing datastores hosting the load balancer nodes.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nDefaults to the Supervisor's control plane Storage Policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "deployment_size": { + "type": "string", + "description": "Determines the CPU/memory resource size of the load balancer deployment.\n\nPossible values:\n - `SMALL`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.SMALL* requires 2 CPUs, 4 GB memory and 8 GB storage resources.\n - `MEDIUM`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.MEDIUM* requires 4 CPUs, 8 GB memory and 8 GB storage resources.\n - `LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.LARGE* requires 8 CPUs, 12 GB memory and 8 GB storage resources.\n - `X_LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.X_LARGE* requires 16 CPUs, 16 GB memory and 8 GB storage resources.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nDefaults to *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.SMALL*." + }, + "availability": { + "type": "string", + "description": "Configures the availability level for the load balancer.\n\nPossible values:\n - `ACTIVE_PASSIVE`: Deploys two nodes with one node responsible for serving traffic and the second node acting in standby. In the event that nodes cannot communicate with each other or are otherwise deemed unhealthy, a fail-over will occur and the passive node will begin serving traffic. \n\n In the event of a fail-over, your workloads may be unavailable for a few seconds and connections to and from the load balancer may be reset. \n\n Both nodes will be deployed to a single vSphere Zone in your Supervisor.\n - `SINGLE_NODE`: Deploys a single node into a Supervisor vSphere Zone. A single node configuration trades availability to reduce resource consumption. In the event of a node failure, workloads will not be available until the node is able to be re-provisioned and configured. Re-provisioning happens automatically, but it is best-effort and requires a healthy cluster. \n\n It is recommended you deploy with *Vcenter.NamespaceManagement.Networks.Edges.Foundation.AvailabilityMode.ACTIVE_PASSIVE* configuration if your Supervisor has enough resources.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.AvailabilityMode*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nDefaults to *Vcenter.NamespaceManagement.Networks.Edges.Foundation.AvailabilityMode.ACTIVE_PASSIVE*." + } + }, + "description": "A Vcenter.NamespaceManagement.Networks.Edges.Foundation.DeploymentTarget describes how to deploy the vSphere Foundation Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.Network": { + "required": [ + "network_type" + ], + "type": "object", + "properties": { + "network_type": { + "type": "string", + "description": "The type of network this interface is attached to.\n\nPossible values:\n - `SUPERVISOR_MANAGEMENT`: This network refers to the management network provided as Supervisor enablement *Vcenter.NamespaceManagement.Supervisors.ControlPlane.network*.\n - `PRIMARY_WORKLOAD`: This network refers to the Supervisor default workload network provided at enablement *Vcenter.NamespaceManagement.Supervisors.Workloads.network*.\n - `DVPG`: Refers to a custom Vcenter.NamespaceManagement.Networks.Edges.Foundation.DistributedPortGroupNetwork.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.Network.NetworkType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "dvpg_network": { + "description": "A network defines how packets reach their destination.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_type is *Vcenter.NamespaceManagement.Networks.Edges.Foundation.Network.NetworkType.DVPG*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.DistributedPortGroupNetwork" + } + ] + } + }, + "description": "A Vcenter.NamespaceManagement.Networks.Edges.Foundation.Network describes how packets from the load balancer reach their destinations.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.Network.NetworkType": { + "type": "string", + "description": "A Vcenter.NamespaceManagement.Networks.Edges.Foundation.Network.NetworkType determines which type of network this NIC is attached to.\n\nPossible values:\n - `SUPERVISOR_MANAGEMENT`: This network refers to the management network provided as Supervisor enablement *Vcenter.NamespaceManagement.Supervisors.ControlPlane.network*.\n - `PRIMARY_WORKLOAD`: This network refers to the Supervisor default workload network provided at enablement *Vcenter.NamespaceManagement.Supervisors.Workloads.network*.\n - `DVPG`: Refers to a custom Vcenter.NamespaceManagement.Networks.Edges.Foundation.DistributedPortGroupNetwork.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SUPERVISOR_MANAGEMENT", + "PRIMARY_WORKLOAD", + "DVPG" + ] + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.DistributedPortGroupNetwork": { + "required": [ + "ipam", + "name", + "network" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The user-facing name of the network. A Supervisor workload network will be created with this name. This name must be compliant with DNS naming specifications as stated in RFC 1123.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "network": { + "type": "string", + "description": "Distributed Virtual Port Group identifier.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `vSphereDistributedPortGroup`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `vSphereDistributedPortGroup`." + }, + "ipam": { + "type": "string", + "description": "IP Address management scheme for this network.\n\nPossible values:\n - `STATIC`: IP addresses are statically allocated.\n - `DHCP`: IP addresses are acquired through a DHCP server via the DHCP protocol.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.DistributedPortGroupNetwork.IPAMType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "ip_config": { + "description": "Configuration used to configure static IP addresses.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of ipam is *Vcenter.NamespaceManagement.Networks.Edges.Foundation.DistributedPortGroupNetwork.IPAMType.STATIC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.IPConfig" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.Foundation.DistributedPortGroupNetwork is a network backed by a single vSphere distributed port group.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.DistributedPortGroupNetwork.IPAMType": { + "type": "string", + "description": "IP Address management scheme for this network.\n\nPossible values:\n - `STATIC`: IP addresses are statically allocated.\n - `DHCP`: IP addresses are acquired through a DHCP server via the DHCP protocol.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "STATIC", + "DHCP" + ] + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.FoundationIPRange": { + "required": [ + "address", + "count" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Foundation.FoundationIPRange.address* is the starting IP address.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "count": { + "type": "integer", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Foundation.FoundationIPRange.count* is number of IP addresses in the range. \n\nFor example: \n - A /24 subnet will have a count of 256.\n - A /24 subnet with a gateway address and a broadcast address will have a count of 254.\n \n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.Foundation.FoundationIPRange defines a contiguous set of IP addresses in the context of a Foundation Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.IPConfig": { + "required": [ + "gateway", + "ip_ranges" + ], + "type": "object", + "properties": { + "ip_ranges": { + "type": "array", + "description": "IP ranges will be used to provision IP addresses for nodes on a network. You must supply at least one IP address per network override per node. The IP addresses must exist within the same subnet as the provided gateway. \n\n If you want to scale up the number of load balancer nodes, you must have enough free IP addresses present in the pool on each respective network. To deploy a load balancer, one IP address is required for each node on each network. For example, if deploying in HA configuration, you must supply two IP addresses for each network for a total of four IP addresses.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.FoundationIPRange" + } + }, + "gateway": { + "type": "string", + "description": "A gateway is the default gateway on a network specified in CIDR notation. E.g. 192.168.0.1/24. IP addresses specified in *Vcenter.NamespaceManagement.Networks.Edges.Foundation.IPConfig.ip_ranges* must be contained within the same subnet as this gateway.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.Foundation.IPConfig encapsulates configuration required to enable the load balancer on static IP networks.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkInterface": { + "required": [ + "network", + "personas" + ], + "type": "object", + "properties": { + "personas": { + "type": "array", + "description": "The list of interface personas. \n\n An interface must have at least one persona and may have additional *distinct* personas. \n\n For example, an interface with Management Persona, Workload Persona, and Frontend Personas will configure the load balancer to put load balancer IPs on the same interface that will be used to reach workloads and other load balancer nodes. An interface configured with only a Frontend Persona will allow ingress and return traffic to exit that interface while relying on different interfaces for management traffic and workload traffic.\n\nPossible values:\n - `MANAGEMENT`: A Management Persona allows management traffic to pass through this interface. Management traffic may include (but is not limited to) node health checks, rsyslog, and control plane capabilities. \n\n Management traffic can be safely isolated from workload and external traffic by placing the Management Persona NIC onto a different network from other NICs.\n - `WORKLOAD`: A Workload Persona allows traffic to reach workload networks through the provisioning of LoadBalancer Services in Kubernetes. Thus, interface associated with this persona must be able to reach node IP addresses on Supervisor workload networks. \n\n An interface with the Workload Persona cannot be connected to a DHCP network.\n - `FRONTEND`: A Frontend Persona is used to host load balancer IP addresses. It allows external traffic to reach the load balancer addresses which can then be forwarded to interfaces with a Workload Persona. \n\n IP addresses supplied in *Vcenter.NamespaceManagement.Networks.Edges.Edge.load_balancer_address_ranges*, *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec.vip_ranges*, or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec.vip_ranges* will be utilized by the network interface configured with this Persona. \n\n Virtual IP traffic can be safely isolated from workload and management traffic by placing the Frontend Persona NIC onto a different network from other NICs. \n\n An interface with the Frontend Persona cannot be connected to a DHCP network. \n\n __Frontend Persona interface cannot be changed.__\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.Persona*.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "network": { + "description": "A network defines how packets reach their destination from this interface.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.Network" + } + ] + } + }, + "description": "A Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkInterface defines how a load balancer will be connected to a network.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkServices": { + "type": "object", + "properties": { + "dns": { + "description": "Domain Name Service configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, and the interface configured with a Management Persona is connected to a DHCP network, it will attempt to obtain its settings from a DHCP server. If the interface configured with a Management Persona is connected to a static IP network, the values will be synced with the Supervisor's management services *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.services*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.DNS" + } + ] + }, + "ntp": { + "description": "Network Time Protocol configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, and the interface configured with a Management Persona is connected to a DHCP network, it will attempt to obtain its settings from a DHCP server. If the interface configured with a Management Persona is connected to a static IP network, the values will be synced with the Supervisor's management services *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.services*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.NTP" + } + ] + }, + "syslog": { + "description": "Configure remote log forwarding for all load balancer nodes.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` logs will be persisted locally and can be retrieved through the Supervisor support bundle collection APIs.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.Syslog" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkServices contains external services on a network that the load balancer is eligible to interact with.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.DNS": { + "required": [ + "search_domains", + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Foundation.DNS.servers* is a list of IP addresses that clients may use for DNS resolution on a given network in priority order. \n\n If missing or `null`, and the interface configured with a Management Persona is connected to a DHCP network, it will attempt to obtain its settings from a DHCP server. If the interface configured with a Management Persona is connected to a static IP network, the values will be synced with the Supervisor's management services *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.services*.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "search_domains": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Foundation.DNS.search_domains* is a list of DNS search domains to be used on this network. \n\nThis field is useful for corporate networks or local domains that are not publicly resolvable. \n\n If missing or `null`, and the interface configured with a Management Persona is connected to a DHCP network, it will attempt to obtain its settings from a DHCP server. If the interface configured with a Management Persona is connected to a static IP network, the values will be synced with the Supervisor's management services *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.services*.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.Foundation.DNS describes DNS servers and search domains for a given network.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.NTP": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Networks.Edges.Foundation.NTP.servers* contains a list of servers in priority order that clients can use for network time protocol. \n\n If missing or `null`, and the interface configured with a Management Persona is connected to a DHCP network, it will attempt to obtain its settings from a DHCP server. If the interface configured with a Management Persona is connected to a static IP network, the values will be synced with the Supervisor's management services *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.services*.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Edges.Foundation.NTP describes network time protocol configuration for a network.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Edges.Foundation.Syslog": { + "type": "object", + "properties": { + "endpoint": { + "type": "string", + "description": "FQDN or IP address of the remote syslog server taking the form ```protocol://hostname|ipv4|ipv6[:port]```. The syslog protocol defaults to tcp.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` logs will be persisted locally." + }, + "certificate_authority_pem": { + "type": "string", + "description": "The Certificate Authority certificate can be provided in PEM format to validate the *Vcenter.NamespaceManagement.Networks.Edges.Foundation.Syslog.endpoint* when using a TLS protocol.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no validation will be performed." + } + }, + "description": "A Vcenter.NamespaceManagement.Networks.Edges.Foundation.Syslog configuration defines how logs are exported using the syslog protocol.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.IPBlockInfo": { + "required": [ + "available_ip_count", + "available_ip_ranges", + "cidr", + "name", + "path", + "used_ip_count" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "NSX policy path of the IP block.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "name": { + "type": "string", + "description": "IP block name.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "cidr": { + "description": "IP block CIDR.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Ipv4Cidr" + } + ] + }, + "cidrs": { + "type": "array", + "description": "A list of IP block CIDRs used to create the IP block. The IP block can be created with both CIDRs and ranges. CIDRs should not overlap with *Vcenter.NamespaceManagement.Networks.Nsx.IPBlockInfo.ranges*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Ipv4Cidr" + } + }, + "ranges": { + "type": "array", + "description": "A list of IP block ranges used to create the IP block. The IP block can be created with both CIDRs and ranges. Ranges should not overlap with *Vcenter.NamespaceManagement.Networks.Nsx.IPBlockInfo.cidrs*\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPRange" + } + }, + "available_ip_ranges": { + "type": "array", + "description": "Free IP ranges from CIDRs and ranges of the IP block.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPRange" + } + }, + "cidr_usages": { + "type": "array", + "description": "Usage details for each CIDR of the IP block.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.CidrUsageDetails" + } + }, + "range_usages": { + "type": "array", + "description": "Usage details for each range of the IP block.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.RangeUsageDetails" + } + }, + "used_ip_count": { + "type": "integer", + "description": "The count of used IP addresses in the IPBlock.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "available_ip_count": { + "type": "integer", + "description": "The count of available IP addresses in the IPBlock.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.IPBlockInfo schema contains information about IP blocks.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.CidrUsageDetails": { + "required": [ + "available_ip_ranges", + "cidr" + ], + "type": "object", + "properties": { + "cidr": { + "type": "string", + "description": "One CIDR in the IP block.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "available_ip_ranges": { + "type": "array", + "description": "Free IP ranges in the *Vcenter.NamespaceManagement.Networks.Nsx.CidrUsageDetails.cidr*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPRange" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.CidrUsageDetails schema contains CIDR usage details.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.RangeUsageDetails": { + "required": [ + "available_ip_ranges", + "ip_range" + ], + "type": "object", + "properties": { + "ip_range": { + "type": "string", + "description": "One range in the IP block.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "available_ip_ranges": { + "type": "array", + "description": "Free IP ranges in the *Vcenter.NamespaceManagement.Networks.Nsx.RangeUsageDetails.ip_range*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPRange" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.RangeUsageDetails schema contains IP range usage details.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Summary": { + "required": [ + "distributed_switch", + "name" + ], + "type": "object", + "properties": { + "distributed_switch": { + "type": "string", + "description": "Identifier of the switch. The value of this field refers to the UUID of a vim.DistributedVirtualSwitch.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `vSphereDistributedSwitch`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `vSphereDistributedSwitch`." + }, + "name": { + "type": "string", + "description": "Human-readable identifier of the switch.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "compatible": { + "type": "boolean", + "description": "Compatibility of this Distributed Switch with the vSphere Namespaces.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "incompatibility_reasons": { + "type": "array", + "description": "List of reasons for incompatibility. If empty, this Distributed Switch is compatible.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Summary schema contains the basic information about a Distributed Switch.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec": { + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "Compatibility criteria. If true, only Distributed Switches compatible with the vSphere Namespaces will be returned. If false, only Distributed Switches incompatible with the vSphere Namespaces will be returned.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, both compatible and incompatible Distributed Switches will be returned." + }, + "cluster": { + "type": "string", + "description": "If specified, distributed switches across the hosts in the cluster will be returned. This must not be specified if *Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec.zones* is specified.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, filtering on a particular cluster will not occur.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.FilterSpec schema contains properties used to filter the results when listing Distributed Switches (see *GET /vcenter/namespace-management/networks/nsx/distributed-switches*).\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Edges.Summary": { + "required": [ + "edge_cluster", + "name", + "path" + ], + "type": "object", + "properties": { + "edge_cluster": { + "type": "string", + "description": "Identifier of the Edge.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXEdgeCluster`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXEdgeCluster`." + }, + "name": { + "type": "string", + "description": "Human-readable identifier of the Edge.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "path": { + "type": "string", + "description": "NSX Policy path of the Edge.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "compatible": { + "type": "boolean", + "description": "Compatibility of this Edge with vSphere Namespaces.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "incompatibility_reasons": { + "type": "array", + "description": "List of reasons for incompatibility. If empty, this Edge is compatible.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Edges.Summary schema contains the basic information about an Edge.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Edges.FilterSpec": { + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "Compatibility criteria. If true, only Edges which are compatible with vSphere Namespaces will be returned. If false, only Edges incompatible with vSphere Namespaces will be returned.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, both compatible and incompatible Edges will be returned." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Edges.FilterSpec schema contains properties used to filter the results when listing Edges (see *GET /vcenter/namespace-management/networks/nsx/edges*).\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfileInfo": { + "required": [ + "name", + "nsx_path", + "profile" + ], + "type": "object", + "properties": { + "profile": { + "type": "string", + "description": "Identifier of the profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VpcConnectivityProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VpcConnectivityProfile`." + }, + "name": { + "type": "string", + "description": "Name used for this profile.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the profile.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfileInfo schema contains information about a VPC Connectivity Profile.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.EdgeClusterInfo": { + "required": [ + "edge_cluster_name", + "edge_cluster_path" + ], + "type": "object", + "properties": { + "edge_cluster_path": { + "type": "string", + "description": "NSX Edge cluster path to be used for SNAT and other centralized services.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "edge_cluster_name": { + "type": "string", + "description": "NSX Edge cluster name used for this cluster.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.EdgeClusterInfo schema contains info of NSX Edge cluster.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.NsxGatewayInfo": { + "required": [ + "nsx_gateway_name", + "nsx_gateway_path" + ], + "type": "object", + "properties": { + "nsx_gateway_path": { + "type": "string", + "description": "NSX Tier0 or VRF Gateway path used for this cluster.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_gateway_name": { + "type": "string", + "description": "NSX Tier0 or VRF Gateway name used for this cluster.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.NsxGatewayInfo schema contains info of NSX Gateway.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Info": { + "required": [ + "default_project", + "description", + "edge_clusters", + "external_ipv4_blocks", + "gateways", + "name", + "nsx_path", + "project", + "vpc_connectivity_profiles" + ], + "type": "object", + "properties": { + "project": { + "type": "string", + "description": "Identifier of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXProject`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXProject`." + }, + "name": { + "type": "string", + "description": "Name of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "gateways": { + "type": "array", + "description": "List of NSX Tier0 or Tier0-VRF gateways currently configured with the project.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.NsxGatewayInfo" + } + }, + "edge_clusters": { + "type": "array", + "description": "List of NSX Edge Clusters currently configured with the project.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.EdgeClusterInfo" + } + }, + "external_ipv4_blocks": { + "type": "array", + "description": "List of NSX External IPv4 Blocks currently configured with the project.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.IPBlockInfo" + } + }, + "default_project": { + "type": "boolean", + "description": "`true` if this Project is the default Project in NSX, `false` otherwise.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vpc_connectivity_profiles": { + "type": "array", + "description": "VPC Connectivity Profile under this project.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfileInfo" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Info schema contains information about an NSX Project.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.FilterSpec": { + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "Compatibility criteria. If true, only Projects which are compatible with Supervisor enablement will be returned. If false, only Projects incompatible with Supervisor enablement will be returned.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, both compatible and incompatible Projects will be returned." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.FilterSpec schema contains properties used to filter the results when listing Projects (see *GET /vcenter/namespace-management/networks/nsx/projects*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.ListResult": { + "required": [ + "projects" + ], + "type": "object", + "properties": { + "projects": { + "type": "array", + "description": "List of all NSX projects.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Info" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.ListResult schema represents the result of the *GET /vcenter/namespace-management/networks/nsx/projects* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Compatibility.Summary": { + "required": [ + "compatible", + "distributed_switch", + "incompatibility_reasons", + "name" + ], + "type": "object", + "properties": { + "distributed_switch": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier of the switch. The value of this field refers to the UUID of a vim.DistributedVirtualSwitch.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `vSphereDistributedSwitch`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `vSphereDistributedSwitch`." + }, + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nHuman-readable identifier of the switch.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "compatible": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCompatibility of this Distributed Switch with the vSphere Namespaces.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nList of reasons for incompatibility. If empty, this Distributed Switch is compatible.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Networks.Nsx.DistributedSwitches.Compatibility.Summary schema contains basic and compatibility information of a Distributed Switch.\n\nThis schema was added in __vSphere API 8.0.0.1__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Edges.Compatibility.Summary": { + "required": [ + "compatible", + "edge_cluster", + "incompatibility_reasons", + "name" + ], + "type": "object", + "properties": { + "edge_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier of the Edge.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXEdgeCluster`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXEdgeCluster`." + }, + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nUser-friendly identifier of the Edge.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "compatible": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCompatibility of this Edge with vSphere Namespaces.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nList of reasons for incompatibility. If empty, this Edge is compatible.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Networks.Nsx.Edges.Compatibility.Summary schema contains information about an Edge, including whether it is compatible with the vCenter Namespaces feature and incompatibility reasons.\n\nThis schema was added in __vSphere API 8.0.0.1__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility.Summary": { + "required": [ + "compatible", + "incompatibility_reasons", + "name", + "nsx_path", + "project" + ], + "type": "object", + "properties": { + "project": { + "type": "string", + "description": "Identifier of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXProject`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXProject`." + }, + "name": { + "type": "string", + "description": "User-friendly identifier of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compatible": { + "type": "boolean", + "description": "Compatibility of this Project with Supervisor enablement.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "List of reasons for incompatibility. If *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility.Summary.compatible* is true, this list will be empty.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Compatibility.Summary schema contains information about a Project, including whether it is compatible with the Supervisor enablement feature and incompatibility reasons.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.Info": { + "required": [ + "default_profile", + "name", + "nsx_path", + "profile" + ], + "type": "object", + "properties": { + "profile": { + "type": "string", + "description": "Identifier of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VpcConnectivityProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VpcConnectivityProfile`." + }, + "name": { + "type": "string", + "description": "Name of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no description is added to the VPC Connectivity Profile." + }, + "default_profile": { + "type": "boolean", + "description": "`true` if this profile is the default VPC connectivity profile in the NSX project that profiles belongs to, `false` otherwise.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "external_ip_blocks": { + "type": "array", + "description": "List of NSX External IP blocks currently configured with the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no external IP blocks are defined in the VPC Connectivity Profile.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.IPBlockInfo" + } + }, + "privatetgw_ip_blocks": { + "type": "array", + "description": "List of NSX Private (Transit Gateway) IP blocks currently configured with the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no Private (Transit Gateway) IP blocks are defined in the VPC Connectivity Profile.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.IPBlockInfo" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.Info schema contains information about a VPC Connectivity Profile.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.FilterSpec": { + "type": "object", + "properties": { + "compatible": { + "type": "boolean", + "description": "Compatibility criteria for matching the filter. If true, only VPC Connectivity Profiles which are compatible with Supervisor enablement match the filter. If false, only VPC Connectivity Profiles which are incompatible with Supervisor enablement match the filter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, both compatible and incompatible VPC Connectivity Profiles match the filter." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.FilterSpec schema contains properties used to filter the results when listing VPC Connectivity Profiles.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.ListResult": { + "required": [ + "profiles" + ], + "type": "object", + "properties": { + "profiles": { + "type": "array", + "description": "List of all VPC Connectivity Profiles.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.Info" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.VpcConnectivityProfiles.ListResult schema represents the result of the *GET /vcenter/namespace-management/networks/nsx/projects/{project}/vpc-connectivity-profiles* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Info": { + "required": [ + "name", + "nsx_path", + "private_ips", + "vpc", + "vpc_connectivity_profile" + ], + "type": "object", + "properties": { + "vpc": { + "type": "string", + "description": "Identifier of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`." + }, + "name": { + "type": "string", + "description": "Human-readable identifier of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vpc_connectivity_profile": { + "type": "string", + "description": "VPC Connectivity Profile of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VpcConnectivityProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VpcConnectivityProfile`." + }, + "private_ips": { + "type": "array", + "description": "Private IPs of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Info schema contains the basic information about a VPC.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.FilterSpec": { + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "Identifier for the Supervisor. It must be set if *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.FilterSpec.compatible* is set.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.FilterSpec.compatible* also needs missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "compatible": { + "type": "boolean", + "description": "Compatibility criteria. If true, only VPCs which are compatible with the given Supervisor will be returned. If false, only VPCs incompatible with the given Supervisor will be returned.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, both compatible and incompatible VPCs will be returned." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.FilterSpec schema contains properties used to filter the results when listing VPCs (see *GET /vcenter/namespace-management/networks/nsx/projects/{project}/vpcs*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.ListResult": { + "required": [ + "vpcs" + ], + "type": "object", + "properties": { + "vpcs": { + "type": "array", + "description": "List of all VPCs.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Info" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.ListResult schema represents the result of the *GET /vcenter/namespace-management/networks/nsx/projects/{project}/vpcs* operation. With *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.FilterSpec.compatible* set to true, will only return compatible VPCs that have been pre-created on NSX, filtering out pre-created VPCs from Supervisor or VCF Automation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility.Summary": { + "required": [ + "compatible", + "incompatibility_reasons", + "name", + "nsx_path", + "profile" + ], + "type": "object", + "properties": { + "profile": { + "type": "string", + "description": "Identifier of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VpcConnectivityProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VpcConnectivityProfile`." + }, + "name": { + "type": "string", + "description": "User-friendly identifier of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compatible": { + "type": "boolean", + "description": "Compatibility of this VPC Connectivity Profile with Supervisor enablement.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "List of reasons for incompatibility. If *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility.Summary.compatible* is true, this list will be empty.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility.Summary schema contains information about a VPC Connectivity Profile, including whether it is compatible with the Supervisor enablement feature and incompatibility reasons.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility.FilterSpec": { + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier of the cluster backing a Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Transit Gateway in the VPC Connectivity Profile does not need to span the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcconnectivityprofiles.Compatibility.FilterSpec schema contains properties used to validate the Span of Transit Gateway when checking VPC Connectivity Profile compatibility (see *POST /vcenter/namespace-management/networks/nsx/projects/{project}/vpc-connectivity-profiles/{profile}?action=check-compatibility*). Either #zones or #cluster should be set, but not both.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility.Summary": { + "required": [ + "compatible", + "incompatibility_reasons", + "name", + "nsx_path", + "vpc" + ], + "type": "object", + "properties": { + "vpc": { + "type": "string", + "description": "Identifier of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`." + }, + "name": { + "type": "string", + "description": "User-friendly identifier of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "compatible": { + "type": "boolean", + "description": "Compatibility of this VPC with the given Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "List of reasons for incompatibility. If *Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility.Summary.compatible* is true, this list will be empty.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility.Summary schema contains information about a Project, including whether it is compatible with the vCenter Namespaces feature and incompatibility reasons.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility.FilterSpec": { + "required": [ + "supervisor" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "Identifier for the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + } + }, + "description": "The Vcenter.NamespaceManagement.Networks.Nsx.Projects.Vpcs.Compatibility.FilterSpec schema contains properties used to filter the results when checking VPCs compatibility (see *POST /vcenter/namespace-management/networks/nsx/projects/{project}/vpcs/{vpc}?action=check-compatibility*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Networks.Service.DNS": { + "required": [ + "search_domains", + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Networks.Service.DNS.servers* is a list of IP addresses that clients may use for DNS resolution on a given network in priority order. \n\nIf empty, no DNS servers will be configured.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "type": "string" + } + }, + "search_domains": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Networks.Service.DNS.search_domains* is a list of DNS search domains to be used on this network. \n\nThis field is useful for corporate networks or local domains that are not publicly resolvable. \n\nIf empty, no search domains will be configured.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Service.DNS describes DNS servers and search domains for a given network.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Networks.Service.NTP": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Networks.Service.NTP.servers* contains a list of servers in priority order that clients can use for network time protocol.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, no NTP servers will be configured.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.NamespaceManagement.Networks.Service.NTP schema describes network time protocol configuration for a network.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Software.Clusters.State": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.State enumerated type describes the state of the upgrade.\n\nPossible values:\n - `PENDING`: Upgrade is in progress.\n - `READY`: Cluster is ready when there is no upgrade or upgrade is completed.\n - `ERROR`: Upgrade failed and need user intervention.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "PENDING", + "READY", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Software.Clusters.Result": { + "required": [ + "res" + ], + "type": "object", + "properties": { + "res": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nThe result of batch upgrade method.\n\nPossible values:\n - `STARTED`: Upgrade is started.\n - `REJECTED`: Upgrade is rejected. This implies pre-check failed when invoking upgrade of the cluster.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Clusters.Result.Res*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "exception": { + "type": "object", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nException when cluster pre-check failed during upgrade invocation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of res is *Vcenter.NamespaceManagement.Software.Clusters.Result.Res.REJECTED*." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.Result schema contains the result of batch upgrade method.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Software.Clusters.Result.Res": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.Result.Res enumerated type represents the upgrade invocation result for each cluster.\n\nPossible values:\n - `STARTED`: Upgrade is started.\n - `REJECTED`: Upgrade is rejected. This implies pre-check failed when invoking upgrade of the cluster.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "STARTED", + "REJECTED" + ] + }, + "Vcenter.NamespaceManagement.Software.Clusters.UpgradeSpec": { + "required": [ + "desired_version" + ], + "type": "object", + "properties": { + "desired_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nVersion number the cluster is going to be upgraded to.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ignore_precheck_warnings": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIf true, the upgrade workflow will ignore any pre-check warnings and proceed with the upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the upgrade workflow will not ignore pre-check warnings and fail the upgrade. It is equivalent to setting the value to false. The workflow adopts a conservative approach of failing the upgrade if missing or `null` to solely let the user decide whether to force the upgrade despite the warnings." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.UpgradeSpec schema contains the specification required to upgrade a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Software.Clusters.Summary": { + "required": [ + "available_versions", + "cluster", + "cluster_name", + "current_version", + "state" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier for the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "cluster_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nName of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource.name`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource.name`." + }, + "current_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent version of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "available_versions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nSet of versions available for upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "last_upgraded_date": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDate of last successful upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the cluster has not yet been upgraded.", + "format": "date-time" + }, + "desired_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDesired version the cluster will be upgraded to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the cluster upgrade is not in progress." + }, + "state": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent state of the upgrade.\n\nPossible values:\n - `PENDING`: Upgrade is in progress.\n - `READY`: Cluster is ready when there is no upgrade or upgrade is completed.\n - `ERROR`: Upgrade failed and need user intervention.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Clusters.State*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.Summary schema contains basic information about the cluster upgrade related information.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Software.Clusters.Info": { + "required": [ + "available_versions", + "current_version", + "messages", + "state" + ], + "type": "object", + "properties": { + "current_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent version of the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "available_versions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nSet of available versions can be upgraded to.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "last_upgraded_date": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDate of last successful upgrade.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the cluster has not yet been upgraded.", + "format": "date-time" + }, + "messages": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent set of messages associated with the cluster version.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.Message" + } + }, + "state": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent state of the upgrade.\n\nPossible values:\n - `PENDING`: Upgrade is in progress.\n - `READY`: Cluster is ready when there is no upgrade or upgrade is completed.\n - `ERROR`: Upgrade failed and need user intervention.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Clusters.State*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "upgrade_status": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nInformation about upgrade in progress.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the cluster upgrade is not in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.UpgradeStatus" + } + ] + }, + "upgrade_prechecks": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDetailed information about Supervisor upgrade pre-checks.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, the cluster pre-checks did not run or supervisor upgrade is not available.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Condition" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.Info schema contains detailed information about the cluster upgrade status and related information.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Software.Clusters.UpgradeStatus": { + "required": [ + "messages" + ], + "type": "object", + "properties": { + "desired_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDesired version the cluster will be upgraded to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the cluster upgrade is not in progress." + }, + "messages": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent set of messages associated with the upgrade state.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.Message" + } + }, + "progress": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nInformation about upgrade progress.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the cluster upgrade is not in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Clusters.UpgradeProgress" + } + ] + }, + "components": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nInformation about control plane components' upgrade status.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, the cluster upgrade is not in progress.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Condition" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.UpgradeStatus schema contains detailed information about the cluster when upgraded is in progress.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Software.Clusters.UpgradeProgress": { + "required": [ + "completed", + "message", + "total" + ], + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nTotal amount of the work for the operation. The work here represents the number of master nodes in the cluster need to be upgraded.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "completed": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nThe amount of work completed for the operation. The value can only be incremented. The number or master nodes which upgrade completed.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "message": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nMessage about the work progress.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.UpgradeProgress schema contains detailed information about the cluster upgrade progress.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Software.Clusters.Message": { + "required": [ + "details", + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nType of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Clusters.Message.Severity*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDetails about the message.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.Message schema contains the information about the object configuration.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Software.Clusters.Message.Severity": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.NamespaceManagement.Software.Clusters.Message.Severity enumerated type represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckSpec": { + "required": [ + "target_version" + ], + "type": "object", + "properties": { + "target_version": { + "type": "string", + "description": "The target version indicates the Supervisor upgrade version against which the Supervisor upgrade pre-checks should run, the value for this field should be provided from the list of *Vcenter.NamespaceManagement.Software.Clusters.Info.available_versions*.\n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckSpec schema contains the specification required to run Supervisor upgrade pre-checks.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.Info": { + "type": "object", + "properties": { + "precheck_results": { + "type": "array", + "description": "Information about Supervisor upgrade pre-check results.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, the Supervisor upgrade pre-checks did not run or upgrade is not available.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckResult" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.Info schema contains detailed information about the Supervisor upgrade pre-check results for multiple Supervisor upgrade version(s).\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.FilterSpec": { + "type": "object", + "properties": { + "target_version": { + "type": "string", + "description": "Supervisor upgrade version for which pre-check results should be queried.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf set, return the pre-check results only for the specified target version. If missing or `null`, return the pre-check results for all the Supervisor upgrade versions against which pre-checks have already been executed." + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.FilterSpec schema contains request filter(s) for fetching the Supervisor upgrade pre-checks.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckResult": { + "required": [ + "conditions", + "target_version" + ], + "type": "object", + "properties": { + "target_version": { + "type": "string", + "description": "Represents Supervisor upgrade version for which *Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckResult.conditions* belong to.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "status": { + "type": "string", + "description": "Represents the consolidated status of Supervisor upgrade pre-checks.\n\nPossible values:\n - `SUCCEEDED`: All conditions executed successfully.\n - `RUNNING`: One or more conditions part of this condition group are in the running state and none of the other conditions are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.ERROR* or *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.WARNING* state.\n - `WARNING`: One or more conditions part of this condition group are in warning state and none of the other conditions are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.ERROR* state.\n - `ERROR`: One or more conditions are in the error state.\n - `UNKNOWN`: Indicates the status of one or more conditions part of this condition group can not be determined. Condition group status will be set to {#member UNKNOWN}, if all conditions are in unknown state or there is at least one condition in unknown state and all others are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.SUCCEEDED* state.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "conditions": { + "type": "array", + "description": "Supervisor upgrade pre-check results for *Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckResult.target_version*\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Condition" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Prechecks.PrecheckResult schema contains the detailed information about Supervisor upgrade pre-checks against individual upgrade version.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.State": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.State enumerated type describes the state of the upgrade.\n\nPossible values:\n - `INPROGRESS`: Upgrade is in progress.\n - `READY`: The Supervisor is ready for an upgrade. This state indicates that either: \n - No upgrade has been initiated yet, or\n - The most recent upgrade has completed successfully.\n This is the default state when the Supervisor is idle or post-upgrade.\n - `ERROR`: Upgrade has failed and needs user intervention.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "INPROGRESS", + "READY", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Summary": { + "required": [ + "available_versions", + "current_version", + "state", + "supervisor" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "The immutable identifier of the Supervisor generated during enablement.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "current_version": { + "type": "string", + "description": "Current version of the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + }, + "available_versions": { + "type": "array", + "description": "Set of versions available for upgrade.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `SupervisorVersion`.", + "items": { + "type": "string" + } + }, + "last_upgraded_date": { + "type": "string", + "description": "Date of the last successful upgrade.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Supervisor has not yet been upgraded.", + "format": "date-time" + }, + "desired_version": { + "type": "string", + "description": "Desired version the Supervisor will be upgraded to.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Supervisor upgrade is not in progress.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + }, + "state": { + "type": "string", + "description": "Current state of the upgrade.\n\nPossible values:\n - `INPROGRESS`: Upgrade is in progress.\n - `READY`: The Supervisor is ready for an upgrade. This state indicates that either: \n - No upgrade has been initiated yet, or\n - The most recent upgrade has completed successfully.\n This is the default state when the Supervisor is idle or post-upgrade.\n - `ERROR`: Upgrade has failed and needs user intervention.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.State*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Summary schema contains basic information about the Supervisor upgrade related information.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.ListResult": { + "required": [ + "supervisors" + ], + "type": "object", + "properties": { + "supervisors": { + "type": "array", + "description": "List of upgrade summaries for each Supervisor. Each summary includes information such as current version, desired version, available upgrade versions and upgrade state.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.ListResult schema represents the result of *GET /vcenter/namespace-management/software/supervisors/upgrades* operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Info": { + "required": [ + "available_versions", + "current_version", + "messages", + "state" + ], + "type": "object", + "properties": { + "current_version": { + "type": "string", + "description": "Current version of the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + }, + "available_versions": { + "type": "array", + "description": "Set of versions that the Supervisor can be upgraded to.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `SupervisorVersion`.", + "items": { + "type": "string" + } + }, + "last_upgraded_date": { + "type": "string", + "description": "Date of the last successful upgrade.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Supervisor has not yet been upgraded.", + "format": "date-time" + }, + "messages": { + "type": "array", + "description": "Messages related to the upgrade process for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Message" + } + }, + "state": { + "type": "string", + "description": "Current state of the upgrade.\n\nPossible values:\n - `INPROGRESS`: Upgrade is in progress.\n - `READY`: The Supervisor is ready for an upgrade. This state indicates that either: \n - No upgrade has been initiated yet, or\n - The most recent upgrade has completed successfully.\n This is the default state when the Supervisor is idle or post-upgrade.\n - `ERROR`: Upgrade has failed and needs user intervention.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.State*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "upgrade_status": { + "description": "Information about the upgrade in progress.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Supervisor upgrade is not in progress.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Status" + } + ] + }, + "upgrade_prechecks": { + "type": "array", + "description": "Detailed information about Supervisor upgrade pre-checks.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Supervisor pre-checks did not run or Supervisor upgrade is not available.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Condition" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Info schema contains detailed information about the Supervisor upgrade status and related information.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Status": { + "required": [ + "desired_version", + "messages", + "progress" + ], + "type": "object", + "properties": { + "desired_version": { + "type": "string", + "description": "Desired version the Supervisor will be upgraded to.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + }, + "messages": { + "type": "array", + "description": "Current set of messages associated with the upgrade state.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Message" + } + }, + "progress": { + "description": "Information about upgrade progress.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Progress" + } + ] + }, + "components": { + "type": "array", + "description": "Information about control plane components' upgrade status.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Supervisor pre-checks did not run.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Clusters.Condition" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Status schema contains detailed information about the Supervisor when upgraded is in progress.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Progress": { + "required": [ + "completed", + "message", + "total" + ], + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total amount of the work for the operation. The work here represents the number of master nodes in the Supervisor need to be upgraded.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "completed": { + "type": "integer", + "description": "Current progress of the upgrade operation, represented as a percentage of completion.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "message": { + "description": "Message about the work progress.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Progress schema contains detailed information about the Supervisor upgrade progress.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Message": { + "required": [ + "details", + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Message.Severity*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "details": { + "description": "Details about the message.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Message schema contains the information about the object configuration.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Message.Severity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Message.Severity enumerated type represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.FilterSpec": { + "type": "object", + "properties": { + "supervisors": { + "type": "array", + "description": "Identifiers of Supervisors to filter the upgrade summaries.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, filtering on a particular Supervisor will not occur.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.FilterSpec schema specifies filtering criteria for listing Supervisor upgrade summaries.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.Compatibility": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.Compatibility enumerated type represents the compatibility of a Supervisor image with the current infrastructure.\n\nPossible values:\n - `COMPATIBLE`: The Supervisor image is compatible with the current infrastructure (vCenter Server, ESX and NSX versions).\n - `COMPATIBLE_AND_DEGRADED`: The Supervisor image is compatible with the current infrastructure and will continue to work after the Supervisor upgrade. However, few new features released as part of Supervisor release may not be available until the vCenter is upgraded.\n - `INCOMPATIBLE`: The Supervisor image is incompatible with the current infrastructure.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "COMPATIBLE", + "COMPATIBLE_AND_DEGRADED", + "INCOMPATIBLE" + ] + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.Status": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.Status enumerated type represents the supportability status of the Supervisor capability with the current infrastructure.\n\nPossible values:\n - `SUPPORTED`: The Supervisor capability is supported with the current infrastructure (vCenter Server and NSX versions).\n - `SUPPORTED_AND_DEGRADED`: The Supervisor capability is supported in the given Supervisor version but it is unavailable with the current infrastructure (vCenter Server and NSX versions). However, to make this capability available, the infrastructure upgrade is required.\n - `UNSUPPORTED`: The Supervisor capability is not supported with the current infrastructure (vCenter Server and NSX versions).\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SUPPORTED", + "SUPPORTED_AND_DEGRADED", + "UNSUPPORTED" + ] + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.NetworkProvider": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.NetworkProvider enumerated type represents the networking mode of the Supervisor.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: Provider for NSX Networking.\n - `VSPHERE_NETWORK`: Provider for vSphere Networking.\n - `NSX_VPC`: Provider for NSX VPC Networking.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NSXT_CONTAINER_PLUGIN", + "VSPHERE_NETWORK", + "NSX_VPC" + ] + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.Capability": { + "required": [ + "name", + "status" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the vSphere Namespaces feature.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "status": { + "type": "string", + "description": "Supportability status of this capability with the current infrastructure (vCenter and NSX versions).\n\nPossible values:\n - `SUPPORTED`: The Supervisor capability is supported with the current infrastructure (vCenter Server and NSX versions).\n - `SUPPORTED_AND_DEGRADED`: The Supervisor capability is supported in the given Supervisor version but it is unavailable with the current infrastructure (vCenter Server and NSX versions). However, to make this capability available, the infrastructure upgrade is required.\n - `UNSUPPORTED`: The Supervisor capability is not supported with the current infrastructure (vCenter Server and NSX versions).\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Supervisors.Versions.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.Capability schema contains the details about the new vSphere Namespaces feature and its compatibility with the current infrastructure.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.Info": { + "required": [ + "description", + "image_source_specs", + "name", + "release_date", + "release_notes", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Identifier for the Supervisor version.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + }, + "name": { + "type": "string", + "description": "Name of the Supervisor release.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the Supervisor release.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "release_date": { + "type": "string", + "description": "Date of Supervisor release.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "release_notes": { + "type": "string", + "description": "Details of Supervisor release.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "image_source_specs": { + "type": "array", + "description": "Details about the source of Supervisor image.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ImageSourceSpec" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.Info schema contains the detailed information about a Supervisor version.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.Summary": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Identifier for the Supervisor versions.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.Summary schema contains basic information about a Supervisor version.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ListResult": { + "required": [ + "supervisor_versions" + ], + "type": "object", + "properties": { + "supervisor_versions": { + "type": "array", + "description": "List of all Supervisor versions.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.ListResult schema represents the result of the *GET /vcenter/namespace-management/software/supervisors/versions* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.FilterSpec": { + "type": "object", + "properties": { + "cluster_compute_resource": { + "type": "string", + "description": "The vSphere cluster for which the compatibility of Supervisor version is being checked.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, zone based lookup is performed.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "network_provider": { + "type": "string", + "description": "The cluster networking mode for the Supervisor.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: Provider for NSX Networking.\n - `VSPHERE_NETWORK`: Provider for vSphere Networking.\n - `NSX_VPC`: Provider for NSX VPC Networking.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Supervisors.Versions.NetworkProvider*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf not provided, network provider will not be considered in the compatibility check." + } + }, + "description": "A FilterSpec allows listing the compatible versions of a Supervisor for enablement given the set of constraints.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec": { + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "The cluster ID for which the compatibility of Supervisor version is being checked.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the field *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec.zones* or *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec.supervisor* should be specified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "supervisor": { + "type": "string", + "description": "The Supervisor ID for which the compatibility of Supervisor version is being checked.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the field *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec.cluster* or *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec.zones* should be specified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.CheckCompatibilitySpec schema includes properties used to assess the compatibility of Supervisor version with a particular Cluster, Supervisor or list of Zones.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.CompatibilityInfo": { + "required": [ + "compatibility", + "description", + "image_source_specs", + "name", + "release_date", + "release_notes", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Identifier for the Supervisor version.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + }, + "name": { + "type": "string", + "description": "Name of the Supervisor release.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the Supervisor release.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "release_date": { + "type": "string", + "description": "Date of Supervisor release.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "date-time" + }, + "release_notes": { + "type": "string", + "description": "Details of Supervisor release.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "image_source_specs": { + "type": "array", + "description": "Details about the source of Supervisor image.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ImageSourceSpec" + } + }, + "compatibility": { + "type": "string", + "description": "Indicates the compatibility of Supervisor *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CompatibilityInfo.version* with the current infrastructure(vCenter, ESX and NSX).\n\nPossible values:\n - `COMPATIBLE`: The Supervisor image is compatible with the current infrastructure (vCenter Server, ESX and NSX versions).\n - `COMPATIBLE_AND_DEGRADED`: The Supervisor image is compatible with the current infrastructure and will continue to work after the Supervisor upgrade. However, few new features released as part of Supervisor release may not be available until the vCenter is upgraded.\n - `INCOMPATIBLE`: The Supervisor image is incompatible with the current infrastructure.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Software.Supervisors.Versions.Compatibility*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "incompatibility_reasons": { + "type": "array", + "description": "If the compatibility status of Supervisor *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CompatibilityInfo.version* is *Vcenter.NamespaceManagement.Software.Supervisors.Versions.Compatibility.INCOMPATIBLE*, the field *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CompatibilityInfo.incompatibility_reasons* represents the list of reasons for incompatibility.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the Supervisor image is compatible with current infrastructure.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "capabilities": { + "type": "array", + "description": "Represents the list of capabilities offered with the Supervisor *Vcenter.NamespaceManagement.Software.Supervisors.Versions.CompatibilityInfo.version*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the Supervisor image is incompatible with current infrastructure. Hence, we don't compute capabilities.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.Capability" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.CompatibilityInfo schema the outcome of the *POST /vcenter/namespace-management/software/supervisors/versions/{version}?action=check-compatibility* operation and provides detailed information about the compatibility and capabilities of the Supervisor version.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs.CreateSpec": { + "required": [ + "desired_version" + ], + "type": "object", + "properties": { + "desired_version": { + "type": "string", + "description": "The target version to which the selected Supervisor will be upgraded.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + }, + "ignore_precheck_warnings": { + "type": "boolean", + "description": "If true, the upgrade workflow will ignore any pre-check warnings and proceed with the upgrade.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the upgrade workflow will not ignore pre-check warnings and fail the upgrade. It is equivalent to setting the value to false. The workflow adopts a conservative approach of failing the upgrade if missing or `null` to solely let the user decide whether to force the upgrade despite the warnings. For example, if a precheck returns a warning because a TKC is not compatible with the target version, and the you still wants to continue with the upgrade, this flag should be set to true." + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Upgrades.Jobs.CreateSpec schema contains the specification required to upgrade a Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Ipv4Cidr": { + "required": [ + "address", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IPv4 address.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Ipv4Cidr schema contains the specification for representing CIDR notation of IP range. For example, this can be used to represent 256 IP addresses using 10.10.10.0/24.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.NsxT1Defaults": { + "required": [ + "default_pod_cidr", + "default_service_cidr" + ], + "type": "object", + "properties": { + "default_pod_cidr": { + "description": "Default CIDR range from which Kubernetes allocates workload IP addresses.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Ipv4Cidr" + } + ] + }, + "default_service_cidr": { + "description": "Default CIDR range from which Kubernetes allocates service cluster IP addresses.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Ipv4Cidr" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.NsxT1Defaults schema contains default configuration options when using the com.vmware.vcenter.namespace_management.supervisors.networks.NetworkProvider#NSXT_CONTAINER_PLUGIN network provider.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.NsxVpcDefaults": { + "required": [ + "default_private_cidr", + "default_service_cidr" + ], + "type": "object", + "properties": { + "default_private_cidr": { + "description": "Default CIDR blocks from which private subnets and private pod IPs are allocated.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Ipv4Cidr" + } + ] + }, + "default_service_cidr": { + "description": "Default CIDR range from which Kubernetes allocates service cluster IP addresses.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Ipv4Cidr" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.NsxVpcDefaults schema contains default configuration options when using the com.vmware.vcenter.namespace_management.supervisors.networks.Providers#NSX_VPC network provider.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.VsphereNetworkingDefaults": { + "required": [ + "default_service_cidr" + ], + "type": "object", + "properties": { + "default_service_cidr": { + "description": "Default CIDR range from which Kubernetes allocates service cluster IP addresses.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Ipv4Cidr" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.VsphereNetworkingDefaults schema contains default configuration options when using the com.vmware.vcenter.namespace_management.supervisors.networks.Providers#VSPHERE_NETWORK network provider.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Summary": { + "required": [ + "default_service_cidr", + "disk_capacity_in_mib", + "identifier", + "label", + "memory_in_mib", + "nsx_t1_defaults", + "nsx_vpc_defaults", + "v_cpu_count", + "vsphere_networking_defaults" + ], + "type": "object", + "properties": { + "label": { + "description": "Localized sizing hint label of the control plane VM.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "identifier": { + "type": "string", + "description": "Sizing hint identifier.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`." + }, + "memory_in_mib": { + "type": "integer", + "description": "Amount of memory in mebibytes (MiB) on the control plane VM.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "v_cpu_count": { + "type": "integer", + "description": "Number of vCPUs on the control plane VM.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "disk_capacity_in_mib": { + "type": "integer", + "description": "Disk capacity in mebibytes (MiB) of the control plane VM.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "default_service_cidr": { + "description": "Default CIDR range from which Kubernetes allocates service cluster IP addresses.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Ipv4Cidr" + } + ] + }, + "nsx_t1_defaults": { + "description": "Defaults when using the com.vmware.vcenter.namespace_management.supervisors.networks.NetworkProvider#NSXT_CONTAINER_PLUGIN provider.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.NsxT1Defaults" + } + ] + }, + "nsx_vpc_defaults": { + "description": "Defaults when using the com.vmware.vcenter.namespace_management.supervisors.networks.NetworkProvider#NSX_VPC provider.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.NsxVpcDefaults" + } + ] + }, + "vsphere_networking_defaults": { + "description": "Defaults when using the com.vmware.vcenter.namespace_management.supervisors.networks.NetworkProvider#VSPHERE_NETWORK provider.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.VsphereNetworkingDefaults" + } + ] + } + }, + "description": "The SizeInfo schema contains information about a particular sizing option available for a control plane VM.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.ListResult": { + "required": [ + "default_size_identifier", + "sizes" + ], + "type": "object", + "properties": { + "sizes": { + "type": "array", + "description": "Information for each size.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.Summary" + } + }, + "default_size_identifier": { + "type": "string", + "description": "The default size that will be used for enablement if none is provided.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`." + } + }, + "description": "The Vcenter.NamespaceManagement.Software.Supervisors.Versions.ControlPlane.Sizes.ListResult schema contains information about all possible sizes for the control plane VM for a specific Supervisor version.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Stats.TimeSeries.TimeSeries": { + "required": [ + "counter", + "time_stamps", + "values" + ], + "type": "object", + "properties": { + "counter": { + "type": "string", + "description": "Counter identifier.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "time_stamps": { + "type": "array", + "description": "Sequence of UNIX timestamp values at which statistical values were sampled. https://en.wikipedia.org/wiki/Unix_time\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "integer", + "format": "int64" + } + }, + "values": { + "type": "array", + "description": "Sequence of sampled values corresponding to the timestamps in tss.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "integer", + "format": "int64" + } + } + }, + "description": "A set of timestamps and statistical values representing a time series. The lengths of *Vcenter.NamespaceManagement.Stats.TimeSeries.TimeSeries.time_stamps* and *Vcenter.NamespaceManagement.Stats.TimeSeries.TimeSeries.values* will always match each other.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Stats.TimeSeries.PodIdentifier": { + "required": [ + "namespace", + "pod_name" + ], + "type": "object", + "properties": { + "namespace": { + "type": "string", + "description": "The namespace that the pod is running in.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "pod_name": { + "type": "string", + "description": "The name of the pod itself.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "Pod identifier. These are the fields required to uniquely identify a pod.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Stats.TimeSeries.Spec": { + "required": [ + "end", + "obj_type", + "start" + ], + "type": "object", + "properties": { + "obj_type": { + "type": "string", + "description": "Type of statistics object that the request is operating on.\n\nPossible values:\n - `CLUSTER`: The CLUSTER object type is used when specifying a vSphere cluster.\n - `NAMESPACE`: The NAMESPACE object type is used to specify a namespace.\n - `POD`: The POD object type is used to specify an individual pod within a namespace.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.ObjType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "namespace": { + "type": "string", + "description": "Namespace name for queries for a namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of obj_type is *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.ObjType.NAMESPACE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "cluster": { + "type": "string", + "description": "Cluster identifier for queries for a cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of obj_type is *Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.ObjType.CLUSTER*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "start": { + "type": "integer", + "description": "UNIX timestamp value indicating when the requested series of statistical samples should begin. https://en.wikipedia.org/wiki/Unix_time\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "end": { + "type": "integer", + "description": "UNIX timestamp value indicating when the requested series of statistical samples should end. https://en.wikipedia.org/wiki/Unix_time\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + } + }, + "description": "This structure is sent in a request for TimeSeries data and is used to specify what object stats should be returned for.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.NamespaceManagement.Stats.TimeSeries.Spec.ObjType": { + "type": "string", + "description": "Type of statistics object that this request is operating on.\n\nPossible values:\n - `CLUSTER`: The CLUSTER object type is used when specifying a vSphere cluster.\n - `NAMESPACE`: The NAMESPACE object type is used to specify a namespace.\n - `POD`: The POD object type is used to specify an individual pod within a namespace.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "CLUSTER", + "NAMESPACE", + "POD" + ] + }, + "Vcenter.NamespaceManagement.Storage.Profiles.Summary": { + "required": [ + "compatible", + "incompatibility_reasons", + "items", + "profile", + "profile_name" + ], + "type": "object", + "properties": { + "profile": { + "type": "string", + "description": "Identifier of the compatible storage profile. A storage profile is compatible if it results in at least one datastore in each of the specified zones.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "profile_name": { + "type": "string", + "description": "Human-readable identifier of the storage profile.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "compatible": { + "type": "boolean", + "description": "Compatibility of this storage profile with the specified vSphere Zones.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "items": { + "type": "array", + "description": "The list of Vcenter.NamespaceManagement.Storage.Profiles.Item which correspond to the storage profile.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Storage.Profiles.Item" + } + }, + "incompatibility_reasons": { + "type": "array", + "description": "The reason for incompatibility. If empty, this profile is compatible with the given vSphere Zones specified in the *Vcenter.NamespaceManagement.Storage.Profiles.FilterSpec*.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Storage.Profiles.Summary schema contains the information about compatible storage profiles and represents the result of *POST /vcenter/namespace-management/storage/profiles?action=check_compatibility* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Storage.Profiles.Item": { + "required": [ + "datastores", + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "The vSphere Zones the datastore are in.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "datastores": { + "type": "array", + "description": "The datastores in the zone.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Storage.Profiles.Item schema contains the datastores and vSphere Zone which they are in.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Storage.Profiles.FilterSpec": { + "required": [ + "zones" + ], + "type": "object", + "properties": { + "zones": { + "type": "array", + "description": "Zone compatibility criteria. The common storage profiles across the given zones will be returned. A storage profile is considered compatible if it results in at least one datastore in each of the given zones.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Storage.Profiles.FilterSpec schema contains zones used to find compatible storage profiles. A storage profile is compatible if it results in at least one datastore in each of the specified zones. (see *POST /vcenter/namespace-management/storage/profiles?action=check_compatibility*).\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.ConfigStatus": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.ConfigStatus enumerated type describes the status of reaching the desired state configuration for the Supervisor Service.\n\nPossible values:\n - `CONFIGURING`: The Supervisor Service is being installed.\n - `REMOVING`: The Supervisor Service is being deleted.\n - `CONFIGURED`: The Supervisor Service has been configured correctly (i.e. the provided YAML content has been applied successfully to the cluster)\n - `ERROR`: Failed to install the Supervisor Service, user intervention needed.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "CONFIGURING", + "REMOVING", + "CONFIGURED", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.CreateSpec": { + "required": [ + "supervisor_service", + "version" + ], + "type": "object", + "properties": { + "supervisor_service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nIdentifier of the Supervisor Service. This Supervisor Service must be in the ACTIVATED state.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nIdentifier of the Supervisor Service version which contains the service definition. This Supervisor Service version must be in the ACTIVATED state.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "service_config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nA generic key-value map for additional configuration parameters required during service creation. As an example, a third party operator might reference a private registry using parameters such as \"registryName\" for the registry name, \"registryUsername\" and \"registryPassword\" for the registry credentials.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no additional configuration parameters will be applied when installing a Supervisor Service in the vSphere Supervisor." + }, + "yaml_service_config": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nA set of additional configuration parameters to be applied during service creation. These parameters should be formatted as a base64 encoded YAML document. \n\n Parameters should be set in at most one of service_config or yaml_service_config, and not both. The yaml_service_config supports complex data types and nested properties.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional configuration parameters will be applied when installing a Supervisor Service in the vSphere Supervisor." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.CreateSpec schema provides a specification required to create a Supervisor Service on a vSphere Supervisor.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.SetSpec": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nIdentifier of the Supervisor Service version which contains the service definition. This Supervisor Service version must be in the ACTIVATED state.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "service_config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nA generic key-value map for additional configuration parameters required during service upgrade. As an example, a third party operator might reference a private registry using parameters such as \"registryName\" for the registry name, \"registryUsername\" and \"registryPassword\" for the registry credentials.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no additional configuration parameters will be applied when upgrading a Supervisor Service in the vSphere Supervisor." + }, + "yaml_service_config": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nA set of additional configuration parameters to be applied during service upgrade. These parameters should be formatted as a base64 encoded YAML document. \n\n Parameters should be set in at most one of service_config or yaml_service_config, and not both. The yaml_service_config supports complex data types and nested properties.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional configuration parameters will be applied when upgrading a Supervisor Service in the vSphere Supervisor." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.SetSpec schema provides a specification required to set a new configuration on a Supervisor Service in a vSphere Supervisor. This schema is applied in entirety, replacing the current specification fully.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Message": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nType of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Message.MessageSeverity*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "details": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nDetails about the message.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, message details are not required for taking actions.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Message schema contains the information about the Supervisor Service configuration on a vSphere Supervisor.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Message.MessageSeverity": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Message.MessageSeverity enumerated type represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Info": { + "required": [ + "config_status", + "desired_version", + "display_name", + "messages" + ], + "type": "object", + "properties": { + "desired_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe desired version of this Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "service_namespace": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nIdentifier of the namespace to allocate the Supervisor Service's operators.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, there is an error when creating the service namespace or the namespace has not been created yet.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "config_status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCurrent setting for Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The Supervisor Service is being installed.\n - `REMOVING`: The Supervisor Service is being deleted.\n - `CONFIGURED`: The Supervisor Service has been configured correctly (i.e. the provided YAML content has been applied successfully to the cluster)\n - `ERROR`: Failed to install the Supervisor Service, user intervention needed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "messages": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCurrent set of messages associated with the Supervisor Service on the vSphere Supervisor.\n\nThis property was added in __vSphere API 7.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Message" + } + }, + "current_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe current version for the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, there is no version installed for the Supervisor Service." + }, + "display_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nA human readable name of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nA human readable description of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the description for the service version is empty." + }, + "prefix": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe prefix that will be added to the names of the Supervisor Service's kubernetes resources.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the prefix is not assigned yet." + }, + "yaml_service_config": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe configuration parameters applied on this Supervisor Service, formatted as a base64 encoded YAML document. Any configuration that has been set will be returned as base64 encoded YAML, including the service_config.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the Supervisor Service has no configuration applied." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Info schema contains the detailed information about a Supervisor Service on the vSphere Supervisor.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Summary": { + "required": [ + "config_status", + "desired_version", + "supervisor_service" + ], + "type": "object", + "properties": { + "supervisor_service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe identifier of the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "desired_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe desired version of this Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "config_status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCurrent setting for Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The Supervisor Service is being installed.\n - `REMOVING`: The Supervisor Service is being deleted.\n - `CONFIGURED`: The Supervisor Service has been configured correctly (i.e. the provided YAML content has been applied successfully to the cluster)\n - `ERROR`: Failed to install the Supervisor Service, user intervention needed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "current_version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe current version for the Supervisor Service.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, there is no version installed for the Supervisor Service." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.SupervisorServices.ClusterSupervisorServices.Summary schema contains the basic information about a Supervisor Service on the vSphere Supervisor.\n\nThis schema was added in __vSphere API 7.0.3.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.SupervisorServices.Versions.State": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions.State enumerated type defines the state of a Supervisor Service version.\n\nPossible values:\n - `ACTIVATED`: The is the default state of a Supervisor Service version upon creation. In this state, all operations on the version should work as normal.\n - `DEACTIVATED`: The is the deactivated state of a Supervisor Service version. In this state, certain operations on the version are disallowed, for example, the version cannot be created on the vSphere Supervisor clusters.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "ACTIVATED", + "DEACTIVATED" + ] + }, + "Vcenter.NamespaceManagement.SupervisorServices.Versions.ContentType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions.ContentType enumerated type defines the type of content that describes the format of Supervisor Service version definition.\n\nPossible values:\n - `VSPHERE_APPS_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows the vSphere application service format.\n - `CARVEL_APPS_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows the Carvel application package format.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `CUSTOM_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows a plain Kubernetes YAML format.\n\n\nThis enumeration was added in __vSphere API 7.0.3.0__.", + "enum": [ + "VSPHERE_APPS_YAML", + "CARVEL_APPS_YAML", + "CUSTOM_YAML" + ] + }, + "Vcenter.NamespaceManagement.SupervisorServices.Versions.CreateSpec": { + "type": "object", + "properties": { + "custom_spec": { + "description": "The specification required to create a Supervisor Service version from inline content that is based on a plain Kubernetes YAML format. \n\n\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf set, the service version will be created from inline content based on a plain Kubernetes YAML format.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.CustomCreateSpec" + } + ] + }, + "vsphere_spec": { + "description": "The specification required to create a Supervisor Service version from inline content that is based on the vSphere application service format. \n\n\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf set, the service version will be created from inline content based on the vSphere application service format.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.VsphereCreateSpec" + } + ] + }, + "carvel_spec": { + "description": "The specification required to create a Supervisor Service version from inline content that is based on the Carvel application package format. \n\n\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf set, the service version will be created from inline content based on the Carvel application package format (Package and PackageMetadata resources should be declared).", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.SupervisorServices.Versions.CarvelCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions.CreateSpec schema provides a specification required to create a Supervisor Service version. \n\n Exactly one of *Vcenter.NamespaceManagement.SupervisorServices.Versions.CreateSpec.custom_spec* or *Vcenter.NamespaceManagement.SupervisorServices.Versions.CreateSpec.vsphere_spec* must be set.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.Versions.CustomCreateSpec": { + "required": [ + "content", + "display_name", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "The identifier of the Supervisor Service version. This must be a semantic version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "display_name": { + "type": "string", + "description": "A human readable name of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "A human readable description of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the description for the service version will be empty." + }, + "content": { + "type": "string", + "description": "Inline content that contains all service definition of the version, which shall be base64 encoded. The service definition here follows a plain Kubernetes YAML format.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "trusted_provider": { + "type": "boolean", + "description": "Whether or not the Supervisor Service version is from a trusted provider, this field must be set to false if the service version is not from a trusted provider. If it is set to be true, but the content is not signed or the signature is invalid, an `InvalidArgument` will be thrown.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the default value is true. In this case, the content must be signed and will be verified." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions.CustomCreateSpec schema provides a specification required to create a Supervisor Service version from a plain Kubernetes YAML format.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.Versions.VsphereCreateSpec": { + "required": [ + "content" + ], + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "Inline content that contains all service definition of the version in vSphere application service format, which shall be base64 encoded.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "trusted_provider": { + "type": "boolean", + "description": "Whether or not the Supervisor Service version is from a trusted provider, this field must be set to false if the service version is not from a trusted provider. If it is set to be true, but the content is not signed or the signature is invalid, an `InvalidArgument` will be thrown.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the default value is true. In this case, the content must be signed and will be verified." + }, + "accept_eula": { + "type": "boolean", + "description": "Whether or not the End User License Agreement (EULA) that is specified in the content is accepted. If a EULA is specified, this property must be set to be true so that the Supervisor Service version can be created.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, the default value is false." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions.VsphereCreateSpec schema provides a specification required to create a Supervisor Service version from vSphere application service format, which shall contain the Supervisor Service identifier, version identifier, display name and description information.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.Versions.CarvelCreateSpec": { + "required": [ + "content" + ], + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "Inline content that contains all service definition of the version in Carvel application package format, which shall be base64 encoded.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions.CarvelCreateSpec schema provides a specification required to create a Supervisor Service version from Carvel application package format (Package and PackageMetadata resources should be declared).\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.Versions.Summary": { + "required": [ + "display_name", + "state", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "The identifier of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "display_name": { + "type": "string", + "description": "A human readable name of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "state": { + "type": "string", + "description": "The current Vcenter.NamespaceManagement.SupervisorServices.Versions.State of the Supervisor Service version.\n\nPossible values:\n - `ACTIVATED`: The is the default state of a Supervisor Service version upon creation. In this state, all operations on the version should work as normal.\n - `DEACTIVATED`: The is the deactivated state of a Supervisor Service version. In this state, certain operations on the version are disallowed, for example, the version cannot be created on the vSphere Supervisor clusters.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.Versions.State*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "A human readable description of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no description is available for the service version." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions.Summary schema contains the basic information about a Supervisor Service version.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.SupervisorServices.Versions.Info": { + "required": [ + "content_type", + "display_name", + "state", + "trust_verified" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "The human readable name of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "description": { + "type": "string", + "description": "A human-readable description of the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no description is available for the Supervisor Service version." + }, + "eula": { + "type": "string", + "description": "The End User License Agreement (EULA) associated with the Supervisor Service version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no EULA is available for the Supervisor Service version." + }, + "content_type": { + "type": "string", + "description": "The content type of content.\n\nPossible values:\n - `VSPHERE_APPS_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows the vSphere application service format.\n - `CARVEL_APPS_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows the Carvel application package format.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `CUSTOM_YAML`: The Supervisor Service version definition is provided as inline YAML document that follows a plain Kubernetes YAML format.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.Versions.ContentType*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "content": { + "type": "string", + "description": "Inline content that contains base64 encoded service definition for the version.\n\nThis property was added in __vSphere API 7.0.3.0__.\n\nIf missing or `null`, no content is available for the Supervisor Service version." + }, + "trust_verified": { + "type": "boolean", + "description": "If true, the Supervisor Service version is from trusted provider and the trust is verified.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "state": { + "type": "string", + "description": "The current Vcenter.NamespaceManagement.SupervisorServices.Versions.State of the version.\n\nPossible values:\n - `ACTIVATED`: The is the default state of a Supervisor Service version upon creation. In this state, all operations on the version should work as normal.\n - `DEACTIVATED`: The is the deactivated state of a Supervisor Service version. In this state, certain operations on the version are disallowed, for example, the version cannot be created on the vSphere Supervisor clusters.\n\n\nFor more information see: *Vcenter.NamespaceManagement.SupervisorServices.Versions.State*.\n\nThis property was added in __vSphere API 7.0.3.0__." + }, + "registered_by_default": { + "type": "boolean", + "description": "If `true`, this Supervisor Service version has been registered on vCenter by default and cannot be removed. If `false`, this service version has been registered by an administrator.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vcenter.NamespaceManagement.SupervisorServices.Versions.Info schema contains detailed information about a Supervisor Service version.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ImageSourceType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.ImageSourceType enumerated type represents the entity hosting the Supervisor images.\n\nPossible values:\n - `EMBEDDED`: The Supervisor image is packaged with vCenter Server.\n - `CONTENT_LIBRARY`: The Supervisor image is hosted in a Content Library configured with vSphere Namespaces.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "EMBEDDED", + "CONTENT_LIBRARY" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.ResourceNamingStrategy": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.ResourceNamingStrategy enumerated type represents the strategy to generate the Kubernetes resource names in a Supervisor for items in a Content Library associated with the Supervisor. The relevant Kubernetes resources include cluster scoped ClusterContentLibraryItem, and ClusterVirtualMachineImage resources in the Supervisor.\n\nPossible values:\n - `FROM_ITEM_ID`: The naming strategy to generate the Kubernetes resource name based on the corresponding Content Library item identifier.\n - `PREFER_ITEM_SOURCE_ID`: The naming strategy to generate the Kubernetes resource name based on the source identifier of the corresponding Content Library item if the Content Library is a subscribed Content Library, otherwise still based on the corresponding Content Library item identifier. With this naming strategy, the Kubernetes resources for images from different subscribed Content Libraries subscribing to the same published Content Library can have the same names across Supervisors with such subscribed Content Library associated. \n\nUse this strategy if you have multiple Content Libraries that are subscribing to the same published Content Library, and want to consume the same resource names in the Supervisor for VM images originated from that published Content Library, regardless which Content Library is associated with the Supervisor.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "FROM_ITEM_ID", + "PREFER_ITEM_SOURCE_ID" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.SizingHint": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.SizingHint enumerated type determines the configuration of Kubernetes API server and the worker nodes. It also determines the default values associated with the maximum number of pods and services. Use *GET /vcenter/namespace-management/cluster-size-info* to get information associated with a Vcenter.NamespaceManagement.Supervisors.SizingHint.\n\nPossible values:\n - `TINY`: Cluster size of 'tiny'.\n - `SMALL`: Cluster size of 'small'.\n - `MEDIUM`: Cluster size of 'medium'.\n - `LARGE`: Cluster size of 'large'.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "TINY", + "SMALL", + "MEDIUM", + "LARGE" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane": { + "required": [ + "network" + ], + "type": "object", + "properties": { + "network": { + "description": "\n\nThe management *Vcenter.NamespaceManagement.Supervisors.ControlPlane.network* is used by vCenter and the control plane to manage the cluster. vCenter and the NSX (if used) management plane must be accessible from this network. \n\nThe Supervisor requires that management network traffic is not L3 routable from workload network traffic.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network" + } + ] + }, + "login_banner": { + "type": "string", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.ControlPlane.login_banner* is a disclaimer displayed prior to login via the Kubectl plugin.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf this banner is missing or `null`, no message will be displayed to users." + }, + "size": { + "type": "string", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.ControlPlane.size* controls the size and resources allocated to the Kubernetes API server and the worker nodes.\n\nPossible values:\n - `TINY`: Cluster size of 'tiny'.\n - `SMALL`: Cluster size of 'small'.\n - `MEDIUM`: Cluster size of 'medium'.\n - `LARGE`: Cluster size of 'large'.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SizingHint*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nDefaults to SMALL." + }, + "size_v2": { + "type": "string", + "description": "A specification for the control plane VM size.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nDefaults to the default indicated in the #com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Sizes.ListResult for the Supervisor version used for enablement.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`." + }, + "storage_policy": { + "type": "string", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.ControlPlane.storage_policy* identifies the storage policy backing the Supervisor Kubernetes API server.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis resource is required.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "count": { + "type": "integer", + "description": "Number of control plane VMs requested during Supervisor enablement. The allowed values are either 1 or 3.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, defaults to 3.", + "format": "int64" + }, + "enable_namespace_api_fairness": { + "type": "boolean", + "description": "Enable Kubernetes API Fairness across Supervisor Namespaces. When set to true, ensures equitable access to Supervisor's API resources by preventing resource monopolization from individual workloads or namespaces. It achieves this by imposing equal concurrency limits on API requests across all namespaces.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to True" + } + }, + "description": "\n\nVcenter.NamespaceManagement.Supervisors.ControlPlane schema describes the control plane configuration. It allows you to adjust configuration such as size, network, and storage required to support the control plane runtime.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.ImageRegistry": { + "required": [ + "hostname" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "IP address or the hostname of container image registry.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "port": { + "type": "integer", + "description": "Port number of the container image registry.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, defaults to 443.", + "format": "int64" + }, + "username": { + "type": "string", + "description": "A username to be used for username/password authentication with this registry.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then the username/password authentication will not be used." + }, + "password": { + "type": "string", + "description": "The password for the user.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then the password is unset, only for write operations. For read operations (GET and LIST), this value is always nil.", + "format": "password" + }, + "certificate_chain": { + "type": "string", + "description": "PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then the verification will be skipped." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ImageRegistry schema contains the specification required to configure container image registry endpoint.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.ImageSourceSpec": { + "required": [ + "source_type" + ], + "type": "object", + "properties": { + "source_type": { + "type": "string", + "description": "Represents the source of the Supervisor images.\n\nPossible values:\n - `EMBEDDED`: The Supervisor image is packaged with vCenter Server.\n - `CONTENT_LIBRARY`: The Supervisor image is hosted in a Content Library configured with vSphere Namespaces.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.ImageSourceType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "library": { + "type": "string", + "description": "If a Supervisor image is hosted in CONTENT_LIBRARY, *Vcenter.NamespaceManagement.Supervisors.ImageSourceSpec.library* represents the identifier of that Content Library.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of source_type is *Vcenter.NamespaceManagement.Supervisors.ImageSourceType.CONTENT_LIBRARY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ImageSourceSpec schema contains the specification about the configuration of a Supervisor image.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig": { + "type": "object", + "properties": { + "registry": { + "description": "The *Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.registry* schema contains the specification required to configure container image registry endpoint.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nDefaults to Docker Hub if missing or `null`.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ImageRegistry" + } + ] + }, + "repository": { + "type": "string", + "description": "\n\nThe *Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.repository* specifies the default container image repository to use when the Kubernetes Pod specification does not specify it. For example, `hub.docker.com` is the image repository for a Pod whose image specification is `hub.docker.com/nginx`.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, and if docker hub is the configured *Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.registry*, then *Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.repository* defaults to Docker Hub. If Docker Hub is not the configured image registry, *Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.repository* remains unset. \n\nIf {#member} repository is missing or `null`, you must supply an image repository in your Pod spec or else images will not be able to be synced into the cluster." + }, + "kubernetes_content_library": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.content_libraries* instead.\n\n*Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.kubernetes_content_library* is the UUID of the Content Library which holds the VM Images for vSphere Kubernetes Service. \n\nThis Content Library should be subscribed to VMware's hosted vSphere Kubernetes Service Repository. Optionally, you can configure your own local content library and host images locally.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf the Content Library identifier is missing or `null`, you will not be able to deploy Kubernetes Clusters.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`.", + "deprecated": true + }, + "content_libraries": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.content_libraries* is a list of Content Libraries that will be associated with a Supervisor. \n\nThis list refers to existing Content Libraries in the vSphere inventory. These Content Libraries and the Content Library items belonging to them will be read-only across all vSphere Namespaces. \n\nIf *Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig.kubernetes_content_library* is set, the Content Library identifier will be migrated to this property.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, a subscribed Content Library, subscribed to VMware's hosted vSphere Kubernetes Service Repository, will be automatically created and configured to the Supervisor.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ContentLibrarySpec" + } + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig schema describes how the Supervisor Cluster and Kubernetes retrieves VM and container images that will run on the cluster.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.ContentLibrarySpec": { + "required": [ + "content_library" + ], + "type": "object", + "properties": { + "content_library": { + "type": "string", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.ContentLibrarySpec.content_library* is the Content Library ID associated with a Supervisor. The Content Library specified should exist in the vSphere inventory.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "supervisor_services": { + "type": "array", + "description": "List of Supervisor Service IDs that are currently making use of the Content Library. A Content Library can be used by one or more Supervisor Services. *Vcenter.NamespaceManagement.Supervisors.ContentLibrarySpec.supervisor_services* holds a list of *Vcenter.NamespaceManagement.SupervisorServices.Summary.supervisor_service* which is used to identify the Supervisor Services that are making use of this Content Library. \n\nIf a Supervisor Service is specified, the Supervisor Service ID will be added as a label with key services.supervisor.vmware.com/Service-ID to the Content Library resources on the supervisor. For example, the label for vSphere Kubernetes Service with ID as kubernetes.vmware.com will be services.supervisor.vmware.com/kubernetes.vmware.com: \"\" . Supervisor Services can use this label to identify the images in the Content Library. \n\nNote: When associating content libraries with vSphere Kubernetes Service (VKS), use Service ID kubernetes.vmware.com instead of the installed Service ID tkg.vsphere.vmware.com to ensure successful association of content libraries with VKS. \n\nNote that linking a Content Library to a Supervisor Service does not limit the Content Library from being used by other services on the supervisor. This label will be applied on the following kubernetes resources on the Supervisor \n - clustercontentlibrary(cclib) resource managed by WCP service \n - clustercontentlibraryitem(cclitem) resource managed by Image Registry Operator\n - clustervirtualmachineimage(cvmi) resource managed by VM Operator\n If missing or `null`, no labels as described above will be added to the Content Library resources on the supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "items": { + "type": "string" + } + }, + "resource_naming_strategy": { + "type": "string", + "description": "The resource naming strategy that is used to generate the Kubernetes resource names for images from this Content Library. \n\nAn InvalidArgument error will be thrown from *POST /vcenter/namespace-management/supervisors/{cluster}?action=enable_on_compute_cluster* operation and *POST /vcenter/namespace-management/supervisors?action=enable_on_zones* operation if this resource_naming_strategy is set to *Vcenter.NamespaceManagement.Supervisors.ResourceNamingStrategy.PREFER_ITEM_SOURCE_ID* on a subscribed Content Library from a published Content Library that is either also associated with the Supervisor, or has another subscribed Content Library associated to the Supervisor with the resource_naming_strategy also set to *Vcenter.NamespaceManagement.Supervisors.ResourceNamingStrategy.PREFER_ITEM_SOURCE_ID*.\n\nPossible values:\n - `FROM_ITEM_ID`: The naming strategy to generate the Kubernetes resource name based on the corresponding Content Library item identifier.\n - `PREFER_ITEM_SOURCE_ID`: The naming strategy to generate the Kubernetes resource name based on the source identifier of the corresponding Content Library item if the Content Library is a subscribed Content Library, otherwise still based on the corresponding Content Library item identifier. With this naming strategy, the Kubernetes resources for images from different subscribed Content Libraries subscribing to the same published Content Library can have the same names across Supervisors with such subscribed Content Library associated. \n\nUse this strategy if you have multiple Content Libraries that are subscribing to the same published Content Library, and want to consume the same resource names in the Supervisor for VM images originated from that published Content Library, regardless which Content Library is associated with the Supervisor.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.ResourceNamingStrategy*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, Kubernetes resource names for images from this Content Library will be generated based on the default naming strategy *Vcenter.NamespaceManagement.Supervisors.ResourceNamingStrategy.FROM_ITEM_ID*." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ContentLibrarySpec schema contains the specification required to configure Content Libraries with a Supervisor.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.WorkloadsStorageConfig": { + "type": "object", + "properties": { + "cloud_native_file_volume": { + "description": "*Vcenter.NamespaceManagement.Supervisors.WorkloadsStorageConfig.cloud_native_file_volume* specifies the Cloud Native Storage file volume support on the Supervisor. This feature provides `ReadWriteMany` container volumes support.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, file volume support will not be enabled on the Supervisor.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.CNSFileConfig" + } + ] + }, + "ephemeral_storage_policy": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.WorkloadsStorageConfig.ephemeral_storage_policy* identifies the storage policy associated with ephemeral disks of all the Kubernetes PodVMs in the cluster.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` during cluster enablement, the ephemeral storage policy will be defaulted to the configured *Vcenter.NamespaceManagement.Supervisors.ControlPlane.storage_policy*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "image_storage_policy": { + "type": "string", + "description": "The *Vcenter.NamespaceManagement.Supervisors.WorkloadsStorageConfig.image_storage_policy* schema contains the specification required to configure storage used for PodVM container images.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the image storage policy will be set to the specified *Vcenter.NamespaceManagement.Supervisors.WorkloadsStorageConfig.ephemeral_storage_policy* if provided. This field will inherit any defaults for ephemeral storage policy set by the system.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.WorkloadsStorageConfig schema describes how vSphere and Kubernetes will persist images and volumes to disk.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.CNSFileConfig": { + "required": [ + "vsan_clusters" + ], + "type": "object", + "properties": { + "vsan_clusters": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.CNSFileConfig.vsan_clusters* is a list of clusters to be used for provisioning file volumes. \n\nAs a prerequisite these clusters must have vSAN and vSAN file services enabled, and must be in the same vCenter as the Supervisor. \n\nCurrently this list must have a single entry which is the cluster identifier of the current cluster. This cluster must be a vSAN cluster and must have vSAN File Service enabled. \n\nIf a cluster in the list is not a vSAN cluster or does not have vSAN File Service enabled, an InvalidArgument error will be thrown from *POST /vcenter/namespace-management/clusters/{cluster}?action=enable*, *PATCH /vcenter/namespace-management/clusters/{cluster}* and *PUT /vcenter/namespace-management/clusters/{cluster}* APIs. \n\nAn empty list may be specified to disable file volume support on the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.CNSFileConfig schema contains the specification required to set the configuration for Cloud Native Storage file volume support on Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads": { + "required": [ + "edge", + "network" + ], + "type": "object", + "properties": { + "network": { + "description": "\n\nThe workloads *Vcenter.NamespaceManagement.Supervisors.Workloads.network* describes configuration for the primary workload network. \n\nWorkloads will communicate with each other and will reach external networks over this network. \n\nThe IP ranges configured on this network are managed primarily within Kubernetes.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network" + } + ] + }, + "edge": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Workloads.edge* configuration determines how network traffic will enter and leave the cluster. \n\nThe IP ranges configured on this network are managed by the Supervisor and the load balancer.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Edge" + } + ] + }, + "kube_api_server_options": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Workloads.kube_API_server_options* declares configuration options for the Kubernetes API Server.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the default configuration will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.KubeAPIServerOptions" + } + ] + }, + "images": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Workloads.images* specifies how images will be stored and pulled into the cluster.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, image sync configuration will default to the settings described within the Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig schema.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ImageSyncConfig" + } + ] + }, + "storage": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Workloads.storage* specifies which persistent storage is configured and accessible for workloads to consume. You can configure policies for both images and volumes.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, configuration will be copied from the control plane when possible. If not, some storage features may be unavailable.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.WorkloadsStorageConfig" + } + ] + } + }, + "description": "\n\nVcenter.NamespaceManagement.Supervisors.Workloads schema describes configuration that affects the behavior and lifecycle of Kubernetes workloads.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.KubeAPIServerSecurity": { + "required": [ + "certificate_dns_names" + ], + "type": "object", + "properties": { + "certificate_dns_names": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.KubeAPIServerSecurity.certificate_dns_names* lists additional DNS names to associate with the Kubernetes API server. \n\nThese DNS names are embedded in the TLS certificate presented by the API server as subject alternative names, which can be used in conjunction with your DNS server to securely connect a client to the server.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional DNS names are embedded in the TLS certificate. Clients should use the IP address of the API server to connect securely.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.KubeAPIServerSecurity schema declares security options configured on the Kubernetes API server.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.KubeAPIServerOptions": { + "type": "object", + "properties": { + "security": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.KubeAPIServerOptions.security* allows you to specify configuration options for the API server security.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, default security parameters will be configured.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.KubeAPIServerSecurity" + } + ] + } + }, + "description": "\n\nVcenter.NamespaceManagement.Supervisors.KubeAPIServerOptions declares options for the Kubernetes API Server. \n\nThe API server is used to manage workloads on the workload network.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Capabilities.Status": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Capabilities.Status enumerated type represents the activation state of the Supervisor capability with the current infrastructure.\n\nPossible values:\n - `SUPPORTED`: The capability is supported on the Supervisor.\n - `SUPPORTED_NOT_ACTIVATED`: The capability is supported on the Supervisor but is not activated. The *Vcenter.NamespaceManagement.Supervisors.Capabilities.Capability.messages* field will describe the reason.\n - `UNSUPPORTED`: The capability is not supported on the Supervisor.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "SUPPORTED", + "SUPPORTED_NOT_ACTIVATED", + "UNSUPPORTED" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Capabilities.ListResult": { + "required": [ + "capabilities", + "supervisor", + "version" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "Identifier for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "version": { + "type": "string", + "description": "Identifier for the Supervisor version.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SupervisorVersion`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SupervisorVersion`." + }, + "capabilities": { + "type": "array", + "description": "List of Supervisor capabilities.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Capabilities.Capability" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Capabilities.ListResult schema contains information about the capabilities of the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Capabilities.Capability": { + "required": [ + "description", + "name", + "status" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Supervisor feature.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Capability`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Capability`." + }, + "status": { + "type": "string", + "description": "Represents the activation state of the capability.\n\nPossible values:\n - `SUPPORTED`: The capability is supported on the Supervisor.\n - `SUPPORTED_NOT_ACTIVATED`: The capability is supported on the Supervisor but is not activated. The *Vcenter.NamespaceManagement.Supervisors.Capabilities.Capability.messages* field will describe the reason.\n - `UNSUPPORTED`: The capability is not supported on the Supervisor.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Capabilities.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "description": { + "type": "string", + "description": "A description about the Supervisor capability.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "messages": { + "type": "array", + "description": "Messages describes why a capability status is *Vcenter.NamespaceManagement.Supervisors.Capabilities.Status.SUPPORTED_NOT_ACTIVATED*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, capability is either *Vcenter.NamespaceManagement.Supervisors.Capabilities.Status.SUPPORTED* or *Vcenter.NamespaceManagement.Supervisors.Capabilities.Status.UNSUPPORTED*.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Capabilities.Capability schema represents a Supervisor feature and its specification.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Capabilities.FilterSpec": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Capability status for which the Supervisor capabilities should be queried.\n\nPossible values:\n - `SUPPORTED`: The capability is supported on the Supervisor.\n - `SUPPORTED_NOT_ACTIVATED`: The capability is supported on the Supervisor but is not activated. The *Vcenter.NamespaceManagement.Supervisors.Capabilities.Capability.messages* field will describe the reason.\n - `UNSUPPORTED`: The capability is not supported on the Supervisor.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Capabilities.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nstatus If set, return the Supervisor capabilities results for the specified status. If missing or `null`, the status filter will be ignored." + }, + "name": { + "type": "string", + "description": "Capability name for which the Supervisor capabilities should be queried.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the name filter will be ignored.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Capability`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Capability`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Capabilities.FilterSpec schema contains properties to filter Supervisor capabilities.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType schema contains different TLS endpoints.\n\nPossible values:\n - `VIP`: TLS endpoint on Kubernetes API servers when accessed via the load balancer.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "VIP" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec": { + "required": [ + "endpoint", + "tls_endpoint_certificate" + ], + "type": "object", + "properties": { + "tls_endpoint_certificate": { + "type": "string", + "description": "PEM-encoded x509 certificate(s) issued for Supervisor endpoints. \n\nCertificate(s) used can be created by one of the two supported methods: \n 1. By signing the Certificate Signing Request obtained from the Namespace Certificate Management API.\n 2. By creating a certificate using public key cryptography. In such case the certificate *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate* should be specified along with the private key *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_private_key* used to generate the certificate.\n \n\nBecause a Kubernetes ```CertificateSigningRequest``` is created on an existing Namespaces-enabled cluster, you must use the Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec to specify this *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate* on an existing Supervisor rather than during initially enabling Namespaces on a Supervisor. \n\nIn case of providing the trust chain, the certificates should be simply concatenated into a single string.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "tls_endpoint_private_key": { + "type": "string", + "description": "Private Key matching *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate*. \n\nWhen using certificates generated externally and not using Certificate Signing Request obtained from Namespace Certificate Management API, you should specify the private key which was used to generate the certificate *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate*. \n\nIf you have externally generated key pairs, you can import your own public key certificates and key pairs.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` and *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate* is specified then the Supervisor will attempt to find a matching key by comparing the public keys components that was generated with Certificate Signing Request and *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_certificate*. Otherwise, *Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec.tls_endpoint_private_key* will not be modified.", + "format": "password" + }, + "endpoint": { + "type": "string", + "description": "TLS endpoint type for which certificate needs to be updated.\n\nPossible values:\n - `VIP`: TLS endpoint on Kubernetes API servers when accessed via the load balancer.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.UpdateSpec schema contains updates to certificate(s) used by TLS endpoints for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.Info": { + "required": [ + "endpoint", + "tls_endpoint_certificate" + ], + "type": "object", + "properties": { + "tls_endpoint_certificate": { + "type": "string", + "description": "PEM-encoded x509 certificate used by Supervisor TLS endpoint. \n\nIn case of a certificate chain, the order of the certificates in this field is important. The first certificate must be the leaf certificate for your domain name, followed by the intermediate certificate(s), and conclude with the root certificate.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "endpoint": { + "type": "string", + "description": "Supervisor TLS endpoint for which certificate is configured.\n\nPossible values:\n - `VIP`: TLS endpoint on Kubernetes API servers when accessed via the load balancer.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.Info schema contains information about the PEM-encoded x509 certificate(s) used by Supervisor endpoints.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.ListResult": { + "required": [ + "certificates" + ], + "type": "object", + "properties": { + "certificates": { + "type": "array", + "description": "All certificates matching the provided filters or lists certificates of all Supervisor endpoints.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Certificates.Info" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.ListResult schema list the PEM-encoded x509 certificate(s) used by Supervisor endpoints.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.FilterSpec": { + "type": "object", + "properties": { + "endpoint": { + "type": "string", + "description": "Filter certificates based on endpoint type.\n\nPossible values:\n - `VIP`: TLS endpoint on Kubernetes API servers when accessed via the load balancer.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Certificates.EndpointType*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the filter will be ignored." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.FilterSpec schema contains properties to filter certificates based on endpoint type.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Conditions.Severity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Conditions.Severity schema represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Warning message.\n - `ERROR`: Error message.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Conditions.Message": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Warning message.\n - `ERROR`: Error message.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Conditions.Severity*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "details": { + "description": "Details about the message.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, message details are not required for taking actions.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Conditions.Message schema contains user-readable information related to a Vcenter.NamespaceManagement.Supervisors.Conditions.Condition.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Conditions.Condition": { + "required": [ + "description", + "messages", + "reason", + "severity", + "status", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the condition is a CamelCase, machine readable identifier, indicating the configuration stage. InfrastructureInitialized, ControlPlaneVMsDeployed and ControlPlaneVMsConfigured are examples of such identifiers.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "description": { + "description": "Description of the condition type in a human readable format.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "status": { + "type": "string", + "description": "The status of the condition.\n\nPossible values:\n - `TRUE`: Indicates that the condition has reached the desired state.\n - `FALSE`: Indicates that the condition has not reached the desired state.\n - `UNKNOWN`: Indicates that the status of the condition can not be determined.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Conditions.Condition.Status*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "last_transition_time": { + "type": "string", + "description": "Last time the condition transitioned from one state to another. A transition happens when the value of status or severity field changes.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, there are no ongoing operations related to bringing the condition to the desired state.", + "format": "date-time" + }, + "reason": { + "type": "string", + "description": "A brief CamelCase message indicating details about the reason for the last transition. FailedWithSystemError, ManagementDNSServersMissing and WaitForNodeUpgrade are examples of such messages.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "severity": { + "type": "string", + "description": "Provides an explicit classification of the reason identifier. Can be set when the value of status is not TRUE.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Warning message.\n - `ERROR`: Error message.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Conditions.Severity*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "messages": { + "type": "array", + "description": "A list of human-readable messages that provide additional details about the last transition.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Conditions.Message" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Conditions.Condition schema defines an observation of the configuration state of a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Conditions.Condition.Status": { + "type": "string", + "description": "Status of the condition, which can be one of TRUE, FALSE or UNKNOWN.\n\nPossible values:\n - `TRUE`: Indicates that the condition has reached the desired state.\n - `FALSE`: Indicates that the condition has not reached the desired state.\n - `UNKNOWN`: Indicates that the status of the condition can not be determined.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "TRUE", + "FALSE", + "UNKNOWN" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup": { + "required": [ + "conditions", + "description", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the condition group is a CamelCase, machine readable identifier, indicating the group of related configuration stages. UpgradePrechecks, and Components are examples of such identifiers.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "description": { + "description": "Description of the condition group type in a human readable format.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "status": { + "type": "string", + "description": "Represents the consolidated status of Supervisor upgrade pre-checks.\n\nPossible values:\n - `SUCCEEDED`: All conditions executed successfully.\n - `RUNNING`: One or more conditions part of this condition group are in the running state and none of the other conditions are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.ERROR* or *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.WARNING* state.\n - `WARNING`: One or more conditions part of this condition group are in warning state and none of the other conditions are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.ERROR* state.\n - `ERROR`: One or more conditions are in the error state.\n - `UNKNOWN`: Indicates the status of one or more conditions part of this condition group can not be determined. Condition group status will be set to {#member UNKNOWN}, if all conditions are in unknown state or there is at least one condition in unknown state and all others are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.SUCCEEDED* state.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "conditions": { + "type": "array", + "description": "Information about all the conditions constituting condition group, each condition represents the configuration stage.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Conditions.Condition" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup schema defines a group for the observation of related configuration states of Supervisor.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status schema represents the overall status of the condition group.\n\nPossible values:\n - `SUCCEEDED`: All conditions executed successfully.\n - `RUNNING`: One or more conditions part of this condition group are in the running state and none of the other conditions are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.ERROR* or *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.WARNING* state.\n - `WARNING`: One or more conditions part of this condition group are in warning state and none of the other conditions are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.ERROR* state.\n - `ERROR`: One or more conditions are in the error state.\n - `UNKNOWN`: Indicates the status of one or more conditions part of this condition group can not be determined. Condition group status will be set to {#member UNKNOWN}, if all conditions are in unknown state or there is at least one condition in unknown state and all others are in *Vcenter.NamespaceManagement.Supervisors.Conditions.ConditionGroup.Status.SUCCEEDED* state.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SUCCEEDED", + "RUNNING", + "WARNING", + "ERROR", + "UNKNOWN" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.CreateSpec": { + "required": [ + "image_registry", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the container image registry. This name is unique across all container image registries in one Supervisor.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "image_registry": { + "description": "The *Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.CreateSpec.image_registry* schema contains the specification required to configure a container image registry endpoint.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ImageRegistry" + } + ] + }, + "default_registry": { + "type": "boolean", + "description": "Indicates if this container image registry serves as the default option when multiple registries exist, and no specific registry is specified. If there is already a default image registry, the new registry set to default will overwrite the original default setting. When set true, the image registry will be used to host container images from Supervisor system components and services. If there are one or more container image registries associated with the Supervisor, but none of them is set as the default, Docker Hub will be treated as the default.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, this registry is not used as the default option." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.CreateSpec schema provides a specification required to create a container image registry.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.UpdateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the container image registry.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then no update will be made." + }, + "hostname": { + "type": "string", + "description": "IP address or the hostname of the container image registry.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then no update will be made." + }, + "port": { + "type": "integer", + "description": "Port number of the container image registry.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then no update will be made.", + "format": "int64" + }, + "username": { + "type": "string", + "description": "A username to be used for username/password authentication with this registry.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then no update will be made." + }, + "password": { + "type": "string", + "description": "The password for the user.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then no update will be made.", + "format": "password" + }, + "certificate_chain": { + "type": "string", + "description": "The certificateChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then no update will be made." + }, + "default_registry": { + "type": "boolean", + "description": "Indicates if this registry is used as default. When set true, the image registry will be used to host container images from Supervisor system components and services. \n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` then no update will be made." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.UpdateSpec schema contains the specification required to update a container image registry.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.Info": { + "required": [ + "default_registry", + "id", + "image_registry", + "name" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the container image registry.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ContainerImageRegistry`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ContainerImageRegistry`." + }, + "name": { + "type": "string", + "description": "Name of the container image registry.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "image_registry": { + "description": "The *Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.Info.image_registry* schema contains the specification of the container image registry endpoint.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ImageRegistry" + } + ] + }, + "default_registry": { + "type": "boolean", + "description": "Indicates if this registry is used as default. If set true, the image registry is used to host container images from Supervisor system components and services. \n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ContainerImageRegistries.Info schema contains the detailed information about the container image registry.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.CreateSpec": { + "required": [ + "management_addresses", + "management_service", + "ports" + ], + "type": "object", + "properties": { + "management_service": { + "type": "string", + "description": "Identifier of the Management Service. The identifier has DNS Label restrictions as specified in [](https://tools.ietf.org/html/rfc1123): it must be an alphanumeric (a-z and 0-9) string, with a maximum length of 63 characters and with '-' character allowed anywhere except the first or last character. This identifier must be unique across all Management Services in the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`." + }, + "description": { + "type": "string", + "description": "A human-readable description of the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Management Service will not have a description." + }, + "managed_by": { + "type": "string", + "description": "Human-readable information about the entity responsible for the lifecycle of this Management Service record. \n\n When set, the field implies that any change to update or delete the Management Service by any principal other than the component referenced by the field may be reverted by the automation component managing it. \n\n This field should be left missing or `null` for a Management Service directly managed by human users via vSphere UI or API. It should be set when the Management Service is being created by an external automation entity with integration with vSphere API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, it implies the Management Service is not created by automation." + }, + "management_addresses": { + "type": "array", + "description": "A full list of IP addresses and/or fully-qualified domain names on which the Management Service is running.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "ports": { + "type": "array", + "description": "Ports information for the Service. Each port in the list is expected to be present on each address listed in managementAddresses.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortCreateSpec" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.CreateSpec schema provides a specification required to register a Management Service with a Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortCreateSpec": { + "required": [ + "name", + "port", + "transport_protocol" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the service port. The name has DNS Label restrictions as specified in [](https://tools.ietf.org/html/rfc1123): it must be an alphanumeric (a-z and 0-9) string, with a maximum length of 63 characters and with '-' character allowed anywhere except the first or last character. \n\n The name must be unique across all ServicePorts within a single Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "port": { + "type": "integer", + "description": "Port number on which the service is exposed.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "transport_protocol": { + "type": "string", + "description": "Transport-layer protocol used by the service.\n\nPossible values:\n - `TCP`: Use if the service port uses TCP protocol.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.ManagementServices.TransportProtocol*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "tls": { + "description": "TLS Configurations of the Management Service. \n\n This configuration may be useful to workloads as a means to discover TLS configurations required to communicate with the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no information about the Management Service's TLS configuration will be available to the service's clients in this Supervisor. If the service exposed on this Management Service's port uses TLS, the clients are expected to discover the TLS configurations through some other means.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortCreateSpec schema specifies the port and protocol for the Management Service being created.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationCreateSpec": { + "type": "object", + "properties": { + "certificate_authority_chain": { + "type": "string", + "description": "PEM-encoded X509 CA Chain that can be used to verify the certificate returned by the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no CA Chain will be available to clients of the Management Service in this Supervisor. If the service exposed by the Management Service uses TLS, such clients are expected to discover the CA chain required to validate the server certificate through some other means." + }, + "hostname": { + "type": "string", + "description": "The Server Name Indication (SNI) that a client should use to connect to the Management Service, and should match the certificate served by the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no SNI hostname will be available to clients of the Management Service in this Supervisor. If this service requires clients to use of SNI, such clients are expected to discover the SNI value through some other means." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationCreateSpec schema specifies the TLS configuration of a Management Service being created.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.UpdateSpec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A human-readable description of the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, existing description, if present, will be unchanged." + }, + "managed_by": { + "type": "string", + "description": "Human-readable information about the entity responsible for the lifecycle of this Management Service record. \n\n When present, the managedBy value implies that any change to update or delete the Management Service by any principal other than the component referenced by the field may be reverted by the automation component managing it.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, existing value will be kept." + }, + "management_addresses": { + "type": "array", + "description": "A full list of IP addresses and/or fully-qualified domain names on which the Management Service is running.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, existing value will be kept.", + "items": { + "type": "string" + } + }, + "ports": { + "type": "array", + "description": "Ports information for the Service. The full list of ports should be provided on update. Each port in the list is expected to be present on each address listed in managementAddresses.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, existing value will be kept.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortUpdateSpec" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.UpdateSpec schema provides the specification for updating a Management Service registered with a Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortUpdateSpec": { + "required": [ + "name", + "port", + "transport_protocol" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the service port being updated. The name has DNS Label restrictions as specified in [](https://tools.ietf.org/html/rfc1123): it must be an alphanumeric (a-z and 0-9) string, with a maximum length of 63 characters and with '-' character allowed anywhere except the first or last character. \n\n The name must be unique across all ServicePorts within a single Management Service. \n\n If no existing Service Port by this name exists yet in the Management Service's ports configuration, the specification given will be treated as a Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortCreateSpec schema. Consequently, all constraints applicable to ServicePortCreateSpec applies as well.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "port": { + "type": "integer", + "description": "Port number on which the service is exposed.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "transport_protocol": { + "type": "string", + "description": "Transport-layer protocol used by the service.\n\nPossible values:\n - `TCP`: Use if the service port uses TCP protocol.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.ManagementServices.TransportProtocol*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "tls": { + "description": "TLS configuration of the Management Service. \n\n This configuration may be useful to workloads as a means to discover TLS configurations required to communicate with the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no information about the Management Service's TLS configuration will be available to the service's clients in this Supervisor. If the service exposed on this Management Service's port uses TLS, the clients are expected to discover the TLS configurations through some other means.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortUpdateSpec schema specifies the port and protocol for the Management Service being updated.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationUpdateSpec": { + "type": "object", + "properties": { + "certificate_authority_chain": { + "type": "string", + "description": "PEM-encoded X509 CA Chain that can be used to verify the certificate returned by the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no CA Chain will be available to clients of the Management Service in this Supervisor. If the service exposed by the Management Service uses TLS, such clients are expected to discover the CA chain required to validate the server certificate through some other means." + }, + "hostname": { + "type": "string", + "description": "The Server Name Indication (SNI) that a client should use to connect to the Management Service, and should match the certificate served by the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no SNI hostname will be available to clients of the Management Service in this Supervisor. If this service requires clients to use of SNI, such clients are expected to discover the SNI value through some other means." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationUpdateSpec schema specifies the TLS configuration of a Management Service being updated.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.Info": { + "required": [ + "access_grant_count", + "management_addresses", + "ports" + ], + "type": "object", + "properties": { + "management_addresses": { + "type": "array", + "description": "A list of IP addresses and/or fully-qualified domain names on which the Management Service is running.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "description": { + "type": "string", + "description": "A human-readable description of the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Management Service does not have a description." + }, + "managed_by": { + "type": "string", + "description": "Human-readable information about the entity responsible for the lifecycle of this Management Service record. \n\n When set, the field implies that any change to update or delete the Management Service by any principal other than the component referenced by the field may be reverted by the automation component managing it.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, it implies the Management Service is not created by automation." + }, + "ports": { + "type": "array", + "description": "Ports information for the Service. Each port in the list is expected to be present on each address listed in managementAddresses.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortInfo" + } + }, + "access_grant_count": { + "type": "integer", + "description": "Count of Management Service Access Grants referencing this Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.Info schema describes the specification of a Management Service registered on a Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortInfo": { + "required": [ + "name", + "port", + "transport_protocol" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the service port.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "port": { + "type": "integer", + "description": "Port number on which the service is exposed.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "transport_protocol": { + "type": "string", + "description": "Transport-layer protocol used by the service.\n\nPossible values:\n - `TCP`: Use if the service port uses TCP protocol.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.ManagementServices.TransportProtocol*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "tls": { + "description": "TLS configuration of the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no information about the Management Service's TLS configuration will be available to the service's clients in this Supervisor. If the service exposed on this Management Service's port uses TLS, the clients are expected to discover the TLS configurations through some other means.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationInfo" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.ServicePortInfo schema specifies a port and protocol for a Management Service.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationInfo": { + "type": "object", + "properties": { + "certificate_authority_chain": { + "type": "string", + "description": "PEM-encoded X509 CA Chain that can be used to verify the certificate returned by the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no CA Chain will be available to clients of the Management Service in this Supervisor. If the service exposed by the Management Service uses TLS, such clients are expected to discover the CA chain required to validate the server certificate through some other means." + }, + "hostname": { + "type": "string", + "description": "The Server Name Indication (SNI) that a client should use to connect to the Management Service, and should match the certificate served by the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no SNI hostname will be available to clients of the Management Service in this Supervisor. If this service requires clients to use of SNI, such clients are expected to discover the SNI value through some other means." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.TLSConfigurationInfo schema specifies the TLS configuration of a Management Service.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.FilterSpec": { + "required": [ + "management_services" + ], + "type": "object", + "properties": { + "management_services": { + "type": "array", + "description": "Identifiers of Management Services.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.FilterSpec schema contains properties used to filter the result when listing the summaries of ManagementServices (see *GET /vcenter/namespace-management/supervisors/{supervisor}/management-services*).\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.ListResult": { + "required": [ + "summaries" + ], + "type": "object", + "properties": { + "summaries": { + "type": "array", + "description": "A list of Management Service summaries from this Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ManagementServices.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.ListResult schema contains a list of specifications for Management Services registered with a Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.Summary": { + "required": [ + "access_grant_count", + "management_service" + ], + "type": "object", + "properties": { + "management_service": { + "type": "string", + "description": "Identifier of the Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`." + }, + "managed_by": { + "type": "string", + "description": "Human-readable information about the entity responsible for the lifecycle of this Management Service record. \n\n When set, the field implies that any change to update or delete the Management Service by any principal other than the component referenced by the field may be reverted by the automation component managing it.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, it implies the Management Service is not created by automation." + }, + "access_grant_count": { + "type": "integer", + "description": "Count of Management Service Access Grants referencing this Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.Summary schema describes the summarized specification of a Management Service registered on a Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode enumerated type defines various IP address assignment modes.\n\nPossible values:\n - `DHCP`: The address is automatically assigned by a DHCP server.\n - `STATICRANGE`: The address is assigned from a static range.\n - `NONE`: The address assignment is not managed by the Supervisor. This mode is suitable for L2 network requirements or workloads requiring manual IP configurations.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "DHCP", + "STATICRANGE", + "NONE" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Mode": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Mode enumerated type describes the intended use of a network.\n\nPossible values:\n - `MANAGEMENT`: Indicates the infrastructure supports connectivity between this network and the Supervisor management network. Entities on this network are capable of communicating with management entities like the Supervisor and vCenter Server. \n\n Networks can only be associated to *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.MANAGEMENT* networks when the Supervisor management network is configured to be the Primary Workload Network.\n - `WORKLOAD`: Indicates the network is intended for general workload consumption. This network should generally not be routable to networks with the *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.MANAGEMENT* mode set.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "MANAGEMENT", + "WORKLOAD" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider enumerates the network providers supported on a Supervisor.\n\nPossible values:\n - `VSPHERE_NETWORK`: Provider for vSphere Networking.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "VSPHERE_NETWORK" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.IPRange": { + "required": [ + "address", + "count" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The starting address of the range.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "count": { + "type": "integer", + "description": "The number of IP addresses in the range.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.IPRange is used to express a range of IP addresses.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkCreateSpec": { + "required": [ + "address_ranges", + "gateway", + "portgroup", + "subnet_mask" + ], + "type": "object", + "properties": { + "portgroup": { + "type": "string", + "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "ip_assignment_mode": { + "type": "string", + "description": "IP address assignment mode. If set to *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.NONE*, then field *Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkCreateSpec.address_ranges* must be set to an empty list and fields *Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkCreateSpec.gateway* and *Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkCreateSpec.subnet_mask* must be set to empty strings.\n\nPossible values:\n - `DHCP`: The address is automatically assigned by a DHCP server.\n - `STATICRANGE`: The address is assigned from a static range.\n - `NONE`: The address assignment is not managed by the Supervisor. This mode is suitable for L2 network requirements or workloads requiring manual IP configurations.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to STATICRANGE." + }, + "address_ranges": { + "type": "array", + "description": "Usable IP pools on this network.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.IPRange" + } + }, + "gateway": { + "type": "string", + "description": "Gateway for the network.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "subnet_mask": { + "type": "string", + "description": "Subnet mask of the network.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "mode": { + "type": "string", + "description": "Assigns a mode to a network. A mode describes the intended use of the network.\n\nPossible values:\n - `MANAGEMENT`: Indicates the infrastructure supports connectivity between this network and the Supervisor management network. Entities on this network are capable of communicating with management entities like the Supervisor and vCenter Server. \n\n Networks can only be associated to *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.MANAGEMENT* networks when the Supervisor management network is configured to be the Primary Workload Network.\n - `WORKLOAD`: Indicates the network is intended for general workload consumption. This network should generally not be routable to networks with the *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.MANAGEMENT* mode set.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Mode*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` this network defaults to the *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.WORKLOAD* mode." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkCreateSpec schema describes the configuration specification of a DVPG-backed Supervisor Network object.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.CreateSpec": { + "required": [ + "network", + "network_provider" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the network. This must be a valid DNS subdomain name as defined in [RFC 1123](https://tools.ietf.org/html/rfc1123). It must: - have a maximum length of 253 characters - contain only lowercase alphanumeric characters, '-', or '.' - start and end with an alphanumeric character This name must also be unique within a Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "network_provider": { + "type": "string", + "description": "The network provider that will manage the Supervisor.\n\nPossible values:\n - `VSPHERE_NETWORK`: Provider for vSphere Networking.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "vsphere_network": { + "description": "The create spec for a DVPG-backed Supervisor network object, supported by *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider.VSPHERE_NETWORK* network provider.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.CreateSpec schema contains the specification required to create a Supervisor network object.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkUpdateSpec": { + "type": "object", + "properties": { + "portgroup": { + "type": "string", + "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object. If the network object is associated with a vSphere Namespace or is a *Vcenter.NamespaceManagement.Supervisors.Workloads.network*, then modification to existing portgroup will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the current value will be retained.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "address_ranges": { + "type": "array", + "description": "Usable IP pools on this network. If the network object is associated with a vSphere Namespace or is a *Vcenter.NamespaceManagement.Supervisors.Workloads.network*, then replacement of or modification to any existing range in this list will result in operation failing with a Vapi.Std.Errors.ResourceInUse error. To add new address ranges to the list, existing address ranges have to be passed in without modifications. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.NONE*, as these modes require empty address ranges.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.IPRange" + } + }, + "gateway": { + "type": "string", + "description": "Gateway for the network. If the network object is associated with a vSphere Namespace or is a *Vcenter.NamespaceManagement.Supervisors.Workloads.network*, then modification to existing gateway will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.NONE*, as these modes require an empty gateway.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the current value will be retained." + }, + "subnet_mask": { + "type": "string", + "description": "Subnet mask of the network. If the network object is associated with a vSphere Namespace or is a *Vcenter.NamespaceManagement.Supervisors.Workloads.network*, then modification to existing subnet mask will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. \n\nThis field may not be modified when the network's *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.DHCP* or *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.NONE*, as these modes require an empty subnet mask.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the current value will be retained." + }, + "mode": { + "type": "string", + "description": "Assigns a mode to a network. A mode describes the intended use of the network. \n\n Modes cannot be changed when a network is associated with a vSphere Namespace, a load balancer, or is the *Vcenter.NamespaceManagement.Supervisors.Workloads.network*.\n\nPossible values:\n - `MANAGEMENT`: Indicates the infrastructure supports connectivity between this network and the Supervisor management network. Entities on this network are capable of communicating with management entities like the Supervisor and vCenter Server. \n\n Networks can only be associated to *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.MANAGEMENT* networks when the Supervisor management network is configured to be the Primary Workload Network.\n - `WORKLOAD`: Indicates the network is intended for general workload consumption. This network should generally not be routable to networks with the *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.MANAGEMENT* mode set.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Mode*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` the current value will be retained." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkUpdateSpec schema contains new configuration to update on an existing DVPG-backed Supervisor Network object.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.UpdateSpec": { + "required": [ + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that will manage the Supervisor network object.\n\nPossible values:\n - `VSPHERE_NETWORK`: Provider for vSphere Networking.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "vsphere_network": { + "description": "Updated configuration specification for a DVPG-backed Supervisor network object, supported by *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider.VSPHERE_NETWORK* network provider.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.UpdateSpec schema contains the specification required to update the configuration of a Supervisor network object. This schema is applied partially, and only the specified fields will replace or modify their existing counterparts.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkInfo": { + "required": [ + "address_ranges", + "gateway", + "mode", + "portgroup", + "subnet_mask" + ], + "type": "object", + "properties": { + "portgroup": { + "type": "string", + "description": "Identifier of the vSphere Distributed Portgroup backing the vSphere network object.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "ip_assignment_mode": { + "type": "string", + "description": "IP address assignment mode.\n\nPossible values:\n - `DHCP`: The address is automatically assigned by a DHCP server.\n - `STATICRANGE`: The address is assigned from a static range.\n - `NONE`: The address assignment is not managed by the Supervisor. This mode is suitable for L2 network requirements or workloads requiring manual IP configurations.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, default to STATICRANGE." + }, + "address_ranges": { + "type": "array", + "description": "Usable IP pools on this network.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.IPRange" + } + }, + "gateway": { + "type": "string", + "description": "Gateway for the network.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "subnet_mask": { + "type": "string", + "description": "Subnet mask of the network.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "mode": { + "type": "string", + "description": "Displays the intended use of the network.\n\nPossible values:\n - `MANAGEMENT`: Indicates the infrastructure supports connectivity between this network and the Supervisor management network. Entities on this network are capable of communicating with management entities like the Supervisor and vCenter Server. \n\n Networks can only be associated to *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.MANAGEMENT* networks when the Supervisor management network is configured to be the Primary Workload Network.\n - `WORKLOAD`: Indicates the network is intended for general workload consumption. This network should generally not be routable to networks with the *Vcenter.NamespaceManagement.Supervisors.Networks.Mode.MANAGEMENT* mode set.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Mode*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkInfo schema describes the configuration specification of a DVPG-backed Supervisor Network object.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Info": { + "required": [ + "namespaces", + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that will manage the Supervisor network object.\n\nPossible values:\n - `VSPHERE_NETWORK`: Provider for vSphere Networking.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "vsphere_network": { + "description": "Updated configuration specification for a DVPG-backed Supervisor network object, supported by *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider.VSPHERE_NETWORK* network provider.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.NamespaceManagement.Supervisors.Networks.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.VsphereDVPGNetworkInfo" + } + ] + }, + "namespaces": { + "type": "array", + "description": "A list of Supervisor Namespaces associated with this network.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Info schema contains detailed information about a specific Supervisor network.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Summary": { + "required": [ + "network" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the Network.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Summary schema contains information about a Supervisor network.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.ListResult": { + "required": [ + "networks" + ], + "type": "object", + "properties": { + "networks": { + "type": "array", + "description": "List of Supervisor Network Summaries.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.ListResult schema represents the result of *GET /vcenter/namespace-management/supervisors/{supervisor}/networks* operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.ConfigStatus": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Summary.ConfigStatus enumerated type describes the status of reaching the desired state configuration for the Supervisor.\n\nPossible values:\n - `CONFIGURING`: The Namespace configuration is being applied to the Supervisor.\n - `REMOVING`: The Namespace configuration is being removed from the Supervisor.\n - `RUNNING`: The Supervisor is configured correctly with the Namespace configuration.\n - `ERROR`: Failed to apply the Namespace configuration to the Supervisor, user intervention needed.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "CONFIGURING", + "REMOVING", + "RUNNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.KubernetesStatus": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Summary.KubernetesStatus enumerated type describes the Supervisor's ability to deploy pods.\n\nPossible values:\n - `READY`: The Supervisor is able to accept pods.\n - `WARNING`: The Supervisor may be able to accept pods, but has warning messages.\n - `ERROR`: The Supervisor may not be able to accept pods and has error messages.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "READY", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.Stats": { + "required": [ + "cpu_capacity", + "cpu_used", + "memory_capacity", + "memory_used", + "storage_capacity", + "storage_used" + ], + "type": "object", + "properties": { + "cpu_used": { + "type": "integer", + "description": "CPU consumed by the Supervisor and its workloads across all hosts in megahertz (MHz).\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "cpu_capacity": { + "type": "integer", + "description": "Maximum reservable CPU capacity for a Supervisor and its workloads in megahertz (MHz). This value is capped by the maximum physical CPU capacity of all hosts participating in the Supervisor or any limits present on Supervisor resource pools.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "memory_used": { + "type": "integer", + "description": "Host memory consumed by a Supervisor and its workloads in mebibytes (MiB).\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "memory_capacity": { + "type": "integer", + "description": "Maximum reservable memory capacity for a Supervisor and its workloads in mebibytes (MiB). This value is capped by the maximum physical memory capacity of all hosts participating in the Supervisor or any limits present on Supervisor resource pools.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "storage_used": { + "type": "integer", + "description": "Storage committed by all participating Supervisor Control Plane VMs in mebibytes (MiB).\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "storage_capacity": { + "type": "integer", + "description": "Capacity of all datastores backing all participating Supervisor Control Plane VMs in mebibytes (MiB).\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Summary.Stats schema contains the basic Supervisor runtime statistics.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.Message": { + "required": [ + "details", + "id", + "severity" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the message.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "severity": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Warning message.\n - `ERROR`: Error message.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Summary.Message.Severity*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "details": { + "description": "Contains details about the message.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "kb_article_link": { + "type": "string", + "description": "Optional link to a KB article providing more details about the message.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null` there is not KB article associated with the message." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Summary.Message schema contains the information about supervisor errors/warnings.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.Message.Severity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Summary.Message.Severity enumerated type represents the type of the message.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Warning message.\n - `ERROR`: Error message.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.Info": { + "required": [ + "config_status", + "kubernetes_status", + "name", + "stats" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "apiendpoint": { + "type": "string", + "description": "The Supervisor API endpoint used by users to manipulate Supervisor resources.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the API server is not yet configured." + }, + "stats": { + "description": "Basic runtime statistics for the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Summary.Stats" + } + ] + }, + "config_status": { + "type": "string", + "description": "Current status of reaching the desired state configuration for the Supervisor.\n\nPossible values:\n - `CONFIGURING`: The Namespace configuration is being applied to the Supervisor.\n - `REMOVING`: The Namespace configuration is being removed from the Supervisor.\n - `RUNNING`: The Supervisor is configured correctly with the Namespace configuration.\n - `ERROR`: Failed to apply the Namespace configuration to the Supervisor, user intervention needed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Summary.ConfigStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "kubernetes_status": { + "type": "string", + "description": "Current Status of the Supervisor's ability to deploy pods.\n\nPossible values:\n - `READY`: The Supervisor is able to accept pods.\n - `WARNING`: The Supervisor may be able to accept pods, but has warning messages.\n - `ERROR`: The Supervisor may not be able to accept pods and has error messages.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Summary.KubernetesStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "messages": { + "type": "array", + "description": "Current set of messages associated with the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Summary.Message" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Summary.Info schema contains the basic information about the statistics and status related to the Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.FilterSpec": { + "type": "object", + "properties": { + "config_status": { + "type": "string", + "description": "Matches Supervisors with *Vcenter.NamespaceManagement.Supervisors.Summary.Info.config_status* equal to the specified value.\n\nPossible values:\n - `CONFIGURING`: The Namespace configuration is being applied to the Supervisor.\n - `REMOVING`: The Namespace configuration is being removed from the Supervisor.\n - `RUNNING`: The Supervisor is configured correctly with the Namespace configuration.\n - `ERROR`: Failed to apply the Namespace configuration to the Supervisor, user intervention needed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Summary.ConfigStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` this filter is not applied." + }, + "kubernetes_status": { + "type": "string", + "description": "Matches Supervisors with the *Vcenter.NamespaceManagement.Supervisors.Summary.Info.kubernetes_status* equal to the specified value.\n\nPossible values:\n - `READY`: The Supervisor is able to accept pods.\n - `WARNING`: The Supervisor may be able to accept pods, but has warning messages.\n - `ERROR`: The Supervisor may not be able to accept pods and has error messages.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Summary.KubernetesStatus*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` this filter is not applied." + } + }, + "description": "A Vcenter.NamespaceManagement.Supervisors.Summary.FilterSpec can be specified to filter summary output by any allowed criteria. An empty Vcenter.NamespaceManagement.Supervisors.Summary.FilterSpec will cause all results of the query to be returned.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.ListItem": { + "required": [ + "info", + "supervisor" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "The immutable identifier of the Supervisor generated during enablement.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "info": { + "description": "The current state of the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Summary.Info" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Summary.ListItem schema contains information about a Supervisor returned by *GET /vcenter/namespace-management/supervisors/summaries* operation\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Summary.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "List of items.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Summary.ListItem" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Summary.ListResult schema represents the result of *GET /vcenter/namespace-management/supervisors/summaries* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings.UpdateSpec": { + "type": "object", + "properties": { + "supervisor_services_enabled": { + "type": "boolean", + "description": "Enables support for control plane VM Supervisor Services on the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, control plane VM Supervisor Service support on the Supervisor is unchanged." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings.UpdateSpec schema contains updates to Supervisor Service settings for the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings.Info": { + "required": [ + "supervisor_services_enabled" + ], + "type": "object", + "properties": { + "supervisor_services_enabled": { + "type": "boolean", + "description": "Information about whether control plane VM Supervisor Service support is enabled on the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServiceSettings.Info schema contains information about Supervisor Service settings for the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ConfigStatus": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ConfigStatus enumerated type describes the progress of a Supervisor Service toward reaching its desired configuration state.\n\nPossible values:\n - `CONFIGURING`: The Supervisor Service is being installed.\n - `REMOVING`: The Supervisor Service is being deleted.\n - `CONFIGURED`: The Supervisor Service has been configured correctly (i.e. the provided YAML content has been applied successfully to the Supervisor)\n - `ERROR`: A failure occurred while reconciling the Supervisor Service. User intervention may be needed.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "CONFIGURING", + "REMOVING", + "CONFIGURED", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.CreateSpec": { + "required": [ + "supervisor_service", + "version" + ], + "type": "object", + "properties": { + "supervisor_service": { + "type": "string", + "description": "Identifier of the Supervisor Service. This Supervisor Service must be in the Versions.State#ACTIVATED state.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "version": { + "type": "string", + "description": "Identifier of the Supervisor Service version which contains the Service definition. This Supervisor Service version must be in the Versions.State#ACTIVATED state.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "yaml_service_config": { + "type": "string", + "description": "A set of additional configuration parameters to be applied during Service creation. These parameters should be formatted as a base64 encoded YAML document. Complex data types with nested properties are supported.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no additional configuration parameters will be applied when installing the Supervisor Service in the vSphere Supervisor.", + "format": "password" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.CreateSpec schema provides a specification required to install a Supervisor Service on a vSphere Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.SetSpec": { + "required": [ + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Identifier of the Supervisor Service version which contains the Service definition. This Supervisor Service version must be in the Versions.State#ACTIVATED state.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "yaml_service_config": { + "type": "string", + "description": "A set of additional configuration parameters to be applied during Service upgrade. These parameters should be formatted as a base64 encoded YAML document. Complex data types with nested properties are supported.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no additional configuration parameters will be applied when upgrading the Supervisor Service in the vSphere Supervisor.", + "format": "password" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.SetSpec schema provides a specification required to set a new configuration on a Supervisor Service in a vSphere Supervisor. This schema is applied in entirety, replacing the current specification fully.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message.MessageSeverity*.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "type": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `COMPATIBILITY`: Message contains the results of a compatibility check between the service and the Supervisor.\n - `SIGNATURE`: Message contains details related to signature verification of the service artifacts.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message.MessageType*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the message type is not specified." + }, + "details": { + "description": "Details about the message.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, message details are not required for taking actions.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message schema contains information about the Supervisor Service on a Supervisor, and can include details about compatibility, Service status, and more.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message.MessageSeverity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message.MessageSeverity enumerated type represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message.MessageType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message.MessageType enumerated type classifies the kind of validation message produced during service installation or upgrade.\n\nPossible values:\n - `COMPATIBILITY`: Message contains the results of a compatibility check between the service and the Supervisor.\n - `SIGNATURE`: Message contains details related to signature verification of the service artifacts.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "COMPATIBILITY", + "SIGNATURE" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Info": { + "required": [ + "config_status", + "desired_version", + "display_name", + "messages" + ], + "type": "object", + "properties": { + "desired_version": { + "type": "string", + "description": "The desired version of this Supervisor Service.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "service_namespace": { + "type": "string", + "description": "Identifier of the namespace to allocate the Supervisor Service's operators.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, there may have been an error while installing the Supervisor Service or the namespace has not been created yet.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "config_status": { + "type": "string", + "description": "Current setting for Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The Supervisor Service is being installed.\n - `REMOVING`: The Supervisor Service is being deleted.\n - `CONFIGURED`: The Supervisor Service has been configured correctly (i.e. the provided YAML content has been applied successfully to the Supervisor)\n - `ERROR`: A failure occurred while reconciling the Supervisor Service. User intervention may be needed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ConfigStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "messages": { + "type": "array", + "description": "Current set of messages associated with the Supervisor Service on the vSphere Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message" + } + }, + "current_version": { + "type": "string", + "description": "The current version for the Supervisor Service.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, there is no version installed for the Supervisor Service." + }, + "display_name": { + "type": "string", + "description": "A human readable name of the Supervisor Service.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "A human readable description of the Supervisor Service.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the description for the Service version is empty." + }, + "prefix": { + "type": "string", + "description": "The prefix that will be added to the names of the Supervisor Service's Kubernetes resources.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no prefix is set for this Service, or the prefix is not assigned yet." + }, + "yaml_service_config": { + "type": "string", + "description": "The configuration parameters applied on this Supervisor Service, formatted as a base64 encoded YAML document. Any configuration that has been set will be returned as base64 encoded YAML.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the Supervisor Service has no configuration applied.", + "format": "password" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Info schema contains the detailed information about a Supervisor Service on the vSphere Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Summary": { + "required": [ + "config_status", + "desired_version", + "supervisor_service" + ], + "type": "object", + "properties": { + "supervisor_service": { + "type": "string", + "description": "The identifier of the Supervisor Service.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "desired_version": { + "type": "string", + "description": "The desired version of this Supervisor Service.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "config_status": { + "type": "string", + "description": "Current setting for Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The Supervisor Service is being installed.\n - `REMOVING`: The Supervisor Service is being deleted.\n - `CONFIGURED`: The Supervisor Service has been configured correctly (i.e. the provided YAML content has been applied successfully to the Supervisor)\n - `ERROR`: A failure occurred while reconciling the Supervisor Service. User intervention may be needed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ConfigStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "current_version": { + "type": "string", + "description": "The current version for the Supervisor Service.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, there is no version installed for the Supervisor Service." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Summary schema contains the basic information about a Supervisor Service on the vSphere Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ListResult": { + "required": [ + "supervisor_services" + ], + "type": "object", + "properties": { + "supervisor_services": { + "type": "array", + "description": "List of Summary.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.ListResult schema represents the result of *GET /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.PrecheckSpec": { + "required": [ + "target_version" + ], + "type": "object", + "properties": { + "target_version": { + "type": "string", + "description": "Identifier of the Supervisor Service version that the prechecks are running for.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.PrecheckSpec schema contains the specification required to check whether a Supervisor Service version is compatible with the vSphere Supervisor.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.PrecheckResult": { + "required": [ + "precheck_finish_time", + "status", + "target_version" + ], + "type": "object", + "properties": { + "target_version": { + "type": "string", + "description": "Identifier of the target Supervisor Service version that the prechecks were running for.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "original_version": { + "type": "string", + "description": "Identifier of the version of the Supervisor Service installed on the Supervisor at the time when the prechecks were performed. It should always match the version of the Supervisor Service currently installed on the Supervisor. If the Supervisor Service on the Supervisor has been upgraded or deleted since the last prechecks, the stale results will be purged.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, there was no version installed when the prechecks were performed." + }, + "status": { + "type": "string", + "description": "Status of the last precheck result.\n\nPossible values:\n - `COMPATIBLE`: The target version is compatible with the Supervisor.\n - `INCOMPATIBLE`: The target version is incompatible with the Supervisor.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.PrecheckResult.Status*.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "status_messages": { + "type": "array", + "description": "A set of messages that provide additional details of the last valid precheck result, including errors and warnings for potential incompatibility.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null`, the target version is compatible with the Supervisor.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Message" + } + }, + "precheck_finish_time": { + "type": "string", + "description": "The timestamp at which the compatibility pre-check finished\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "date-time" + } + }, + "description": "This schema contains the result of the last valid *POST /vcenter/namespace-management/supervisors/{supervisor}/supervisor-services/{supervisorService}?action=precheck* operation for installing or upgrading to a Supervisor Service version on a specific Supervisor.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.PrecheckResult.Status": { + "type": "string", + "description": "Status of a precheck result, can be either compatible or incompatible.\n\nPossible values:\n - `COMPATIBLE`: The target version is compatible with the Supervisor.\n - `INCOMPATIBLE`: The target version is incompatible with the Supervisor.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "COMPATIBLE", + "INCOMPATIBLE" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.SupportBundles.Token": { + "required": [ + "expiry", + "token" + ], + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "A one-time, short-lived token required to be provided in the HTTP POST request to generate the support bundle. This token needs to be passed in as the body of the HTTP POST request to #CreateResult.url with name \"wcp-support-bundle-token\".\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "expiry": { + "type": "string", + "description": "Time when the token expires represented in ISO-8601 format.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "date-time" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupportBundles.Token schema contains information about the token required in the HTTP POST request to generate the support bundle.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupportBundles.CreateResult": { + "required": [ + "support_bundle_token", + "url" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "Support Bundle Download URL.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "support_bundle_token": { + "description": "Information about the token required in the HTTP POST request to #CreateResult.url to generate the support bundle.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupportBundles.Token" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupportBundles.CreateResult schema contains the URI to download the Supervisor support bundle from, as well as a token required (as the body on the HTTP POST request) to generate the bundle. The validity of the token is 5 minutes. After the token expires, any attempt to call the URI with the token will fail.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Topology.Info": { + "required": [ + "clusters", + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "Identifier of this vSphere Zone.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "clusters": { + "type": "array", + "description": "A list of vSphere Cluster identifiers that are associated with the vSphere Zone.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Topology.Info schema contains the basic information about the association between vSphere Zones and vSphere Clusters.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.VspherePodSettings.UpdateSpec": { + "type": "object", + "properties": { + "vsphere_pods_enabled": { + "type": "boolean", + "description": "Enables support for vSphere Pods on the Supervisor. Once enabled, support for vSphere Pods cannot be disabled.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, vSphere Pod support on the Supervisor is unchanged." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.VspherePodSettings.UpdateSpec schema contains updates to vSphere Pod settings for the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.VspherePodSettings.Info": { + "required": [ + "vsphere_pods_enabled" + ], + "type": "object", + "properties": { + "vsphere_pods_enabled": { + "type": "boolean", + "description": "Information about whether vSphere Pods support is enabled on the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.VspherePodSettings.Info schema contains information about vSphere Pod settings for the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes.UpdateSpec": { + "type": "object", + "properties": { + "internal_certs_key_size": { + "type": "string", + "description": "Supervisor internal certificates key size. The Supervisor will update the size of the signing key for internal certificates.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` then no update will be made." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes.UpdateSpec schema contains updates to options declared for the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes.Info": { + "type": "object", + "properties": { + "current_key_size": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes.Info.current_key_size* get signing key size for Supervisor internal certificates.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "supported_key_sizes": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes.Info.supported_key_sizes* retrieves the list of supported signing key sizes for Supervisor internal certificates. Each item identifies a unique algorithm and key size you can configure the Supervisor certificates using the #internalCertsKeySize API.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.KeySizes.Info schema contains information on the current signing key size for Supervisor internal certificates and The list of supported key sizes that you can use to update Supervisor internal certificates key size using the #internalCertsKeySize API.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType schema specifies type of the Certificate Signing Request\n\nPossible values:\n - `DEFAULT_NSX_INGRESS`: Certificate Signing Request to be signed and used by NSX as a default fallback certificate for Kubernetes Ingress objects.\n - `KUBERNETES_API_SERVER`: Certificate Signing Request to be signed and used by the Supervisor Kubernetes API Server.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "DEFAULT_NSX_INGRESS", + "KUBERNETES_API_SERVER" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateSpec": { + "required": [ + "common_name", + "country", + "csr_type", + "locality", + "organization_name", + "organization_unit_name", + "state_or_province" + ], + "type": "object", + "properties": { + "csr_type": { + "type": "string", + "description": "Certificate Signing Request kind.\n\nPossible values:\n - `DEFAULT_NSX_INGRESS`: Certificate Signing Request to be signed and used by NSX as a default fallback certificate for Kubernetes Ingress objects.\n - `KUBERNETES_API_SERVER`: Certificate Signing Request to be signed and used by the Supervisor Kubernetes API Server.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CSRType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "key_size": { + "type": "integer", + "description": "Size of key associated with the new Certificate Signing Request.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the generated key will be 3072 bits long.", + "format": "int64" + }, + "common_name": { + "type": "string", + "description": "Name identifying the machine. Its value will be set in Certificate Signing Request Subject's CN field.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "country": { + "type": "string", + "description": "Two-letter country code (as defined in ISO-3166) to be set in Certificate Signing Request Subject's C field.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "state_or_province": { + "type": "string", + "description": "State or province to be set in Certificate Signing Request Subject's ST field.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "locality": { + "type": "string", + "description": "Locality (city) to be set in Certificate Signing Request Subject's L field.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "organization_name": { + "type": "string", + "description": "Organization to be set in Certificate Signing Request Subject's O field.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "organization_unit_name": { + "type": "string", + "description": "Organizational Unit to be set in Certificate Signing Request Subject's OU field.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "email_address": { + "type": "string", + "description": "Email to be set in Certificate Signing Request Subject Alternative Names.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no email address will be set in the Certificate Signing Request." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateSpec schema contains the specification required to create new Certificate Signing Request for the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateResult": { + "required": [ + "csr" + ], + "type": "object", + "properties": { + "csr": { + "type": "string", + "description": "Resulting Certificate Signing Request in PEM format.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Certificates.SigningRequests.CreateResult schema contains the Certificate Signing Request result.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.SizeUpdateSpec": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "Update the control plane VM size for this Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the control plane VM size is unchanged.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.SizeUpdateSpec schema contains updates for the control plane VM size for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.SizeInfo": { + "required": [ + "identifier" + ], + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "The current size of the control plane VMs. Use *GET /vcenter/namespace-management/software/supervisors/versions/{version}/control-plane/sizes* to determine the available sizes for a given Supervisor version.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.software.supervisors.versions.control_plane.Size`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.SizeInfo schema contains information about the current control plane VM size configuration.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.UpdateSpec": { + "type": "object", + "properties": { + "size": { + "description": "Update the control plane VM size for this Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the control plane VM size is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.SizeUpdateSpec" + } + ] + }, + "login_banner": { + "type": "string", + "description": "Updates for the login banner disclaimer displayed prior to login for the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the login banner is unchanged." + }, + "count": { + "type": "integer", + "description": "Updates for the number of control plane VMs for the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the number of control plane VMs is unchanged.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.UpdateSpec schema contains updates for control plane settings for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.Info": { + "required": [ + "size" + ], + "type": "object", + "properties": { + "size": { + "description": "Information about the control plane VM size configuration for the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.SizeInfo" + } + ] + }, + "login_banner": { + "type": "string", + "description": "Information about the login banner disclaimer displayed prior to login for the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf the login banner is missing or `null`, no message will be displayed to users." + }, + "count": { + "type": "integer", + "description": "Information about the number of control plane VMs for the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to 3.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Settings.Info schema contains information about the control plane settings for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Backing": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Backing enumeration defines the backing types for management network configuration.\n\nPossible values:\n - `NETWORK_SEGMENTS`: Management network is configured using network segments. A set of network segments provides L2 management network connectivity.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NETWORK_SEGMENTS" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.DNSUpdateSpec": { + "type": "object", + "properties": { + "servers_to_add": { + "type": "array", + "description": "List of DNS server IP addresses to add, specified in order of preference.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no DNS servers will be added.", + "items": { + "type": "string" + } + }, + "servers_to_remove": { + "type": "array", + "description": "List of DNS server IP addresses to remove.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no DNS servers will be removed.", + "items": { + "type": "string" + } + }, + "search_domains_to_add": { + "type": "array", + "description": "List of DNS search domains to add, specified in order of preference.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no search domains will be added.", + "items": { + "type": "string" + } + }, + "search_domains_to_remove": { + "type": "array", + "description": "List of DNS search domains to remove.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no search domains will be removed.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.DNSUpdateSpec schema contains updates to DNS configuration.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.DNSInfo": { + "required": [ + "search_domains", + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "List of DNS server IP addresses, specified in order of preference.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "search_domains": { + "type": "array", + "description": "List of DNS search domains, specified in order of preference.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.DNSInfo schema contains DNS configuration information.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NTPUpdateSpec": { + "type": "object", + "properties": { + "servers_to_add": { + "type": "array", + "description": "List of NTP server DNS names or IP addresses to add, specified in order of preference.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no NTP servers will be added.", + "items": { + "type": "string" + } + }, + "servers_to_remove": { + "type": "array", + "description": "List of NTP server DNS names or IP addresses to remove.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no NTP servers will be removed.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NTPUpdateSpec schema contains updates to NTP configuration.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NTPInfo": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "List of NTP server DNS names or IP addresses, specified in order of preference.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NTPInfo schema contains NTP configuration information.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NetworkSegmentsUpdateSpec": { + "type": "object", + "properties": { + "port_groups_to_add": { + "type": "array", + "description": "List of Standard Port Groups or Distributed Virtual Port Groups that are part of the same layer 2 broadcast domain.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no port groups will be added.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "items": { + "type": "string" + } + }, + "port_groups_to_remove": { + "type": "array", + "description": "List of existing Standard Port Groups or Distributed Virtual Port Groups that are part of the same layer 2 broadcast domain.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no port groups will be removed.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "items": { + "type": "string" + } + }, + "dns": { + "description": "DNS configuration updates.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no DNS configuration changes will be made.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.DNSUpdateSpec" + } + ] + }, + "ntp": { + "description": "NTP configuration updates.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no NTP configuration changes will be made.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NTPUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NetworkSegmentsUpdateSpec schema contains updates to network segments configuration.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NetworkSegmentsInfo": { + "required": [ + "dns", + "ntp", + "port_groups" + ], + "type": "object", + "properties": { + "port_groups": { + "type": "array", + "description": "List of existing Standard Port Groups or Distributed Virtual Port Groups that are part of the same layer 2 broadcast domain.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "items": { + "type": "string" + } + }, + "dns": { + "description": "DNS configuration information.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.DNSInfo" + } + ] + }, + "ntp": { + "description": "NTP configuration information.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NTPInfo" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NetworkSegmentsInfo schema contains network segments configuration information.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.UpdateSpec": { + "type": "object", + "properties": { + "backing": { + "type": "string", + "description": "Backing determines the type of network deployed.\n\nPossible values:\n - `NETWORK_SEGMENTS`: Management network is configured using network segments. A set of network segments provides L2 management network connectivity.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Backing*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no change will able to be made to network settings requiring a specific backing." + }, + "network_segments_update_spec": { + "description": "Network segments configuration updates.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of backing is *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Backing.NETWORK_SEGMENTS*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NetworkSegmentsUpdateSpec" + } + ] + }, + "floating_ip_address": { + "type": "string", + "description": "Floating IP address for the control plane management endpoint.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no change will be made to the floating IP address." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.UpdateSpec schema contains updates to management network settings.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Info": { + "required": [ + "backing" + ], + "type": "object", + "properties": { + "backing": { + "type": "string", + "description": "Backing determines the type of network deployed.\n\nPossible values:\n - `NETWORK_SEGMENTS`: Management network is configured using network segments. A set of network segments provides L2 management network connectivity.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Backing*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "network_segments_info": { + "description": "Network segments configuration information.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of backing is *Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Backing.NETWORK_SEGMENTS*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.NetworkSegmentsInfo" + } + ] + }, + "floating_ip_address": { + "type": "string", + "description": "Floating IP address for the control plane management endpoint.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the floating IP address may not be ready to receive requests." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Networks.Settings.Info schema contains information about management network settings.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies.UpdateSpec": { + "type": "object", + "properties": { + "default_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with the Supervisor. \n\nDefault storage policy to use when ephemeral storage policy is not set. Hosts content library items by default, and governs VMDK placement for Supervisor control plane VMs.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, storage policy associated with the Supervisor will not be modified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies.UpdateSpec schema contains the specification required to update storage policies for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies.Info": { + "required": [ + "default_policy" + ], + "type": "object", + "properties": { + "default_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with the Supervisor. \n\nHosts content library items by default, and governs VMDK placement for control plane VMs.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.ControlPlane.Storage.Policies.Info schema contains information about storage policies for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules.Info": { + "required": [ + "component_name", + "component_version", + "name", + "version" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the module as specified in its certificate.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "version": { + "type": "string", + "description": "Version of the module.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "cmvp_cert": { + "type": "string", + "description": "Cryptographic Module Validation Program (CMVP) certificate number of the module. Use it to construct the URL of the certificate, Please refer: https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4743\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the module's CMVP certification is still pending." + }, + "cavp_cert": { + "type": "string", + "description": "Cryptographic Algorithm Validation Program (CAVP) certificate number of the module's algorithms. Use it to construct the URL of the certificate, Please refer: https://csrc.nist.gov/projects/Cryptographic-Algorithm-Validation-Program/details?source=A&number=3500\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nmissing or `null`, if the module has a CMVP certificate issued." + }, + "component_name": { + "type": "string", + "description": "VCF component on which this module is installed. It is Supervisor by default.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "component_version": { + "type": "string", + "description": "Version of the Supervisor on which this module is installed.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules.Info schema contains information about a FIPS validated crypto module.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules.ListResult": { + "required": [ + "modules" + ], + "type": "object", + "properties": { + "modules": { + "type": "array", + "description": "All Broadcom authored crypto modules installed on the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules.Info" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Crypto.Fips.Modules.ListResult schema list the Broadcom authored crypto modules installed on the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Identity.Domains.Summary": { + "required": [ + "display_name", + "domain" + ], + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "The immutable identifier of an identity domain generated when an identity domain is configured for a Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.domain`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.domain`." + }, + "display_name": { + "type": "string", + "description": "A name to be used for the given identity domain. This name will be displayed in the vCenter UI.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Domains.Summary schema provides an overview of an identity domain registered for a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Identity.Domains.ListResult": { + "required": [ + "domains" + ], + "type": "object", + "properties": { + "domains": { + "type": "array", + "description": "List of Summary.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Identity.Domains.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Domains.ListResult schema represents the result of a *GET /vcenter/namespace-management/supervisors/{supervisor}/identity/domains* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Identity.Domains.Info": { + "required": [ + "callback_url", + "display_name", + "domain" + ], + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "The immutable identifier of an identity domain generated when an federation domain is registered for a Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.domain`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.domain`." + }, + "display_name": { + "type": "string", + "description": "A name to be used for the given identity domain. This name will be displayed in the vCenter UI.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "callback_url": { + "type": "string", + "description": "The URL used by the Identity Provider to redirect users back to the Supervisor after authentication. This URL will be used in the registration of the Supervisor with the Identity Provider to act as an OAuth 2.0 client.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Domains.Info schema provides details about an OIDC domain configured with a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers.Summary": { + "required": [ + "display_name", + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The immutable identifier of an identity provider generated when an identity provider is registered for a Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`." + }, + "display_name": { + "type": "string", + "description": "A name to be used for the given identity provider. This name will be displayed in the vCenter UI.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Providers.Summary schema provides an overview of an identity provider configured for the given Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers.Info": { + "required": [ + "client_id", + "display_name", + "issuer_url", + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The immutable identifier of an identity provider generated when an identity provider is registered for a Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`." + }, + "display_name": { + "type": "string", + "description": "A name to be used for the given identity provider. This name will be displayed in the vCenter UI.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "issuer_url": { + "type": "string", + "description": "The URL to the identity provider issuing tokens. The OIDC discovery URL will be derived from the issuer URL, according to [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414): https://issuerURL/.well-known/openid-configuration. This must use HTTPS as the scheme.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "username_claim": { + "type": "string", + "description": "The claim from the upstream identity provider ID token or user info endpoint to inspect to obtain the username for the given user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the upstream issuer URL will be concatenated with the 'sub' claim to generate the username to be used with Kubernetes." + }, + "groups_claim": { + "type": "string", + "description": "The claim from the upstream identity provider ID token or user info endpoint to inspect to obtain the groups for the given user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no groups will be used from the upstream identity provider." + }, + "client_id": { + "type": "string", + "description": "The clientID is the OAuth 2.0 client ID registered in the upstream identity provider and used by the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "certificate_authority_data": { + "type": "string", + "description": "The certificate authority data holds the trusted roots to be used to establish HTTPS connections with the identity provider.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, HTTPS connections with the upstream identity provider will rely on a default set of system trusted roots." + }, + "additional_scopes": { + "type": "array", + "description": "Additional scopes to be requested in tokens issued by this identity provider. The 'openid' scope will always be requested.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional scopes will be requested.", + "items": { + "type": "string" + } + }, + "additional_authorize_parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Any additional parameters to be sent to the upstream identity provider during the authorize request in the OAuth2 authorization code flow. One use case is to pass in a default tenant ID if you have a multi-tenant identity provider. For instance, with VMware's Cloud Services Platform, if your organization ID is 'long-form-org-id', the 'orgLink' parameter can be set to \"/csp/gateway/am/api/orgs/long-form-org-id\" to allow users logging in to leverage that organization.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional parameters will be sent to the upstream identity provider." + }, + "credentials_exchange_jwt_authenticator": { + "type": "string", + "description": "Name of the 'JWTAuthenticator' Supervisor object created when *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.Info.allow_credentials_exchange* is set to ```true```.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, no 'JWTAuthenticator' object created on the Supervisor." + }, + "allow_credentials_exchange": { + "type": "boolean", + "description": "If ```true``` client can exchange an identity provider issued ID token for an mTLS client certificate key pair by using the Supervisor 'TokenCredentialRequest' API.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nDefaults to ```false``` if missing or `null`." + }, + "prefix": { + "type": "string", + "description": "The prefix applied to the usernames and group names originating from the upstream identity provider to disambiguate the identities originating from various identity providers configured. The system automatically appends a colon (:) to the specified prefix. This prefix must be unique within a Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, usernames and group names from the upstream identity provider will be used without a prefix." + }, + "extra_claims": { + "type": "array", + "description": "A list of claims from the upstream identity provider's ID token to propagate to the Kubernetes [UserInfo](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#userinfo-v1-authentication-k8s-io) object upon successful authentication. \n\n For each claim name in this list, a corresponding entry will be added to the `UserInfo.Extra` map. The key will be formatted as `\"vcf.vmware.com/\"`, and the value will be the corresponding claim value from the ID token. \n\n Each claim name must consist of valid HTTP path characters as defined in [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986). If a claim is not present in the ID token, it will not be included in the `UserInfo.Extra` map. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no extra claims will be propagated to the `UserInfo` object.", + "items": { + "type": "string" + } + }, + "enable_kubernetes_jwt_authentication": { + "type": "boolean", + "description": "If set to true, enables direct JSON Web Token (JWT) authentication with the Supervisor API server. \n\n This allows clients, such as `kubectl`, to use ID tokens issued by the upstream identity provider for direct authentication against the Supervisor API server. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Providers.Info schema provides details about an identity provider configured with a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers.CreateSpec": { + "required": [ + "client_id", + "client_secret", + "display_name", + "issuer_url" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "A name to be used for the given identity provider. This name will be displayed in the vCenter UI.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "issuer_url": { + "type": "string", + "description": "The URL to the identity provider issuing tokens. The OIDC discovery URL will be derived from the issuer URL, according to [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414): https://issuerURL/.well-known/openid-configuration. This must use HTTPS as the scheme.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "username_claim": { + "type": "string", + "description": "The claim from the upstream identity provider ID token or user info endpoint to inspect to obtain the username for the given user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the upstream issuer URL will be concatenated with the 'sub' claim to generate the username to be used with Kubernetes." + }, + "groups_claim": { + "type": "string", + "description": "The claim from the upstream identity provider ID token or user info endpoint to inspect to obtain the groups for the given user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no groups will be used from the upstream identity provider." + }, + "client_id": { + "type": "string", + "description": "The clientID is the OAuth 2.0 client ID registered in the upstream identity provider and used by the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "client_secret": { + "type": "string", + "description": "The OAuth 2.0 client secret to be used by the Supervisor when authenticating to the upstream identity provider.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "password" + }, + "certificate_authority_data": { + "type": "string", + "description": "Certificate authority data to be used to establish HTTPS connections with the identity provider. This must be a PEM-encoded value.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, HTTPS connections with the upstream identity provider will rely on a default set of system trusted roots." + }, + "additional_scopes": { + "type": "array", + "description": "Additional scopes to be requested in tokens issued by this identity provider.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional scopes will be requested.", + "items": { + "type": "string" + } + }, + "additional_authorize_parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Any additional parameters to be sent to the upstream identity provider during the authorize request in the OAuth2 authorization code flow. One use case is to pass in a default tenant ID if you have a multi-tenant identity provider. For instance, with VMware's Cloud Services Platform, if your organization ID is 'long-form-org-id', the 'orgLink' parameter can be set to \"/csp/gateway/am/api/orgs/long-form-org-id\" to allow users logging in to leverage that organization.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional parameters will be sent to the upstream identity provider." + }, + "allow_credentials_exchange": { + "type": "boolean", + "description": "Enables a client to exchange an identity provider issued ID token for an mTLS client certificate key pair using the Supervisor 'TokenCredentialRequest' API. Note: Supervisor only supports public OAuth 2.0 clients, which do not require client secrets.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nDefaults to ```false``` if missing or `null`." + }, + "prefix": { + "type": "string", + "description": "The prefix applied to the usernames and group names originating from the upstream identity provider to disambiguate the identities originating from various identity providers configured. The system automatically appends a colon (:) to the specified prefix. This prefix must be unique within a Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, usernames and group names from the upstream identity provider will be used without a prefix." + }, + "extra_claims": { + "type": "array", + "description": "A list of claims from the upstream identity provider's ID token to propagate to the Kubernetes [UserInfo](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#userinfo-v1-authentication-k8s-io) object upon successful authentication. \n\n For each claim name in this list, a corresponding entry will be added to the `UserInfo.Extra` map. The key will be formatted as `\"vcf.vmware.com/\"`, and the value will be the corresponding claim value from the ID token. \n\n Each claim name must consist of valid HTTP path characters as defined in [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986). If a claim is not present in the ID token, it will not be included in the `UserInfo.Extra` map. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no extra claims will be propagated to the `UserInfo` object.", + "items": { + "type": "string" + } + }, + "enable_kubernetes_jwt_authentication": { + "type": "boolean", + "description": "If set to true, enables direct JSON Web Token (JWT) authentication with the Supervisor API server. \n\n This allows clients, such as `kubectl`, to use ID tokens issued by the identity provider for direct authentication against the Supervisor API server. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Providers.CreateSpec schema is used to register a new upstream identity provider for use with a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers.SetSpec": { + "required": [ + "client_id", + "client_secret", + "display_name", + "issuer_url" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "A name to be used for the given identity provider. This name will be displayed in the vCenter UI.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "issuer_url": { + "type": "string", + "description": "The URL to the identity provider issuing tokens. The OIDC discovery URL will be derived from the issuer URL, according to [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414): https://issuerURL/.well-known/openid-configuration. This must use HTTPS as the scheme.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "username_claim": { + "type": "string", + "description": "The claim from the upstream identity provider ID token or user info endpoint to inspect to obtain the username for the given user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the upstream issuer URL will be concatenated with the 'sub' claim to generate the username to be used with Kubernetes." + }, + "groups_claim": { + "type": "string", + "description": "The claim from the upstream identity provider ID token or user info endpoint to inspect to obtain the groups for the given user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no groups will be used from the upstream identity provider." + }, + "client_id": { + "type": "string", + "description": "The clientID is the OAuth 2.0 client ID registered in the upstream identity provider and used by the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "client_secret": { + "type": "string", + "description": "The OAuth 2.0 client secret to be used by the Supervisor when authenticating to the upstream identity provider.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "password" + }, + "certificate_authority_data": { + "type": "string", + "description": "Certificate authority data to be used to establish HTTPS connections with the identity provider. This must be a PEM-encoded value.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, HTTPS connections with the upstream identity provider will rely on a default set of system trusted roots." + }, + "additional_scopes": { + "type": "array", + "description": "Additional scopes to be requested in tokens issued by this identity provider.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional scopes will be requested.", + "items": { + "type": "string" + } + }, + "additional_authorize_parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Any additional parameters to be sent to the upstream identity provider during the authorize request in the OAuth2 authorization code flow. One use case is to pass in a default tenant ID if you have a multi-tenant identity provider. For instance, with VMware's Cloud Services Platform, if your organization ID is 'long-form-org-id', the 'orgLink' parameter can be set to \"/csp/gateway/am/api/orgs/long-form-org-id\" to allow users logging in to leverage that organization.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, no additional parameters will be sent to the upstream identity provider." + }, + "allow_credentials_exchange": { + "type": "boolean", + "description": "Enables a client to exchange an identity provider issued ID token for an mTLS client certificate key pair using the Supervisor 'TokenCredentialRequest' API. Note: Supervisor only supports public OAuth 2.0 clients, which do not require client secrets.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nDefaults to ```false``` if missing or `null`." + }, + "extra_claims": { + "type": "array", + "description": "A list of claims from the upstream identity provider's ID token to propagate to the Kubernetes [UserInfo](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#userinfo-v1-authentication-k8s-io) object upon successful authentication. \n\n For each claim name in this list, a corresponding entry will be added to the `UserInfo.Extra` map. The key will be formatted as `\"vcf.vmware.com/\"`, and the value will be the corresponding claim value from the ID token. \n\n Each claim name must consist of valid HTTP path characters as defined in [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986). If a claim is not present in the ID token, it will not be included in the `UserInfo.Extra` map. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no extra claims will be propagated to the ```UserInfo``` object.", + "items": { + "type": "string" + } + }, + "enable_kubernetes_jwt_authentication": { + "type": "boolean", + "description": "If set to true, enables direct JSON Web Token (JWT) authentication with the Supervisor API server. \n\n This allows clients, such as `kubectl`, to use ID tokens issued by the identity provider for direct authentication against the Supervisor API server. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Providers.SetSpec schema is used to fully replace the configuration of an upstream identity provider for use with a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec": { + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "A name to be used for the given identity provider. This name will be displayed in the vCenter UI.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, the name will remained unchanged." + }, + "issuer_url": { + "type": "string", + "description": "The URL to the identity provider issuing tokens. The OIDC discovery URL will be derived from the issuer URL, according to [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414): https://issuerURL/.well-known/openid-configuration. This must use HTTPS as the scheme.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the issuer URL will not be updated." + }, + "username_claim": { + "type": "string", + "description": "The claim from the upstream identity provider ID token or user info endpoint to inspect to obtain the username for the given user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the username claim will not be updated." + }, + "unset_username_claim": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.username_claim*. If this field is set to `true`, the existing 'usernameClaim' value will be removed. If this field is set to `false`, the existing username claim will be changed to the value specified in *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.username_claim*, if any.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the existing 'usernameClaim' value will be changed to the value specified in *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.username_claim*, if any." + }, + "groups_claim": { + "type": "string", + "description": "The claim from the upstream identity provider ID token or user info endpoint to inspect to obtain the groups for the given user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the groups claim will not be updated." + }, + "unset_groups_claim": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.groups_claim*. If this field is set to `true`, the existing 'groupsClaim' value will be removed. If this field is set to `false`, the existing groups claim will be changed to the value specified in *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.groups_claim*, if any.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the existing 'groupsClaim' value will be changed to the value specified in *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.groups_claim*, if any." + }, + "client_id": { + "type": "string", + "description": "The clientID is the OAuth 2.0 client ID registered in the upstream identity provider and used by the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the client ID will not be updated." + }, + "client_secret": { + "type": "string", + "description": "The OAuth 2.0 client secret to be used by the Supervisor when authenticating to the upstream identity provider.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the client secret will not be updated.", + "format": "password" + }, + "certificate_authority_data": { + "type": "string", + "description": "Certificate authority data to be used to establish HTTPS connections with the identity provider. This must be a PEM-encoded value.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the certificate authority data will not be updated." + }, + "unset_certificate_authority_data": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.certificate_authority_data*. If this field is set to `true`, the existing 'certificateAuthorityData' value will be removed. If this field is set to `false`, the existing certificate authority data will be changed to the value specified in *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.certificate_authority_data*, if any.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the existing 'certificateAuthorityData' value will be changed to the value specified in *Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec.certificate_authority_data*, if any." + }, + "additional_scopes": { + "type": "array", + "description": "Additional scopes to be requested in tokens issued by this identity provider.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the additional scopes will not be updated.", + "items": { + "type": "string" + } + }, + "additional_authorize_parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Any additional parameters to be sent to the upstream identity provider during the authorize request in the OAuth2 authorization code flow. One use case is to pass in a default tenant ID if you have a multi-tenant identity provider. For instance, with VMware's Cloud Services Platform, if your organization ID is 'long-form-org-id', the 'orgLink' parameter can be set to \"/csp/gateway/am/api/orgs/long-form-org-id\" to allow users logging in to leverage that organization.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the additional parameters will not be updated." + }, + "allow_credentials_exchange": { + "type": "boolean", + "description": "Enables a client to exchange an identity provider issued ID token for an mTLS client certificate key pair using the Supervisor 'TokenCredentialRequest' API. Note: Supervisor only supports public OAuth 2.0 clients, which do not require client secrets.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nDefaults to ```false``` if missing or `null`." + }, + "extra_claims_to_add": { + "type": "array", + "description": "A list of additional claims from the upstream identity provider's ID token to propagate to the Kubernetes [UserInfo](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#userinfo-v1-authentication-k8s-io) object upon successful authentication. \n\n For each claim name in this list, a corresponding entry will be added to the `UserInfo.Extra` map. The key will be formatted as `\"vcf.vmware.com/\"`, and the value will be the corresponding claim value from the ID token. \n\n Each claim name must consist of valid HTTP path characters as defined in [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986). If a claim is not present in the ID token, it will not be included in the `UserInfo.Extra` map. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no extra claims will be added.", + "items": { + "type": "string" + } + }, + "extra_claims_to_remove": { + "type": "array", + "description": "A list of claims from the upstream identity provider's ID token to not propagate to the Kubernetes [UserInfo](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#userinfo-v1-authentication-k8s-io) object upon successful authentication. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no extra claims will be removed.", + "items": { + "type": "string" + } + }, + "enable_kubernetes_jwt_authentication": { + "type": "boolean", + "description": "If set to true, enables direct JSON Web Token (JWT) authentication with the Supervisor API server. \n\n This allows clients, such as `kubectl`, to use ID tokens issued by the identity provider for direct authentication against the Supervisor API server. \n\n This functionality is available only if the *GET /vcenter/namespace-management/supervisors/{supervisor}/capabilities* operation reports that the `supports_supervisor_privileged_labels` capability is enabled for the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, this setting will not be updated." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Identity.Providers.UpdateSpec schema contains the specification required to update the configuration of an identity provider used with a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore": { + "required": [ + "content", + "enabled", + "unittype" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Specifies whether log streaming is enabled for the given unit type. If false, the content should have appropriate configuration to disable the log streaming for the given unit type. If true, the content should have appropriate configuration to enable the log streaming for the given unit type.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "unittype": { + "type": "string", + "description": "Represents the *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType* for which the logs needs to be streamed.\n\nPossible values:\n - `SUPERVISOR`: The Supervisor unit\n - `VSPHERE_POD`: The vSphere PodVM unit\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "content": { + "type": "string", + "description": "Defines the configuration to be applied to the logging agent within the given unit type. The content should have a valid configuration based on the logging agent in the given unit type to stream the desired logs to the destination log server.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore represents the core configuration for a given *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*. The Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore class has common set of configuration required in the request and response body.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType enumerated type defines the possible unit types for the Supervisor. A unit in the Supervisor represents the Supervisor itself or its different types of workloads deployments, for e.g. a vSphere Pod.\n\nPossible values:\n - `SUPERVISOR`: The Supervisor unit\n - `VSPHERE_POD`: The vSphere PodVM unit\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "SUPERVISOR", + "VSPHERE_POD" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Logs.Configuration": { + "required": [ + "content", + "enabled", + "unittype" + ], + "type": "object", + "properties": { + "certificates": { + "type": "array", + "description": "Represents a list of PEM-encoded certificates, with each string representing a single certificate. These certificates are intended for establishing secure connection between the logging agent and the destination log server.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, certificates is not required when the log streaming is being disabled.", + "items": { + "type": "string" + } + }, + "enabled": { + "type": "boolean", + "description": "Specifies whether log streaming is enabled for the given unit type. If false, the content should have appropriate configuration to disable the log streaming for the given unit type. If true, the content should have appropriate configuration to enable the log streaming for the given unit type.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "unittype": { + "type": "string", + "description": "Represents the *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType* for which the logs needs to be streamed.\n\nPossible values:\n - `SUPERVISOR`: The Supervisor unit\n - `VSPHERE_POD`: The vSphere PodVM unit\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "content": { + "type": "string", + "description": "Defines the configuration to be applied to the logging agent within the given unit type. The content should have a valid configuration based on the logging agent in the given unit type to stream the desired logs to the destination log server.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.Configuration represents the log streaming configuration for a given *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Logs.SetSpec": { + "required": [ + "configurations" + ], + "type": "object", + "properties": { + "configurations": { + "type": "array", + "description": "A list of configurations to set in the Supervisor. There can be at most one configuration per *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType* in the given list.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Logs.Configuration" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.SetSpec represents the list of log streaming configurations to set in the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationSummary": { + "required": [ + "content", + "enabled", + "message", + "status", + "unittype" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Represents the status of configuration applied to the logging agent within the Supervisor.\n\nPossible values:\n - `RECEIVED`: The RECEIVED status represents the configuration is received and being applied\n - `CONFIGURED`: The CONFIGURED status represents the configuration is applied successfully\n - `FAILED`: The FAILED status represents the configuration failed to apply\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationSummary.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "message": { + "type": "string", + "description": "Represents the human-readable message for a given status\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "enabled": { + "type": "boolean", + "description": "Specifies whether log streaming is enabled for the given unit type. If false, the content should have appropriate configuration to disable the log streaming for the given unit type. If true, the content should have appropriate configuration to enable the log streaming for the given unit type.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "unittype": { + "type": "string", + "description": "Represents the *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType* for which the logs needs to be streamed.\n\nPossible values:\n - `SUPERVISOR`: The Supervisor unit\n - `VSPHERE_POD`: The vSphere PodVM unit\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "content": { + "type": "string", + "description": "Defines the configuration to be applied to the logging agent within the given unit type. The content should have a valid configuration based on the logging agent in the given unit type to stream the desired logs to the destination log server.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationSummary represents the summary of log streaming configuration set in the Supervisor for the given *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*. It includes whether the log streaming is enabled, the logging agent configuration and its status.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationSummary.Status": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationSummary.Status enumerated type defines the possible status of configuration applied to the logging agent in the Supervisor.\n\nPossible values:\n - `RECEIVED`: The RECEIVED status represents the configuration is received and being applied\n - `CONFIGURED`: The CONFIGURED status represents the configuration is applied successfully\n - `FAILED`: The FAILED status represents the configuration failed to apply\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "RECEIVED", + "CONFIGURED", + "FAILED" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Logs.SetResult": { + "required": [ + "configurations" + ], + "type": "object", + "properties": { + "configurations": { + "type": "array", + "description": "A list of log streaming configurations set in the Supervisor. Each configuration represents whether the log streaming is enabled, the logging agent configuration and its status for each *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationSummary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.SetResult represents the summary of log streaming configuration set in the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Logs.Info": { + "required": [ + "configurations" + ], + "type": "object", + "properties": { + "configurations": { + "type": "array", + "description": "A list of log streaming configurations set in the Supervisor. Each configuration represents whether the log streaming is enabled, the logging agent configuration and its status for each *Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationCore.UnitType*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Logs.ConfigurationSummary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Logs.Info represents the summary of log streaming configuration set in the Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.ManagementServices.TransportProtocol": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.ManagementServices.TransportProtocol enumerated type defines the transport-layer protocol used by this service.\n\nPossible values:\n - `TCP`: Use if the service port uses TCP protocol.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "TCP" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType enumerates types of remote endpoints supported by the Supervisor for sending metrics.\n\nPossible values:\n - `HTTP`: Indicates HTTP/HTTPS based remote endpoint.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HTTP" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.HttpHeader": { + "required": [ + "name", + "value" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "HTTP header name.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "value": { + "type": "string", + "description": "HTTP header value.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.HttpHeader schema represents an HTTP header, consisting of a name and its associated value.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigInfo": { + "type": "object", + "properties": { + "certificate_authority_chain": { + "type": "string", + "description": "Certificate authority chain holds the trusted roots to be used to establish HTTPS connections with the with the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, HTTPS connections with the remote endpoint will rely on a default set of system trusted roots." + }, + "client_certificate": { + "type": "string", + "description": "A PEM-encoded x509 certificate used by the Supervisor for TLS authentication when sending metrics to a remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, TLS communication with the remote endpoint will not be enabled." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigInfo schema contains TLS configuration used by the Supervisor when sending metrics to a remote endpoint.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigCreateSpec": { + "type": "object", + "properties": { + "certificate_authority_chain": { + "type": "string", + "description": "Certificate authority chain holds the trusted roots to be used to establish HTTPS connections with the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, HTTPS connections with the remote endpoint will rely on a default set of system trusted roots." + }, + "client_certificate": { + "type": "string", + "description": "A PEM-encoded x509 certificate used by the Supervisor for TLS authentication when sending metrics to a remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, TLS communication with the remote endpoint will not be enabled." + }, + "client_private_key": { + "type": "string", + "description": "Private key associated with the *Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigCreateSpec.client_certificate*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, TLS communication with the remote endpoint will not be enabled.", + "format": "password" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigCreateSpec schema contains TLS configuration used by the Supervisor when sending metrics to a remote endpoint.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigUpdateSpec": { + "type": "object", + "properties": { + "certificate_authority_chain": { + "type": "string", + "description": "Certificate authority chain holds the trusted roots to be used to establish HTTPS connections with the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, certificate authority data will not be modified." + }, + "client_certificate": { + "type": "string", + "description": "A PEM-encoded x509 certificate used by the Supervisor for TLS authentication when sending metrics to a remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, certificate will not be modified." + }, + "client_private_key": { + "type": "string", + "description": "Private key associated with the *Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigUpdateSpec.client_certificate*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, private key will not be modified.", + "format": "password" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigUpdateSpec schema contains TLS configuration used by the Supervisor when sending metrics to a remote endpoint.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigSetSpec": { + "type": "object", + "properties": { + "certificate_authority_chain": { + "type": "string", + "description": "Certificate authority chain holds the trusted roots to be used to establish HTTPS connections with the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, HTTPS connections with the remote endpoint will rely on a default set of system trusted roots." + }, + "client_certificate": { + "type": "string", + "description": "A PEM-encoded x509 certificate used by the Supervisor for TLS authentication when sending metrics to a remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, TLS communication with the remote endpoint will not be enabled." + }, + "client_private_key": { + "type": "string", + "description": "Private key associated with the *Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigSetSpec.client_certificate*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, TLS communication with the remote endpoint will not be enabled.", + "format": "password" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigSetSpec schema represents TLS configuration used by the Supervisor when sending metrics to remote endpoint.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointInfo": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL of the remote endpoint where Supervisor should send metrics. This can be an HTTP or HTTPS URL, following the format http(s)://server.com/path/to/metrics.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "tls_client_config": { + "description": "TLS client configuration information used by Supervisor for sending metrics to a remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, Supervisor will not use TLS communication with the remote endpoint when sending metrics.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigInfo" + } + ] + }, + "http_headers": { + "type": "array", + "description": "HTTP headers to be added when the Supervisor sends metrics to the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no HTTP headers are added when sending metrics to the remote endpoint.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.HttpHeader" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointInfo schema contains information about the parameters used to configure Supervisor for sending metrics to a remote endpoint via HTTP messages.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointCreateSpec": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL of the remote endpoint where Supervisor should send metrics. This can be an HTTP or HTTPS URL, following the format http(s)://server.com/path/to/metrics.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "tls_client_config": { + "description": "TLS client configuration information used by Supervisor for sending metrics to a remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, Supervisor will not use TLS communication with the remote endpoint when sending metrics.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigCreateSpec" + } + ] + }, + "http_headers": { + "type": "array", + "description": "HTTP headers to be added when the Supervisor sends metrics to the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no HTTP headers will be added when sending metrics to the remote endpoint.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.HttpHeader" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointCreateSpec schema is used for configuring the Supervisor to send metrics to a remote endpoint in a HTTP message.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointUpdateSpec": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL of the remote endpoint where Supervisor should send metrics. This can be an HTTP or HTTPS URL, following the format http(s)://server.com/path/to/metrics.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, URL will be unchanged." + }, + "tls_client_config": { + "description": "TLS client configuration information used by Supervisor for sending metrics to a remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the TLS configuration will remain unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigUpdateSpec" + } + ] + }, + "http_headers": { + "type": "array", + "description": "HTTP headers to be added when the Supervisor sends metrics to the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, HTTP headers will not be modified.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.HttpHeader" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointUpdateSpec schema is used to modify the Supervisor configuration for sending metrics to a remote endpoint in a HTTP message.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointSetSpec": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL of the remote endpoint where Supervisor should send metrics. This can be an HTTP or HTTPS URL, following the format http(s)://server.com/path/to/metrics.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "tls_client_config": { + "description": "TLS client configuration information used by Supervisor for sending metrics to a remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, Supervisor will not use TLS communication with the remote endpoint when sending metrics.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.TlsClientConfigSetSpec" + } + ] + }, + "http_headers": { + "type": "array", + "description": "HTTP headers to be added when the Supervisor sends metrics to the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no HTTP headers will be added when sending metrics to the remote endpoint.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.HttpHeader" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointUpdateSpec schema is used to fully replace the Supervisor configuration for sending metrics to a remote endpoint in a HTTP message.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.Info": { + "required": [ + "interval", + "name", + "remote_endpoint_type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A display name to be used for the given remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "interval": { + "type": "integer", + "description": "The frequency, in seconds, at which the Supervisor sends metrics to the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "remote_endpoint_type": { + "type": "string", + "description": "Describes the type of remote endpoint.\n\nPossible values:\n - `HTTP`: Indicates HTTP/HTTPS based remote endpoint.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "http_remote_endpoint": { + "description": "Defines the HTTP or HTTPS remote endpoint configuration for Supervisor to send metrics.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of remote_endpoint_type is *Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType.HTTP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointInfo" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.Info schema details about the parameters used for configuring the Supervisor to send metrics to a remote endpoint.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.Summary": { + "required": [ + "name", + "remote_endpoint", + "remote_endpoint_type" + ], + "type": "object", + "properties": { + "remote_endpoint": { + "type": "string", + "description": "The immutable identifier of a remote endpoint generated when a remote endpoint is registered with a Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.metrics.RemoteEndpoint`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.metrics.RemoteEndpoint`." + }, + "name": { + "type": "string", + "description": "A display name to be used for the given remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "remote_endpoint_type": { + "type": "string", + "description": "Describes the type of remote endpoint.\n\nPossible values:\n - `HTTP`: Indicates HTTP/HTTPS based remote endpoint.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.Summary schema provides an overview of the remote endpoint configured for a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.ListResult": { + "required": [ + "remote_endpoints" + ], + "type": "object", + "properties": { + "remote_endpoints": { + "type": "array", + "description": "List of {#link Summary}.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.ListResult schema represents the result of a *GET /vcenter/namespace-management/supervisors/{supervisor}/metrics/remote-endpoints* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.CreateSpec": { + "required": [ + "name", + "remote_endpoint_type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A display name to be used for the given remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "interval": { + "type": "integer", + "description": "The frequency, in seconds, at which the Supervisor sends metrics to the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the frequency, will default to 60 seconds.", + "format": "int64" + }, + "remote_endpoint_type": { + "type": "string", + "description": "Describes the type of remote endpoint.\n\nPossible values:\n - `HTTP`: Indicates HTTP/HTTPS based remote endpoint.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "http_remote_endpoint": { + "description": "Defines the HTTP or HTTPS remote endpoint configuration for Supervisor to send metrics.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of remote_endpoint_type is *Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType.HTTP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointCreateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.CreateSpec schema is used to configure a new remote endpoint with the Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.UpdateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A display name to be used for the given remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, remote endpoint name will not be modified." + }, + "interval": { + "type": "integer", + "description": "The frequency, in seconds, at which the Supervisor sends metrics to the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, interval will not be modified.", + "format": "int64" + }, + "remote_endpoint_type": { + "type": "string", + "description": "Describes the type of remote endpoint.\n\nPossible values:\n - `HTTP`: Indicates HTTP/HTTPS based remote endpoint.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, remote endpoint configuration will not be modified." + }, + "http_remote_endpoint": { + "description": "Defines the HTTP or HTTPS remote endpoint configuration for Supervisor to send metrics.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, remote endpoint configuration will not be modified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.UpdateSpec schema contains the specification required to update the configuration of a remote endpoint configured with the Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.SetSpec": { + "required": [ + "name", + "remote_endpoint_type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "A display name to be used for the given remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "interval": { + "type": "integer", + "description": "The frequency, in seconds, at which the Supervisor sends metrics to the remote endpoint.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the frequency, will default to 60 seconds.", + "format": "int64" + }, + "remote_endpoint_type": { + "type": "string", + "description": "Describes the type of remote endpoint.\n\nPossible values:\n - `HTTP`: Indicates HTTP/HTTPS based remote endpoint.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "http_remote_endpoint": { + "description": "Defines the HTTP or HTTPS remote endpoint configuration for Supervisor to send metrics.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of remote_endpoint_type is *Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpointType.HTTP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Metrics.HttpRemoteEndpointSetSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Metrics.RemoteEndpoints.SetSpec schema contains the specification required to fully replace the configuration of a remote endpoint configured with the Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.NetworkSegment": { + "required": [ + "networks" + ], + "type": "object", + "properties": { + "networks": { + "type": "array", + "description": "List of Standard Port Groups or Distributed Virtual Port Groups or Opaque Network identifiers that are part of the same layer 2 broadcast domain.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.NetworkSegment schema represents a layer 2 broadcast domain.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateAvailabilityMode": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateAvailabilityMode defines parameters for update.\n\nPossible values:\n - `ACTIVE_PASSIVE`: Deploys two nodes with one node responsible for serving traffic and the second node acting in standby. In the event that nodes cannot communicate with each other or are otherwise deemed unhealthy, a fail-over will occur and the passive node will begin serving traffic. \n\n In the event of a fail-over, your workloads may be unavailable for a few seconds and connections to and from the load balancer may be reset. \n\n Both nodes will be deployed to a single vSphere Zone in your Supervisor.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "ACTIVE_PASSIVE" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Info": { + "required": [ + "edge", + "name", + "provider" + ], + "type": "object", + "properties": { + "edge": { + "type": "string", + "description": "The identifier of this edge.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`." + }, + "name": { + "type": "string", + "description": "The human-readable descriptor of this edge.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "provider": { + "type": "string", + "description": "The edge provider.\n\nPossible values:\n - `AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* specifies the Avi Load Balancer. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `HAPROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* instead.\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.HAPROXY* is an HAProxy load balancer fronted by the Data Plane API. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `NSX_LB`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB* specifies the NSX Load Balancer configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `NSX_REGISTERED_AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI* specifies the NSX Advanced Load Balancer (Avi Load Balancer) configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `VSPHERE_FOUNDATION`\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "avi": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviInfo is a conditional configuration made available upon selecting the Avi load balancer provider. It is used to retrieve the load balancer runtime configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviInfo" + } + ] + }, + "haproxy": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Instead, use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Info.foundation* with provider type *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Info.avi* with provider type *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI*.\n\nThe Vcenter.NamespaceManagement.Supervisors.Networks.Edges.HAProxyInfo is a conditional configuration made available upon selecting the HAProxy load balancer provider. It is used to retrieve the load balancer runtime configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.HAPROXY*.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.HAProxyInfo" + } + ] + }, + "foundation": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerInfo is a conditional configuration made available upon selecting the Foundation Load Balancer provider. It is used to retrieve the load balancer runtime configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerInfo" + } + ] + }, + "nsx": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo represents information about the NSX Load Balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Info describes the current state of an edge.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.CreateSpec": { + "required": [ + "name", + "provider" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of this edge. The name must be an RFC 1123 compatible DNS name.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "provider": { + "type": "string", + "description": "The edge provider.\n\nPossible values:\n - `AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* specifies the Avi Load Balancer. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `HAPROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* instead.\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.HAPROXY* is an HAProxy load balancer fronted by the Data Plane API. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `NSX_LB`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB* specifies the NSX Load Balancer configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `NSX_REGISTERED_AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI* specifies the NSX Advanced Load Balancer (Avi Load Balancer) configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `VSPHERE_FOUNDATION`\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "avi": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviCreateSpec is a conditional configuration that must be provided when FLB provider is selected. It is used to create a new load balancer configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviCreateSpec" + } + ] + }, + "foundation": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec is a conditional configuration that must be provided when FLB provider is selected. It is used to create a new load balancer configuration.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.CreateSpec defines parameters for creating an edge.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.UpdateSpec": { + "required": [ + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The edge provider.\n\nPossible values:\n - `AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* specifies the Avi Load Balancer. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `HAPROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* instead.\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.HAPROXY* is an HAProxy load balancer fronted by the Data Plane API. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `NSX_LB`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB* specifies the NSX Load Balancer configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `NSX_REGISTERED_AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI* specifies the NSX Advanced Load Balancer (Avi Load Balancer) configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `VSPHERE_FOUNDATION`\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "avi": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviUpdateSpec is a conditional configuration made available upon selecting the Avi load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviUpdateSpec" + } + ] + }, + "haproxy": { + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. Instead, use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.UpdateSpec.foundation* with provider type *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.UpdateSpec.avi* with provider type *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI*.\n\nThe Vcenter.NamespaceManagement.Supervisors.Networks.Edges.HAProxyUpdateSpec is a conditional configuration made available upon selecting the HAProxy load balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.HAPROXY*.", + "deprecated": true, + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.HAProxyUpdateSpec" + } + ] + }, + "foundation": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec is a conditional configuration made available upon selecting the Foundation Load Balancer provider. It is used to configure the load balancer at run time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec" + } + ] + }, + "nsx": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec is a conditional configuration made available upon selecting the NSX Load Balancer. It is used to configure properties of the load balancer at run time.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.UpdateSpec defines parameters for updating an edge.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FilterSpec": { + "type": "object", + "properties": { + "providers": { + "type": "array", + "description": "Filter by one or more edge providers.\n\nPossible values:\n - `AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* specifies the Avi Load Balancer. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `HAPROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* instead.\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.HAPROXY* is an HAProxy load balancer fronted by the Data Plane API. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `NSX_LB`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB* specifies the NSX Load Balancer configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `NSX_REGISTERED_AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI* specifies the NSX Advanced Load Balancer (Avi Load Balancer) configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `VSPHERE_FOUNDATION`\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` this filter is not applied.", + "items": { + "type": "string" + } + }, + "edges": { + "type": "array", + "description": "Filter by one or more unique edge identifiers.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` this filter is not applied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`.", + "items": { + "type": "string" + } + }, + "names": { + "type": "array", + "description": "Filter by one or more unique edge names.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null` this filter is not applied.", + "items": { + "type": "string" + } + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FilterSpec defines parameters to constrain a results set.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.ListResult": { + "required": [ + "edges" + ], + "type": "object", + "properties": { + "edges": { + "type": "array", + "description": "All edges matching the provided filters or all edges in the system if no filters were set.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Info" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.ListResult contains a set of results constrained by filtered parameters.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Condition": { + "required": [ + "reason", + "status", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of an Edge's runtime state.\n\nPossible values:\n - `HEALTHY`: Condition type that represents the consolidated health status of load balancer workload(s). HEALTHY condition type with status TRUE implies that the load balancer is up and can serve requests as expected. HEALTHY condition type with status FALSE implies either the load balancer has degraded functionality or it is unavailable to serve requests.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Condition.Type*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "status": { + "type": "string", + "description": "The status of the condition.\n\nPossible values:\n - `TRUE`: Indicates that the condition has reached the desired state.\n - `FALSE`: Indicates that the condition has not reached the desired state.\n - `UNKNOWN`: Indicates that the status of the condition can not be determined.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Condition.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "last_transition_time": { + "type": "string", + "description": "Last time the condition transitioned from one state to another. A transition happens when the value of status field changes.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, there are no ongoing operations related to bringing the condition to the desired state.", + "format": "date-time" + }, + "reason": { + "type": "string", + "description": "A brief CamelCase message indicating details about the reason for the last transition.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "message": { + "description": "A human-readable message that provides additional details about the last transition.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` no additional information is available.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Condition schema defines an observation of the configuration state of a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Condition.Status": { + "type": "string", + "description": "Status of the condition, which can be one of TRUE, FALSE or UNKNOWN.\n\nPossible values:\n - `TRUE`: Indicates that the condition has reached the desired state.\n - `FALSE`: Indicates that the condition has not reached the desired state.\n - `UNKNOWN`: Indicates that the status of the condition can not be determined.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "TRUE", + "FALSE", + "UNKNOWN" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Condition.Type": { + "type": "string", + "description": "Type of the condition.\n\nPossible values:\n - `HEALTHY`: Condition type that represents the consolidated health status of load balancer workload(s). HEALTHY condition type with status TRUE implies that the load balancer is up and can serve requests as expected. HEALTHY condition type with status FALSE implies either the load balancer has degraded functionality or it is unavailable to serve requests.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "HEALTHY" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.IPRange": { + "required": [ + "address", + "count" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The starting address of the range.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "count": { + "type": "integer", + "description": "The number of IP addresses in the range.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.IPRange is an IP range that can be used for node or Virtual Server IP addresses depending on the context.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Server": { + "required": [ + "host", + "port" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Load balancer hostname or IPv4 address.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "port": { + "type": "integer", + "description": "Load balancer port.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "A Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Server represents an endpoint used to configure load balancers.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo": { + "required": [ + "default_ingress_tls_certificate" + ], + "type": "object", + "properties": { + "default_ingress_tls_certificate": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo.default_ingress_tls_certificate* defines a default certificate that is served on Ingress services when another certificate is not configured.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerInfo contains detailed information about an NSX Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviInfo": { + "required": [ + "certificate_authority_chain", + "server", + "username" + ], + "type": "object", + "properties": { + "server": { + "description": "Server is the address for the Avi Controller used to configure Virtual Servers.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Server" + } + ] + }, + "username": { + "type": "string", + "description": "An administrator user name for accessing the Avi Controller.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "certificate_authority_chain": { + "type": "string", + "description": "PEM-encoded CA certificate chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "cloud_name": { + "type": "string", + "description": "The cloud name for the Avi Controller.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nOnly set if custom cloud name is configured for this Avi Controller. If missing or `null`, it defaults to \"Default-Cloud\"." + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviInfo contains detailed information about an Avi Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviCreateSpec": { + "required": [ + "certificate_authority_chain", + "password", + "server", + "username" + ], + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviCreateSpec.username* is used for accessing the Avi Controller.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "password": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviCreateSpec.password* secures the *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviCreateSpec.username*.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviCreateSpec.certificate_authority_chain* contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "server": { + "description": "Server is the address for the Avi Controller, used to configure Virtual Servers.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Server" + } + ] + }, + "cloud_name": { + "type": "string", + "description": "The cloud name for the Avi Controller.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nOnly set if custom cloud name is configured for this Avi Controller. If missing or `null`, it defaults to \"Default-Cloud\"." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviCreateSpec defines parameters for creating an Avi Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviUpdateSpec": { + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "An administrator user name for accessing the Avi Controller.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing username will not be modified." + }, + "password": { + "type": "string", + "description": "The password for the administrator user.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing password will not be modified.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "CertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing PEM-encoded CA chain will not be modified." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.AviUpdateSpec defines parameters for updating an Avi Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec": { + "type": "object", + "properties": { + "default_ingress_tls_certificate": { + "type": "string", + "description": "PEM-encoded x509 certificate used by NSX as a default fallback certificate for Kubernetes Ingress services. Certificate(s) used can be created by one of the two supported methods: \n 1. 1. By signing the Certificate Signing Request obtained from the Namespace Certificate Management API. OR\n 2. 2. By creating a certificate using public key cryptography. In such case the certificate *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_certificate* should be specified along with the private key *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_private_key* used to generate the certificate.\n \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the Kubernetes Ingress services certificate will not be modified." + }, + "default_ingress_tls_private_key": { + "type": "string", + "description": "Private Key matching *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_certificate* \n\nWhen using certificates generated externally by the user and not using Certificate Signing Request obtained from Namespace Certificate Management API, users should be able to specify the private key which was used to generate the certificate *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_certificate*. \n\nUsers with externally generated key pairs can import their own public key certificates and key pairs.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` and *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_certificate* is specified then the Supervisor will attempt to find a matching key that was generated with Certificate Signing Request. Otherwise, *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec.default_ingress_tls_private_key* will not be modified.", + "format": "password" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.NSXLoadBalancerUpdateSpec defines parameters for updating an NSX Load Balancer configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.HAProxyInfo": { + "required": [ + "address_ranges", + "certificate_authority_chain", + "servers", + "username" + ], + "type": "object", + "properties": { + "address_ranges": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nIP address range from which virtual servers are assigned their IPs.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.IPRange" + } + }, + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nA list of the addresses for the DataPlane API servers used to configure HAProxy.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Server" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nAn administrator user name for accessing the HAProxy Data Plane API server.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "certificate_authority_chain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nPEM-encoded CA certificate chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nVcenter.NamespaceManagement.Supervisors.Networks.Edges.Info contains detailed information about an HAProxy Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.HAProxyUpdateSpec": { + "type": "object", + "properties": { + "address_ranges": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nList of address ranges that will be used to derive frontend IP addresses for L4 virtual servers. At least one range must be provided. An update operation only allows for addition of new IP ranges to the existing list of IP ranges.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing list of address ranges will not be modified.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.IPRange" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nAn administrator user name for accessing the HAProxy Data Plane API server.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing username will not be modified." + }, + "password": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nThe password for the administrator user.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing password will not be modified.", + "format": "password" + }, + "certificate_authority_chain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__.\n\nCertificateAuthorityChain contains PEM-encoded CA chain which is used to verify x509 certificates received from the server.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing PEM-encoded CA chain will not be modified." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.0.0.0__.\n\nThe Vcenter.NamespaceManagement.Supervisors.Networks.Edges.HAProxyUpdateSpec defines parameters for updating an HAProxy Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__.", + "deprecated": true + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerNetworkInterface": { + "required": [ + "network", + "personas" + ], + "type": "object", + "properties": { + "personas": { + "type": "array", + "description": "The list of interface personas. \n\n An interface must have at least one persona and may have additional *distinct* personas. \n\n For example, an interface with Management Persona, Workload Persona, and Frontend Personas will configure the load balancer to put load balancer IPs on the same interface that will be used to reach workloads and other load balancer nodes. An interface configured with only a Frontend Persona will allow ingress and return traffic to exit that interface while relying on different interfaces for management traffic and workload traffic.\n\nPossible values:\n - `MANAGEMENT`: A Management Persona allows management traffic to pass through this interface. Management traffic may include (but is not limited to) node health checks, rsyslog, and control plane capabilities. \n\n Management traffic can be safely isolated from workload and external traffic by placing the Management Persona NIC onto a different network from other NICs.\n - `WORKLOAD`: A Workload Persona allows traffic to reach workload networks through the provisioning of LoadBalancer Services in Kubernetes. Thus, interface associated with this persona must be able to reach node IP addresses on Supervisor workload networks. \n\n An interface with the Workload Persona cannot be connected to a DHCP network.\n - `FRONTEND`: A Frontend Persona is used to host load balancer IP addresses. It allows external traffic to reach the load balancer addresses which can then be forwarded to interfaces with a Workload Persona. \n\n IP addresses supplied in *Vcenter.NamespaceManagement.Networks.Edges.Edge.load_balancer_address_ranges*, *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec.vip_ranges*, or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec.vip_ranges* will be utilized by the network interface configured with this Persona. \n\n Virtual IP traffic can be safely isolated from workload and management traffic by placing the Frontend Persona NIC onto a different network from other NICs. \n\n An interface with the Frontend Persona cannot be connected to a DHCP network. \n\n __Frontend Persona interface cannot be changed.__\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.Persona*.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "network": { + "type": "string", + "description": "Identifier of a Supervisor workload network. This network cannot be a DHCP network when *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerNetworkInterface.personas* contains a Workload Persona or Frontend Persona. Additionally, a network with *Vcenter.NamespaceManagement.Supervisors.Networks.IPAssignmentMode.NONE* IP Assignment Mode may not be used.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + } + }, + "description": "A Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerNetworkInterface defines how a Foundation Load Balancer will be connected to a Supervisor workload network.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerRuntime": { + "required": [ + "conditions", + "version", + "vips_allocated", + "vips_available" + ], + "type": "object", + "properties": { + "conditions": { + "type": "array", + "description": "Contains a record of recent state transitions. \n\n If the condition with the HEALTHY type has a status set to TRUE, then the system is operating normally. If the condition with the HEALTHY type has a status set to FALSE, then remediation may be required. If the condition with the HEALTHY type has a status set to UNKNOWN, then the system health could not be determined and remediation may be required.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.Condition" + } + }, + "version": { + "type": "string", + "description": "The current version of the load balancer. \n\n The version selected is determined by your vCenter version and Supervisor version. \n\n __The load balancer is upgraded when your Supervisor is updated. Upgrades will cause your workloads to incur downtime. Thus, you should plan for workload downtime when upgrading your Supervisor.__\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vips_allocated": { + "type": "integer", + "description": "Total number of Virtual IP addresses currently allocated to services.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "vips_available": { + "type": "integer", + "description": "Total number of available Virtual IP addresses eligible to be used for load balancer services.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerRuntime contains the runtime state of the Foundation Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerInfo": { + "required": [ + "availability", + "dns_search_domains", + "dns_servers", + "interfaces", + "ntp_servers", + "runtime", + "size", + "storage_policy", + "vip_ranges", + "vip_subnets", + "zones" + ], + "type": "object", + "properties": { + "runtime": { + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerRuntime schema contains the observed state of the load balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerRuntime" + } + ] + }, + "interfaces": { + "type": "array", + "description": "Defines the current networks this load balancer is attached to.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerNetworkInterface" + } + }, + "vip_ranges": { + "type": "array", + "description": "Virtual IP addresses assigned to Kubernetes load balancer services, which allow ingress into the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.IPRange" + } + }, + "vip_subnets": { + "type": "array", + "description": "Subnets to service Virtual IP addresses. These subnets in addition to the subnet of the network attached to the interface with the Frontend Persona, allow traffic from *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerInfo.vip_ranges* to route back to their destination.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "size": { + "type": "string", + "description": "The current resource size of the load balancer deployment.\n\nPossible values:\n - `SMALL`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.SMALL* requires 2 CPUs, 4 GB memory and 8 GB storage resources.\n - `MEDIUM`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.MEDIUM* requires 4 CPUs, 8 GB memory and 8 GB storage resources.\n - `LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.LARGE* requires 8 CPUs, 12 GB memory and 8 GB storage resources.\n - `X_LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.X_LARGE* requires 16 CPUs, 16 GB memory and 8 GB storage resources.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "availability": { + "type": "string", + "description": "The current availability mode configured for the Foundation Load Balancer.\n\nPossible values:\n - `ACTIVE_PASSIVE`: Deploys two nodes with one node responsible for serving traffic and the second node acting in standby. In the event that nodes cannot communicate with each other or are otherwise deemed unhealthy, a fail-over will occur and the passive node will begin serving traffic. \n\n In the event of a fail-over, your workloads may be unavailable for a few seconds and connections to and from the load balancer may be reset. \n\n Both nodes will be deployed to a single vSphere Zone in your Supervisor.\n - `SINGLE_NODE`: Deploys a single node into a Supervisor vSphere Zone. A single node configuration trades availability to reduce resource consumption. In the event of a node failure, workloads will not be available until the node is able to be re-provisioned and configured. Re-provisioning happens automatically, but it is best-effort and requires a healthy cluster. \n\n It is recommended you deploy with *Vcenter.NamespaceManagement.Networks.Edges.Foundation.AvailabilityMode.ACTIVE_PASSIVE* configuration if your Supervisor has enough resources.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.AvailabilityMode*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "zones": { + "type": "array", + "description": "The zones this Foundation Load Balancer is deployed onto.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.consumption_domains.Zone`.", + "items": { + "type": "string" + } + }, + "storage_policy": { + "type": "string", + "description": "Storage Policy containing datastores hosting the Foundation Load Balancer nodes.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "dns_servers": { + "type": "array", + "description": "The current DNS servers configured for the Foundation Load Balancer control plane.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "dns_search_domains": { + "type": "array", + "description": "The current DNS search domains configured for the Foundation Load Balancer control plane.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "ntp_servers": { + "type": "array", + "description": "The current NTP servers configured for the Foundation Load Balancer control plane.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "syslog_endpoint": { + "type": "string", + "description": "The remote endpoint configured to receive logs from the Foundation Load Balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` and the Management Persona interface is connected to the Supervisor's management network, then the syslog setting is inherited from vCenter Server. Otherwise, no syslog endpoint is configured." + }, + "syslog_certificate_authority_pem": { + "type": "string", + "description": "The trust bundle in PEM format verifying syslog TLS endpoints.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` and the Management Persona interface is connected to the Supervisor's management network, then the trust bundle is inherited from vCenter Server. Otherwise, no syslog certificate authority bundle is configured." + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerInfo describes the current desired state configured along with the runtime state reflected from the Supervisor's Kubernetes API server.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec": { + "required": [ + "vip_ranges" + ], + "type": "object", + "properties": { + "vip_ranges": { + "type": "array", + "description": "Virtual IP addresses assigned to Kubernetes load balancer services, which allow ingress into the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.IPRange" + } + }, + "vip_subnets": { + "type": "array", + "description": "Subnets to service Virtual IP addresses. \n\n If any of the IP Addresses provided as part of *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec.vip_ranges* falls outside the frontend network subnet, then you must supply corresponding subnet(s) for those IP addresses. \n\n The load balancer nodes are configured with additional routing rules for the provided *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec.vip_subnets* that ensure return traffic for client requests coming from a source IP addresses that fall under *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec.vip_subnets* ranges get forwarded to frontend network gateway via frontend network interface instead of the workload network gateway. \n\n Subnet values should be in their canonical subnet CIDR form (e.g. 192.168.0.0/24).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif unset no additional routing rules are setup on load balancer nodes.", + "items": { + "type": "string" + } + }, + "interfaces": { + "type": "array", + "description": "Customize the network interfaces of the load balancer granting them roles based on your network topology requirements. \n\n All three personas must be used. Up to three network interfaces may be configured. \n\n For Persona properties see *Vcenter.NamespaceManagement.Networks.Edges.Foundation.Persona*\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf no interfaces are configured, then the load balancer will be attached to the Supervisor's management and workload networks when applicable. \n\n If a Supervisor is provisioned with two networks, the following interface profile is created: Interface IndexPersona(s)Network 1Management PersonaSupervisor Management Network 2Workload Persona, Frontend PersonaSupervisor Workload Network
In this context management traffic is isolated from workload and load balancer traffic. \n\n If a Supervisor is provisioned with one network, the following interface profile is created. Interface IndexPersona(s)Network 1Management Persona, Workload Persona, Frontend PersonaSupervisor Workload Network
In this context a single network interface is used for management, workload, and load balancer traffic.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerNetworkInterface" + } + }, + "deployment_target": { + "description": "Customize the placement of the Load Balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the load balancer will be placed using its default configuration. See fields in *Vcenter.NamespaceManagement.Networks.Edges.Foundation.DeploymentTarget* for a description of each default configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.DeploymentTarget" + } + ] + }, + "network_services": { + "description": "Configure network services for this load balancer. Network services increase the reliability of your load balancer. \n\n Network services must be accessible from a network interface with a Management Persona assigned.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, and the interface configured with a Management Persona is connected to a DHCP network, it will attempt to obtain its settings from a DHCP server. If the interface configured with a Management Persona is connected to a static IP network, the values will be synced with the Supervisor's management services *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.services*. \n\n __Availability of your load balancer may be reduced if network services are not configured. Therefore, it is highly recommended you ensure that network services are configured for your load balancer.__", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkServices" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerCreateSpec defines parameters for creating a Foundation Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationDeploymentTargetUpdateSpec": { + "type": "object", + "properties": { + "size": { + "type": "string", + "description": "Scale up the size of the load balancer nodes. The size specified must be larger than the current size.\n\nPossible values:\n - `SMALL`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.SMALL* requires 2 CPUs, 4 GB memory and 8 GB storage resources.\n - `MEDIUM`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.MEDIUM* requires 4 CPUs, 8 GB memory and 8 GB storage resources.\n - `LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.LARGE* requires 8 CPUs, 12 GB memory and 8 GB storage resources.\n - `X_LARGE`: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint.X_LARGE* requires 16 CPUs, 16 GB memory and 8 GB storage resources.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Networks.Edges.Foundation.SizeHint*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` current settings are unchanged." + }, + "availability": { + "type": "string", + "description": "The availability controls the number of load balancer replicas. \n\n You may only increase the availability of a deployed Foundation Load Balancer.\n\nPossible values:\n - `ACTIVE_PASSIVE`: Deploys two nodes with one node responsible for serving traffic and the second node acting in standby. In the event that nodes cannot communicate with each other or are otherwise deemed unhealthy, a fail-over will occur and the passive node will begin serving traffic. \n\n In the event of a fail-over, your workloads may be unavailable for a few seconds and connections to and from the load balancer may be reset. \n\n Both nodes will be deployed to a single vSphere Zone in your Supervisor.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateAvailabilityMode*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` current settings are unchanged." + }, + "storage_policy": { + "type": "string", + "description": "Update the Storage Policy hosting the load balancer nodes. \n\n Updates to storage policy are not applied to running nodes. Nodes will consume the new storage policy when they are redeployed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` current settings are unchanged.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationDeploymentTargetUpdateSpec specifies parameters for updating the placement of a deployed Foundation Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec": { + "type": "object", + "properties": { + "vip_ranges": { + "type": "array", + "description": "Add Virtual IP addresses assigned to Kubernetes load balancer services, which allow ingress into the Supervisor. \n\n The provided ranges are appended to existing ranges and thus may not overlap with existing ranges. \n\n Existing Virtual IP addresses cannot be changed, and thus should not be specified.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` current settings are unchanged.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.IPRange" + } + }, + "vip_subnets": { + "type": "array", + "description": "Add subnets to service Virtual IP addresses. \n\n If any of the IP Addresses provided as part of *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec.vip_ranges* falls outside the frontend network subnet, then you must supply corresponding subnet(s) for those IP addresses. \n\n The load balancer nodes are configured with additional routing rules for the provided *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec.vip_subnets* that ensure return traffic for client requests coming from a source IP addresses that fall under *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec.vip_subnets* ranges get forwarded to frontend network gateway via frontend network interface instead of the workload network gateway. \n\n The supplied list of subnets will replace existing subnets. \n\n Subnet values should be in their canonical subnet CIDR form (e.g. 192.168.0.0/24).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` current settings are unchanged.", + "items": { + "type": "string" + } + }, + "interfaces": { + "type": "array", + "description": "Interfaces to be updated. \n\n The following restrictions apply in addition to those specified as part of {link #create}. \n - Interfaces can only be added and not removed.\n - The interface hosting the Frontend Persona cannot be changed.\n \n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` current settings are unchanged.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerNetworkInterface" + } + }, + "network_services": { + "description": "Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkServices contains external services on a network that the load balancer is eligible to interact with.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` current settings are unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Edges.Foundation.NetworkServices" + } + ] + }, + "deployment_target": { + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationDeploymentTargetUpdateSpec contains structures to update the placement of a Foundation Load Balancer.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` current settings are unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationDeploymentTargetUpdateSpec" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.FoundationLoadBalancerUpdateSpec defines parameters for updating a Foundation Load Balancer.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider": { + "type": "string", + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider describes the available edge services.\n\nPossible values:\n - `AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* specifies the Avi Load Balancer. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `HAPROXY`: This constant is deprecated as of __vSphere API 9.0.0.0__. Use *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.VSPHERE_FOUNDATION* or *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.AVI* instead.\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.HAPROXY* is an HAProxy load balancer fronted by the Data Plane API. This edge provider is supported on Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.\n - `NSX_LB`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_LB* specifies the NSX Load Balancer configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `NSX_REGISTERED_AVI`: *Vcenter.NamespaceManagement.Supervisors.Networks.Edges.EdgeProvider.NSX_REGISTERED_AVI* specifies the NSX Advanced Load Balancer (Avi Load Balancer) configured on the NSX manager, specific to Supervisors configured with network type *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC* or *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `VSPHERE_FOUNDATION`\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "AVI", + "HAPROXY", + "NSX_LB", + "NSX_REGISTERED_AVI", + "VSPHERE_FOUNDATION" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBackingEnum": { + "type": "string", + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBackingEnum enumerates types of network backings supported by the Supervisor for the management network.\n\nPossible values:\n - `NETWORK`: This constant is deprecated as of __vSphere API 8.0.3.0__. Use *Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBackingEnum.NETWORK_SEGMENT* instead.\n\nIndicates a virtual infrastructure management Network. It may include items like opaque networks or Distributed Virtual Port Groups.\n - `NETWORK_SEGMENT`: Indicates a virtual infrastructure management Network Segment. The Network Segment can be backed by either a single Port Group or a set of Port Groups in the same layer 2 broadcast domain. From this set of one or more Port Groups, at least one Port Group must be available on each vSphere Zone and its associated vSphere clusters that Supervisor control plane is configured to be enabled on.\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "NETWORK", + "NETWORK_SEGMENT" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxySettingsSource": { + "type": "string", + "description": "\n\nThe settings can be inherited from the vCenter settings, so the Supervisor settings will be synced. The settings can be applied directly on the Supervisor level, or the Supervisor can be configured not to use a proxy.\n\nPossible values:\n - `VC_INHERITED`: \n\nProxy settings will be inherited from the vCenter settings. vCenter and Supervisor settings will be kept in sync.\n - `CLUSTER_CONFIGURED`: Proxy settings will be configured at the Supervisor level.\n - `NONE`: No proxy settings will be applied to the Supervisor.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "VC_INHERITED", + "CLUSTER_CONFIGURED", + "NONE" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network": { + "required": [ + "backing" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network.network* is a unique identifier for this network which can be referenced later for updates or queries.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, an ID will be generated.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "backing": { + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network.backing* specifies the network backing to use as the uplink to the management network.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBacking" + } + ] + }, + "services": { + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network.services* specifies which network services are configured on this network. These network services are expected to be accessible via the associated distributed virtual port group or distributed virtual switch.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, network services may be automatically configured. If you want to disable any configuration of network services, explicitly set this schema to empty.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Services" + } + ] + }, + "ip_management": { + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network.ip_management* describes how IP addressing is configured on this network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, this network becomes a DHCP network. Your DHCP server must support client identifiers to successfully enable a Supervisor.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPManagement" + } + ] + }, + "floating_ip_address": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network.floating_IP_address* is an IP address that provides a stable endpoint to the control plane. This address if specified must be an unused statically allocated IP address on the management network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` and the management network is a static network, this address should be allocated in a static IP configuration which occurs when *Vcenter.NamespaceManagement.Networks.IPManagement.dhcp_enabled* is set to false. \n\nIf missing or `null` and the management network is a DHCP network, the Supervisor will attempt to use the DHCP server to allocate this address. You should ensure the DHCP server is configured to persist IP addresses indefinitely using client identifiers if this configuration is used." + }, + "proxy": { + "description": "Proxy configuration will be applied to the Supervisor. The *Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network.proxy* should be reachable from the management network and will be used for image pulling and container traffic exiting out of the Supervisor.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` the settings will be inherited from the vCenter settings if available.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxyConfiguration" + } + ] + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Management.Network schema represents configuration for a network used to manage the Supervisor control plane. vCenter and, if used, NSX Manager and/or external Load Balancers, etc. should be reachable on this network.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBacking": { + "required": [ + "backing" + ], + "type": "object", + "properties": { + "backing": { + "type": "string", + "description": "Selects the backing used for a management network.\n\nPossible values:\n - `NETWORK`: This constant is deprecated as of __vSphere API 8.0.3.0__. Use *Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBackingEnum.NETWORK_SEGMENT* instead.\n\nIndicates a virtual infrastructure management Network. It may include items like opaque networks or Distributed Virtual Port Groups.\n - `NETWORK_SEGMENT`: Indicates a virtual infrastructure management Network Segment. The Network Segment can be backed by either a single Port Group or a set of Port Groups in the same layer 2 broadcast domain. From this set of one or more Port Groups, at least one Port Group must be available on each vSphere Zone and its associated vSphere clusters that Supervisor control plane is configured to be enabled on.\n\nThis constant was added in __vSphere API 8.0.3.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBackingEnum*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "network": { + "type": "string", + "description": "The Managed Object ID of the Network object.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of backing is *Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBackingEnum.NETWORK*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "network_segment": { + "description": "The Backing Network Segment.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property is optional and it is only relevant when the value of backing is *Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBackingEnum.NETWORK_SEGMENT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.NetworkSegment" + } + ] + } + }, + "description": "A Vcenter.NamespaceManagement.Supervisors.Networks.Management.NetworkBacking enumerates the possible options for uplinking to a Supervisor management network.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxyConfiguration": { + "required": [ + "proxy_settings_source" + ], + "type": "object", + "properties": { + "proxy_settings_source": { + "type": "string", + "description": "\n\nThe source of the proxy settings. \n\nIf *Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxySettingsSource.VC_INHERITED* or *Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxySettingsSource.NONE* is specified, then the other configuration in Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxyConfiguration will be ignored.\n\nPossible values:\n - `VC_INHERITED`: \n\nProxy settings will be inherited from the vCenter settings. vCenter and Supervisor settings will be kept in sync.\n - `CLUSTER_CONFIGURED`: Proxy settings will be configured at the Supervisor level.\n - `NONE`: No proxy settings will be applied to the Supervisor.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxySettingsSource*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "https_proxy_config": { + "type": "string", + "description": "\n\nHTTPS proxy configuration. Examples: \n - http://username:password@proxy.vmware.com:8080\n - https://proxy.vmware.com:4443\n \n\nThis will be used if *Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxySettingsSource.CLUSTER_CONFIGURED* is used for the source, otherwise this will be ignored.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` no HTTPS proxy will be used." + }, + "http_proxy_config": { + "type": "string", + "description": "\n\nHTTP proxy configuration. Examples: \n - http://username:password@proxy.vmware.com:8080\n - https://proxy.vmware.com:4443\n \n\nThis will be used if *Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxySettingsSource.CLUSTER_CONFIGURED* is used for the source, otherwise this will be ignored.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` no HTTP proxy will be used." + }, + "no_proxy_config": { + "type": "array", + "description": "\n\nList of addresses that should be accessed directly. \n\nThis will be used if *Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxySettingsSource.CLUSTER_CONFIGURED* is used for the source, otherwise this will be ignored.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` there won't be any excluded addresses.", + "items": { + "type": "string" + } + }, + "tls_root_ca_bundle": { + "type": "string", + "description": "\n\nProxy TLS root CA bundle which will be used to verify the proxy's certificates. Every certificate in the bundle is expected to be in PEM format. \n\nThis will be used if *Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxySettingsSource.CLUSTER_CONFIGURED* is used for the source, otherwise this will be ignored.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null` only the vCenter certificates applied in VECS (VMware Endpoint Certificate Store) will be used." + } + }, + "description": "\n\nThe Vcenter.NamespaceManagement.Supervisors.Networks.Management.ProxyConfiguration schema defines proxy configuration to be used by the Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType": { + "type": "string", + "description": "\n\nVcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType enumerates types of networks supported by the Supervisor for workloads.\n\nPossible values:\n - `NSXT`: \n\nIndicates an NSX backed network.\n - `VSPHERE`: \n\nIndicates vSphere Networking.\n - `NSX_VPC`: \n\nIndicates an NSX VPC backed network.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "NSXT", + "VSPHERE", + "NSX_VPC" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network": { + "required": [ + "network_type" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.network* is a unique identifier for this network which can be referenced later for updates or queries.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, an ID will be generated.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "network_type": { + "type": "string", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.network_type* describes the type of network.\n\nPossible values:\n - `NSXT`: \n\nIndicates an NSX backed network.\n - `VSPHERE`: \n\nIndicates vSphere Networking.\n - `NSX_VPC`: \n\nIndicates an NSX VPC backed network.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "nsx": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.nsx* specifies network configuration that is specific to NSX-T networks.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of network_type is *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSXT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NsxNetwork" + } + ] + }, + "vsphere": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.vsphere* specifies network configuration that is specific to vSphere networks.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of network_type is *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.VSPHERE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VSphereNetwork" + } + ] + }, + "nsx_vpc": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.nsx_vpc* specifies network configuration that is specific to NSX VPC networks.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_type is *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NetworkType.NSX_VPC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork" + } + ] + }, + "services": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.services* specifies which network services are configured on this network. These network services are expected to be accessible via the associated distributed virtual port group or distributed virtual switch.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, network services may be automatically configured. If you want to disable any configuration of network services, explicitly set this schema to empty.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Services" + } + ] + }, + "ip_management": { + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.ip_management* describes how IP addressing is configured on this network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, this network becomes a DHCP network. Your DHCP server must support client identifiers to successfully enable a Supervisor.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.IPManagement" + } + ] + } + }, + "description": "\n\nVcenter.NamespaceManagement.Supervisors.Networks.Workload.Network schema represents configuration for a network running workloads on a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NsxNetwork": { + "required": [ + "dvs" + ], + "type": "object", + "properties": { + "dvs": { + "type": "string", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NsxNetwork.dvs* is the Managed Object ID of a vSphere Distributed Virtual Switch. You can use it to connect to an NSX Network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `vSphereDistributedSwitch`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `vSphereDistributedSwitch`." + }, + "namespace_subnet_prefix": { + "type": "integer", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.NsxNetwork.namespace_subnet_prefix* indicates the size of the subnet reserved for namespace segments.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nDefaults to /28.", + "format": "int64" + } + }, + "description": "\n\nVcenter.NamespaceManagement.Supervisors.Networks.Workload.NsxNetwork specifies network backing configuration that is specific to the workload network.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VSphereNetwork": { + "required": [ + "dvpg" + ], + "type": "object", + "properties": { + "dvpg": { + "type": "string", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VSphereNetwork.dvpg* is the Managed Object ID of a vSphere Distributed Virtual Port Group. You can use it to connect to a vSphere Network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `vSphereDistributedPortGroup`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `vSphereDistributedPortGroup`." + } + }, + "description": "\n\nVcenter.NamespaceManagement.Supervisors.Networks.Workload.VSphereNetwork specifies workload network configuration that is specific to vSphere networks.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork": { + "required": [ + "default_private_cidrs" + ], + "type": "object", + "properties": { + "nsx_project": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.nsx_project* is the default Project for VPCs in the Supervisor, including the System VPC, and Supervisor Services VPC. It needs to be NSX path of Project. \n\n*GET /vcenter/namespace-management/networks/nsx/projects* can be used to list projects.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, use the default Project on NSX." + }, + "vpc_connectivity_profile": { + "type": "string", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile* describes the configuration for how a VPC is constructed, including it's Transit Gateway Attachments, IP blocks, and other settings on NSX. It needs to be NSX path of VPC Connectivity Profile. \n\n*GET /vcenter/namespace-management/networks/nsx/projects/{project}/vpc-connectivity-profiles* can be used to list VPCConnectivityProfiles for a Project.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, use the default VPC Connectivity Profile as defined in *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.nsx_project*." + }, + "default_private_cidrs": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.default_private_cidrs* specifies CIDR blocks from which private subnets are allocated. This range must not overlap with those in *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile*, *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, or other services running in the datacenter. You must set at least one CIDR of size 16 or larger to enable a Supervisor with VPC networking. If Avi is used, another CIDR of size 64 is needed.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Networks.Ipv4Cidr" + } + } + }, + "description": "Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork specifies network backing configuration that is specific to the workload network. It is used for configuring the Supervisor default settings.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.FilterSpec": { + "type": "object", + "properties": { + "archive": { + "type": "string", + "description": "Matches Backup archives with *Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.Info.archive* equal to the specified value.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` this filter is not applied.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.backup.Archive`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.backup.Archive`." + }, + "usable": { + "type": "boolean", + "description": "Matches Backup archives with *Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.Info.usable* equal to the specified value.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` this filter is not applied." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.FilterSpec schema contains properties used to filter the result when listing Backup archives (see *GET /vcenter/namespace-management/supervisors/recovery/backup/archives*).\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.Info": { + "required": [ + "archive", + "comment", + "location", + "namespaces", + "supervisor", + "supervisor_version", + "timestamp", + "unusable_reasons", + "usable" + ], + "type": "object", + "properties": { + "archive": { + "type": "string", + "description": "Backup archive identifier.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.backup.Archive`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.backup.Archive`." + }, + "supervisor": { + "type": "string", + "description": "Identifier of the Supervisor captured in the backup.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "location": { + "type": "string", + "description": "Absolute path to Backup archive on vCenter Server Appliance file system.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "timestamp": { + "type": "string", + "description": "Time when the Supervisor backup operation was completed.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "format": "date-time" + }, + "supervisor_version": { + "type": "string", + "description": "Version of the Supervisor captured in the backup. This is a semantic version string in the form v1.26.1+vmware.2-vsc0.1.1-20805373, where the prefix is the Kubernetes version (v1.26.1) and the suffix is the Supervisor build version (vsc0.1.1-20805373).\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "namespaces": { + "type": "array", + "description": "A list of Supervisor Namespaces captured in the backup.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespaces.Instance`.", + "items": { + "type": "string" + } + }, + "comment": { + "type": "string", + "description": "Comment provided when invoking *POST /vcenter/namespace-management/supervisors/{supervisor}/recovery/backup/jobs* operation.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "usable": { + "type": "boolean", + "description": "Backup archive usability for *POST /vcenter/namespace-management/supervisors/{supervisor}/recovery/restore/jobs/{archive}* operation. It is set to `false` in following cases: \n - The supervisor is not found.\n - Backup was taken on a newer vCenter Server. i.e. Supervisor build version component of the supervisor_version value is more recent than Supervisor build version component of supervisor *Vcenter.NamespaceManagement.Software.Clusters.Info.current_version* and all of the *Vcenter.NamespaceManagement.Software.Clusters.Info.available_versions*.\n - Kubernetes version component of the supervisor_version value is not a supported on the current vCenter Server version. Refer \"VMware vSphere with Tanzu\" Release notes for Kubernetes versions supported on a vCenter Server version.\n - Invalid format.\n If `false`, the list of reasons that make it unusable will be given in the unusable_reasons field.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "unusable_reasons": { + "type": "array", + "description": "Reasons that make Backup archive unusable. Will be empty if usable value is `true`.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Archives.Info contains information about a Supervisor Backup archive.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Jobs.CreateSpec": { + "type": "object", + "properties": { + "comment": { + "type": "string", + "description": "Comment to help identify resulting Backup archive.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nIf missing or `null` comment will be empty." + }, + "ignore_health_check_failure": { + "type": "boolean", + "description": "Ignore Supervisor health check failure when taking Supervisor backup. Supervisor is considered unhealthy if either *Vcenter.NamespaceManagement.Supervisors.Summary.Info.config_status* or *Vcenter.NamespaceManagement.Supervisors.Summary.Info.kubernetes_status* value, as returned by *GET /vcenter/namespace-management/supervisors/{supervisor}/summary* operation is set to ERROR.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nif missing or `null` or set to `false`, health check failure of Supervisor will not be ignored and will result in *POST /vcenter/namespace-management/supervisors/{supervisor}/recovery/backup/jobs* operation to report failure." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Recovery.Backup.Jobs.CreateSpec schema contains inputs to be specified for *POST /vcenter/namespace-management/supervisors/{supervisor}/recovery/backup/jobs*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.MaintenanceActionType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.MaintenanceActionType schema contains actions to be taken when an entity enters maintenance mode.\n\nPossible values:\n - `PERMANENT_REMOVAL`: The entity is getting permanently removed. Move applications, rebuild storage on other entities before allowing to proceed.\n - `ENSURE_ACCESSIBILITY`: The entity is going down temporarily for maintenance. Still need to ensure application availability and storage accessibility at least in a degraded level.\n - `NO_ACTION`: Admin override to not delay or stop the entity from entering maintenance mode.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "PERMANENT_REMOVAL", + "ENSURE_ACCESSIBILITY", + "NO_ACTION" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.ResultStatus": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.ResultStatus contains predicted state of the Supervisor after executing the queried operation.\n\nPossible values:\n - `PASSED`: Resource check passed for the queried operation. There is sufficient resource in the Supervisor to perform the queried operation.\n - `DEGRADED`: Resource check passed for the queried operation, but some persistent service instances will run with degraded availability after the operation completes.\n - `FAILED`: Resource check failed for the queried operation. If any entity is suggested to be added by resource check result then there is not enough resource in the Supervisor for the given operation. Extra resource is required to make the given operation succeed.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "PASSED", + "DEGRADED", + "FAILED" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.OperationType": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.OperationType schema contains types of resource check operations that can be performed.\n\nPossible values:\n - `ENTER_MAINTENANCE_MODE`: The resource check for host enter maintenance mode operation.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "ENTER_MAINTENANCE_MODE" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.Result": { + "required": [ + "inaccessible_instances", + "messages", + "rebuild_instances", + "reduced_availability_instances", + "status", + "timestamp" + ], + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "description": "The timestamp when the resource check result was generated.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "date-time" + }, + "status": { + "type": "string", + "description": "The overall status of resource check result.\n\nPossible values:\n - `PASSED`: Resource check passed for the queried operation. There is sufficient resource in the Supervisor to perform the queried operation.\n - `DEGRADED`: Resource check passed for the queried operation, but some persistent service instances will run with degraded availability after the operation completes.\n - `FAILED`: Resource check failed for the queried operation. If any entity is suggested to be added by resource check result then there is not enough resource in the Supervisor for the given operation. Extra resource is required to make the given operation succeed.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.ResultStatus*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "data_to_rebuild": { + "type": "integer", + "description": "Amount of data in bytes that will rebuild asynchronously after queried operation is performed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no data to be rebuilt.", + "format": "int64" + }, + "data_to_sync": { + "type": "integer", + "description": "Amount of data in bytes to sync before queried operation is performed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no data to be resynced.", + "format": "int64" + }, + "inaccessible_instances": { + "type": "array", + "description": "Persistent service instances that are predicted to become inaccessible after queried operation is performed \n\nInstance names are constructed as follows service:namespace:instance where: serviceName of the persistent service namespaceName of the instance namespace instanceInstance name given to the respective service instance while creating it
If missing or `null`, all persistent service instances are expected to be accessible.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "reduced_availability_instances": { + "type": "array", + "description": "Persistent service instances that are predicted to have reduced availability after queried operation is performed. \n\nInstance names are constructed as follows service:namespace:instance where: serviceName of the persistent service namespaceName of the instance namespace instanceInstance name given to the respective service instance while creating it
If missing or `null`, no persistent service instances are expected to have reduced availability.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "rebuild_instances": { + "type": "array", + "description": "Persistent service instances that will lead to rebuild on a different entity, these instances will have reduced availability as long as the data is rebuilt. The data may be rebuilt synchronously or asynchronously depending on the service. \n\nInstance names are constructed as follows service:namespace:instance where: serviceName of the persistent service namespaceName of the instance namespace instanceInstance name given to the respective service instance while creating it
If missing or `null`, no persistent service instances are expected to be rebuilt on a different entity.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "type": "string" + } + }, + "messages": { + "type": "array", + "description": "Populated with warning message that provides information on why the resource check operation results in a failed status If missing or `null`, the operation is expected to succeed.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.Result contains predicted state of the Supervisor based on the parameters defined in Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.GetParams.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.GetParams": { + "required": [ + "operation" + ], + "type": "object", + "properties": { + "operation": { + "type": "string", + "description": "The operation for which resource check is performed.\n\nPossible values:\n - `ENTER_MAINTENANCE_MODE`: The resource check for host enter maintenance mode operation.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.OperationType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "host": { + "type": "string", + "description": "Host for which the resource check operation is performed. For host enter maintenance mode operation, the host managed object ID is required.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of operation is *Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.OperationType.ENTER_MAINTENANCE_MODE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "action": { + "type": "string", + "description": "The action type of maintenance mode operation for which resource check is performed.\n\nPossible values:\n - `PERMANENT_REMOVAL`: The entity is getting permanently removed. Move applications, rebuild storage on other entities before allowing to proceed.\n - `ENSURE_ACCESSIBILITY`: The entity is going down temporarily for maintenance. Still need to ensure application availability and storage accessibility at least in a degraded level.\n - `NO_ACTION`: Admin override to not delay or stop the entity from entering maintenance mode.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.MaintenanceActionType*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis should be set only for enter maintenance mode host operation." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.GetParams schema contains the parameters required to get the resource check result.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.CreateSpec": { + "required": [ + "operation" + ], + "type": "object", + "properties": { + "operation": { + "type": "string", + "description": "The operation for which resource check is performed.\n\nPossible values:\n - `ENTER_MAINTENANCE_MODE`: The resource check for host enter maintenance mode operation.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.OperationType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "host": { + "type": "string", + "description": "Host for which the resource check operation is performed. For host enter maintenance mode operation, the host managed object ID is required.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of operation is *Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.OperationType.ENTER_MAINTENANCE_MODE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "action": { + "type": "string", + "description": "The action type of maintenance mode operation for which resource check is performed.\n\nPossible values:\n - `PERMANENT_REMOVAL`: The entity is getting permanently removed. Move applications, rebuild storage on other entities before allowing to proceed.\n - `ENSURE_ACCESSIBILITY`: The entity is going down temporarily for maintenance. Still need to ensure application availability and storage accessibility at least in a degraded level.\n - `NO_ACTION`: Admin override to not delay or stop the entity from entering maintenance mode.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.MaintenanceActionType*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis should be set only for enter maintenance mode host operation." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.CreateSpec schema contains the specification required to perform the resource check.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.Info": { + "required": [ + "query_params", + "result" + ], + "type": "object", + "properties": { + "query_params": { + "description": "The resource check query parameters used for generating this report.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.GetParams" + } + ] + }, + "result": { + "description": "The resource check result for the queried operation.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.Result" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Storage.CloudNative.ResourceChecks.Info contains predicted state of the Supervisor after executing the queried operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Status": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Status enumerated type indicates the trust status of a Supervisor Service version.\n\nPossible values:\n - `TRUSTED`: Service manifest is valid and the signature is trusted: \n 1. The service manifest is valid.\n 2. The image has not been altered since signing.\n 3. The image was published by Broadcom or a trusted third-party.\n \n - `UNAVAILABLE`: Trust status is unavailable, for example if the system cannot access the image registry.\n - `UNSIGNED`: Service is unsigned; no signature is present.\n - `UNTRUSTED`: Service is signed by an untrusted authority.\n - `UNSUPPORTED`: Signature verification is not supported; trust status cannot be determined.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "TRUSTED", + "UNAVAILABLE", + "UNSIGNED", + "UNTRUSTED", + "UNSUPPORTED" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Message": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "The severity level of the message.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Message indicates a warning.\n - `ERROR`: Message indicates an error.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Message.Severity*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "details": { + "description": "Additional details about the message.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no additional details are provided.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Message schema contains information related to Supervisor Service signature validation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Message.Severity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Message.Severity enumerated type represents the severity level of the message.\n\nPossible values:\n - `INFO`: Informational message.\n - `WARNING`: Message indicates a warning.\n - `ERROR`: Message indicates an error.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Image": { + "required": [ + "digest", + "last_verified_at", + "status", + "url" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "A reference to an OCI image, including the registry host, repository (URL path) and image name.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "digest": { + "type": "string", + "description": "SHA-256 hash of the image content, used to verify its integrity.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "status": { + "type": "string", + "description": "The signature validation status of the image.\n\nPossible values:\n - `TRUSTED`: Signature is trusted: \n 1. The image has not been altered since signing.\n 2. The image was published by Broadcom or a trusted third-party.\n \n - `UNAVAILABLE`: Signature is unavailable, for example when the system cannot access the image registry.\n - `UNSIGNED`: No signature is present for the image.\n - `UNTRUSTED`: The signature is present but is not trusted.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Image.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "certificate_chain": { + "type": "array", + "description": "The certificate chain used to verify the signature of the OCI image. The chain is returned in PEM format, starting with the leaf certificate.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the image is either unsigned or the signature could not be retrieved.", + "items": { + "type": "string" + } + }, + "last_verified_at": { + "type": "string", + "description": "Timestamp of the most recent signature verification attempt for the image.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "date-time" + } + }, + "description": "This Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Image schema contains metadata of an OCI image, including its signature details.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Image.Status": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Image.Status enumerated type indicates the signature validation status.\n\nPossible values:\n - `TRUSTED`: Signature is trusted: \n 1. The image has not been altered since signing.\n 2. The image was published by Broadcom or a trusted third-party.\n \n - `UNAVAILABLE`: Signature is unavailable, for example when the system cannot access the image registry.\n - `UNSIGNED`: No signature is present for the image.\n - `UNTRUSTED`: The signature is present but is not trusted.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "TRUSTED", + "UNAVAILABLE", + "UNSIGNED", + "UNTRUSTED" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Info": { + "required": [ + "images", + "last_verified_at", + "messages", + "status", + "supervisor_name" + ], + "type": "object", + "properties": { + "supervisor_name": { + "type": "string", + "description": "The name of the Supervisor managing the Service version.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "status": { + "type": "string", + "description": "The overall trust status of the service version. This aggregates the status of all image package bundles referenced by the service version.\n\nPossible values:\n - `TRUSTED`: Service manifest is valid and the signature is trusted: \n 1. The service manifest is valid.\n 2. The image has not been altered since signing.\n 3. The image was published by Broadcom or a trusted third-party.\n \n - `UNAVAILABLE`: Trust status is unavailable, for example if the system cannot access the image registry.\n - `UNSIGNED`: Service is unsigned; no signature is present.\n - `UNTRUSTED`: Service is signed by an untrusted authority.\n - `UNSUPPORTED`: Signature verification is not supported; trust status cannot be determined.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "images": { + "type": "array", + "description": "A list of container image artifacts and their corresponding signature verification results associated with the service version.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Image" + } + }, + "last_verified_at": { + "type": "string", + "description": "Timestamp of the most recent verification attempt.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "date-time" + }, + "messages": { + "type": "array", + "description": "A set of messages that provide additional details regarding the signature verification result. Returns an empty list if no messages are available or the Supervisor Service version is signed and trusted.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Message" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Info schema provides signature verification details for a Supervisor Service version.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Summary": { + "required": [ + "images", + "service", + "status", + "supervisor", + "supervisor_name", + "version" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "The identifier of the Supervisor Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "version": { + "type": "string", + "description": "The version of the Supervisor Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + }, + "supervisor": { + "type": "string", + "description": "The identifier of the Supervisor managing the Service version.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "supervisor_name": { + "type": "string", + "description": "The name of the Supervisor managing the Service version.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "status": { + "type": "string", + "description": "The overall trust status of the service version. This aggregates the status of all image package bundles referenced by the service version.\n\nPossible values:\n - `TRUSTED`: Service manifest is valid and the signature is trusted: \n 1. The service manifest is valid.\n 2. The image has not been altered since signing.\n 3. The image was published by Broadcom or a trusted third-party.\n \n - `UNAVAILABLE`: Trust status is unavailable, for example if the system cannot access the image registry.\n - `UNSIGNED`: Service is unsigned; no signature is present.\n - `UNTRUSTED`: Service is signed by an untrusted authority.\n - `UNSUPPORTED`: Signature verification is not supported; trust status cannot be determined.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Status*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "images": { + "type": "array", + "description": "A list of container image artifacts and their corresponding signature verification results associated with the service version.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Image" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Summary schema provides signature verification summary for a Supervisor Service version.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.ListResult": { + "required": [ + "signatures" + ], + "type": "object", + "properties": { + "signatures": { + "type": "array", + "description": "A list of signature details for the service version, one entry per Supervisor. Each entry aggregates the status of all image package bundles referenced by the service version on that Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.Summary" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.ListResult contains signature verification details of a Supervisor Service across multiple Supervisors.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.FilterSpec": { + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "Identifier of the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no filtering will be performed by Supervisor.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "service": { + "type": "string", + "description": "Identifier for the Supervisor Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no filtering will be performed by Supervisor Service.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`." + }, + "version": { + "type": "string", + "description": "Identifier for the Supervisor Service version.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no filtering will be performed by Supervisor Service version.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor_services.Version`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.SupervisorServices.Signatures.FilterSpec schema contains properties used to filter the results when listing Signatures (see *GET /vcenter/namespace-management/supervisors/supervisor-services/signatures*).\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.UpdateSpec": { + "type": "object", + "properties": { + "certificate_dns_names_to_add_list": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.UpdateSpec.certificate_dns_names_to_add_list* lists additional DNS names to associate with the Kubernetes API Server. \n\nThese DNS names are embedded in the TLS certificate presented by the API Server as subject alternative names, which can be used in conjunction with your DNS Server to securely connect a client to the Server.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no DNS names will be added to the TLS certificate.", + "items": { + "type": "string" + } + }, + "certificate_dns_names_to_remove_list": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.UpdateSpec.certificate_dns_names_to_remove_list* lists DNS names to dis-associate from the Kubernetes API Server. \n\nThese DNS names are embedded in the TLS certificate presented by the API Server as subject alternative names, which can be used in conjunction with your DNS Server to securely connect a client to the Server.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no certificate DNS names will be removed from the TLS certificate.", + "items": { + "type": "string" + } + }, + "namespace_api_fairness_enabled": { + "type": "boolean", + "description": "Update control plane VM Kubernetes API fairness for the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the control plane VM Kubernetes API fairness is unchanged." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.UpdateSpec schema contains updates to settings declared for the Kubernetes API Server.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.Info": { + "required": [ + "certificate_dns_names", + "namespace_api_fairness_enabled" + ], + "type": "object", + "properties": { + "certificate_dns_names": { + "type": "array", + "description": "\n\n*Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.Info.certificate_dns_names* lists additional DNS names to associate with the Kubernetes API Server. \n\nThese DNS names are embedded in the TLS certificate presented by the API Server as subject alternative names, which can be used in conjunction with your DNS Server to securely connect a client to the Server.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no DNS names are embedded in the TLS certificate.", + "items": { + "type": "string" + } + }, + "namespace_api_fairness_enabled": { + "type": "boolean", + "description": "Information about whether control plane VM Kubernetes API fairness is enabled for the given Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.KubeApiServerSettings.Info schema contains information about the declared settings of the Kubernetes API Server.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ResourceNamingStrategyEnum": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ResourceNamingStrategyEnum enumerated type represents the strategy to generate resource names for Virtual Machines and Kubernetes nodes created from Content Library items.\n\nPossible values:\n - `FROM_ITEM_ID`: The naming strategy to generate the Kubernetes resource name based on the source identifier of the corresponding Content Library item if the Content Library is a subscribed Content Library, otherwise still based on the corresponding Content Library item identifier. With this naming strategy, the Kubernetes resources for images from different subscribed Content Libraries subscribing to the same published Content Library can have the same names across Supervisors with such subscribed Content Library associated.\n - `PREFER_ITEM_SOURCE_ID`: Use this strategy if you have multiple Content Libraries that are subscribing to the same published Content Library, and want to consume the same resource names in the Supervisor for VM images originated from that published Content Library, regardless which Content Library is associated with the Supervisor.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "FROM_ITEM_ID", + "PREFER_ITEM_SOURCE_ID" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ImageRegistry": { + "required": [ + "hostname" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "IP address or the hostname of container image registry.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "port": { + "type": "integer", + "description": "Port number of the container image registry.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to 443.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ImageRegistry schema contains the specification required to configure container image registry endpoint.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ContentLibrarySpec": { + "required": [ + "content_library" + ], + "type": "object", + "properties": { + "content_library": { + "type": "string", + "description": "Identifier of the Content Library.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "supervisor_services": { + "type": "array", + "description": "Identifiers of Supervisor Services that will have access to the Content Library.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, all Supervisor Services will have access to the Content Library.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.SupervisorService`.", + "items": { + "type": "string" + } + }, + "resource_naming_strategy": { + "type": "string", + "description": "The *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ContentLibrarySpec.resource_naming_strategy* determines how Virtual Machine and Kubernetes node resources are named when created from Content Library items.\n\nPossible values:\n - `FROM_ITEM_ID`: The naming strategy to generate the Kubernetes resource name based on the source identifier of the corresponding Content Library item if the Content Library is a subscribed Content Library, otherwise still based on the corresponding Content Library item identifier. With this naming strategy, the Kubernetes resources for images from different subscribed Content Libraries subscribing to the same published Content Library can have the same names across Supervisors with such subscribed Content Library associated.\n - `PREFER_ITEM_SOURCE_ID`: Use this strategy if you have multiple Content Libraries that are subscribing to the same published Content Library, and want to consume the same resource names in the Supervisor for VM images originated from that published Content Library, regardless which Content Library is associated with the Supervisor.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ResourceNamingStrategyEnum*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to ResourceNamingStrategyEnum#FROM_ITEM_NAME." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ContentLibrarySpec schema contains the specification required to associate a Content Library with the Supervisor workload components.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec": { + "type": "object", + "properties": { + "registry": { + "description": "The *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec.registry* specifies the default container image registry to use for vSphere Pods when an image is not fully qualified. For example, if this is set to `'my-registry.com'` and a Pod uses the image `'nginx:latest'`, the system will attempt to pull `'my-registry.com/nginx:latest'`. This field is ignored for fully qualified images like `'random.registry/nginx:latest'`.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no registry changes will be made to the Supervisor workload components.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ImageRegistry" + } + ] + }, + "repository": { + "type": "string", + "description": "The *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec.repository* specifies the default repository (often a project or namespace) within the registry to use for unqualified vSphere Pod images. For example, if the *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec.registry* is set to `'docker.io'` and this field is set to `'library'`, a Pod using the image `'nginx:latest'` will pull from `'docker.io/library/nginx:latest'`. This field is ignored for fully qualified images.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no repository changes will be made to the Supervisor workload components." + }, + "content_libraries": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec.content_libraries* is a list of Content Libraries that will be associated with a Supervisor's workload components. This list refers to existing Content Libraries in the vSphere inventory. These Content Libraries and the Content Library items belonging to them will be read-only across all vSphere Namespaces, and will be used as images for Virtual Machines and Kubernetes nodes.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no changes will be made to the content libraries that are associated with the Supervisor workload components.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ContentLibrarySpec" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.UpdateSpec schema contains the specifications for updating how images for Virtual Machines, Kubernetes nodes, and vSphere Pods are synced on a Supervisor's workload components.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info": { + "type": "object", + "properties": { + "registry": { + "description": "The *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info.registry* schema contains the specification required to configure a vSphere Pods image registry endpoint.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to Docker Hub (`docker.io`).", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ImageRegistry" + } + ] + }, + "repository": { + "type": "string", + "description": "The *Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info.repository* specifies the default vSphere Pods image repository to use when a vSphere Pod specification does not specify it. For example, `hub.docker.com` is the image repository for a vSphere Pod whose image specification is `hub.docker.com/nginx`.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to `'library'` when Docker Hub is the registry, and is empty otherwise." + }, + "content_libraries": { + "type": "array", + "description": "*Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info.content_libraries* is a list of Content Libraries that are associated with the Supervisor's workload components. This list refers to existing Content Libraries in the vSphere inventory. These Content Libraries and the Content Library items belonging to them will be read-only across all vSphere Namespaces, and will be used as images for Virtual Machines and Kubernetes nodes.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no content libraries are associated with the Supervisor workload components.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.ContentLibrarySpec" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Images.Settings.Info schema provides information about the current images configuration for Virtual Machines, Kubernetes nodes, and vSphere Pods on a Supervisor's workload components.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings.UpdateSpec": { + "type": "object", + "properties": { + "client_ip_preservation_enabled": { + "type": "boolean", + "description": "Enable client IP preservation for requests to the Supervisor. When set to true, the original client IP address for requests to the Supervisor will be preserved in Kubernetes API Server audit logs and Supervisor Authenticating Proxy logs for auditing purposes.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no change will be made to the Supervisor." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings.UpdateSpec schema contains updates to workload network settings.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings.Info": { + "type": "object", + "properties": { + "client_ip_preservation_enabled": { + "type": "boolean", + "description": "Information about whether client IP preservation is enabled for requests to the Supervisor. When set to true, the original client IP address for requests to the Supervisor will be preserved in Kubernetes API Server audit logs and Supervisor Authenticating Proxy logs for auditing purposes.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Networks.Settings.Info schema contains information about workload network settings.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.UpdateSpec": { + "type": "object", + "properties": { + "ephemeral_storage_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with ephemeral disks of all the vSphere Pods in the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, storage policy associated with ephemeral disks of all the Kubernetes Pods will not be modified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "image_storage_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with vSphere Pod container images.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the image storage policy associated with the Supervisor will not be modified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.UpdateSpec schema contains the specification required to update workload storage policies for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.Info": { + "required": [ + "ephemeral_storage_policy", + "image_storage_policy" + ], + "type": "object", + "properties": { + "ephemeral_storage_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with ephemeral disks of all the Kubernetes Pods in the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "image_storage_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with vSphere Pod container images.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.Policies.Info schema contains information about storage policies for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes.UpdateSpec": { + "type": "object", + "properties": { + "file_volumes_enabled": { + "type": "boolean", + "description": "Indicates whether Cloud Native File Volume is enabled on the Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no change will be performed to accommodate future properties that may be selectively specified in this spec." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes.UpdateSpec schema contains the specification required to activate the FileVolumes support for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes.Info": { + "required": [ + "file_volumes_enabled" + ], + "type": "object", + "properties": { + "file_volumes_enabled": { + "type": "boolean", + "description": "A boolean indicating whether Cloud Native File Volume is enabled on the Supervisor. This feature provides support for provisioning ReadWriteMany persistent volumes on this Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, defaults to False." + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Workloads.Storage.CloudNative.FileVolumes.Info schema contains information about file volumes for the given Supervisor.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Type": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Type enumerated type represents the type of the vSphere Zone.\n\nPossible values:\n - `MANAGEMENT`: The vSphere Zone is a zone which contains control plane components and workloads.\n - `WORKLOAD`: The vSphere Zone is a zone which only contains workloads.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "MANAGEMENT", + "WORKLOAD" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ConfigStatus": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ConfigStatus enumerated type describes the status of configuration for the vSphere Zone binding. When status is different than READY, desired configuration for vSphere Zone has not been realized.\n\nPossible values:\n - `CONFIGURING`: New configuration has been detected and is being applied to the vSphere Zone.\n - `REMOVING`: The vSphere Zone is being removed.\n - `READY`: The vSphere Zone configuration has been applied successfully.\n - `ERROR`: Failed to apply the configuration to the vSphere Zone, user intervention may be needed. See vSphere Zone *Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Info.messages* for more details.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "CONFIGURING", + "REMOVING", + "READY", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Info": { + "required": [ + "marked_for_removal", + "namespaces", + "type", + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "Identifier of the vSphere Zone.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "type": { + "type": "string", + "description": "Type of the vSphere Zone.\n\nPossible values:\n - `MANAGEMENT`: The vSphere Zone is a zone which contains control plane components and workloads.\n - `WORKLOAD`: The vSphere Zone is a zone which only contains workloads.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Type*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "namespaces": { + "type": "array", + "description": "List of vSphere Namespaces names associated with the vSphere Zone.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "marked_for_removal": { + "type": "boolean", + "description": "Indicates if vSphere Zone has been marked for removal.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "status": { + "type": "string", + "description": "Indicates vSphere Zone's configuration status.\n\nPossible values:\n - `CONFIGURING`: New configuration has been detected and is being applied to the vSphere Zone.\n - `REMOVING`: The vSphere Zone is being removed.\n - `READY`: The vSphere Zone configuration has been applied successfully.\n - `ERROR`: Failed to apply the configuration to the vSphere Zone, user intervention may be needed. See vSphere Zone *Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Info.messages* for more details.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ConfigStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "messages": { + "type": "array", + "description": "List of messages populated when the vSphere Zone configuration was not successfully applied.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Conditions.Message" + } + }, + "resource_allocation": { + "description": "Desired resource allocations for the vSphere Zone.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ResourceAllocationInfo" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Info schema contains the information for a vSphere Zone related to a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ListResult": { + "required": [ + "zones" + ], + "type": "object", + "properties": { + "zones": { + "type": "array", + "description": "List of vSphere Zones associated with the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Info" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ListResult schema contains the list of vSphere Zones associated with the Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassAllocationSpec": { + "required": [ + "count", + "reserved_vm_class" + ], + "type": "object", + "properties": { + "reserved_vm_class": { + "type": "string", + "description": "Identifier of the Virtual Machine class used for allocation.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "count": { + "type": "integer", + "description": "Number of instances of given Virtual Machine class.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassAllocationSpec schema describes the definition of an allocation for Virtual Machines of a given class.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassAllocationInfo": { + "required": [ + "count", + "reserved_vm_class" + ], + "type": "object", + "properties": { + "cluster_allocation": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassCapacityInfo" + }, + "description": "A list of vSphere Cluster identifiers in a vSphere Zone and capacities of the Virtual Machine class in each vSphere Cluster\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf unset the Virtual Machine Class is not allocated to a vSphere Cluster in a vSphere Zone.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `ClusterComputeResource`." + }, + "reserved_vm_class": { + "type": "string", + "description": "Identifier of the Virtual Machine class used for allocation.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "count": { + "type": "integer", + "description": "Number of instances of given Virtual Machine class.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassAllocationInfo schema contains information describing desired allocation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassCapacityInfo": { + "required": [ + "reserved", + "used" + ], + "type": "object", + "properties": { + "reserved": { + "type": "integer", + "description": "Total number of instances of this Virtual Machine class reserved for a vSphere Cluster.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "used": { + "type": "integer", + "description": "Total number of instances of this Virtual Machine class currently used by the workloads in the vSphere Cluster.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassCapacityInfo schema specifies the Virtual Machine class capacity information in a vSphere Cluster.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ResourceAllocationSpec": { + "type": "object", + "properties": { + "vm_reservations": { + "type": "array", + "description": "Identifier and quantities of Virtual Machine Classes for which instances should be reserved.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf unset vSphere Zone will have no Virtual Machine Class Instances reserved.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassAllocationSpec" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ResourceAllocationSpec schema contains configuration of resources on a vSphere Zone associated with the Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ResourceAllocationInfo": { + "type": "object", + "properties": { + "vm_reservations": { + "type": "array", + "description": "Identifier and quantities of Virtual Machines for which reservations are desired.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf unset vSphere Zone will have no Virtual Machine Class Instances reserved.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.VirtualMachineClassAllocationInfo" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ResourceAllocationInfo schema contains information about resource allocation on a vSphere Zone associated with the Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ZoneSpec": { + "required": [ + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "Identifiers of the vSphere Zone to bind with the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "type": { + "type": "string", + "description": "Type of the vSphere Zone.\n\nPossible values:\n - `MANAGEMENT`: The vSphere Zone is a zone which contains control plane components and workloads.\n - `WORKLOAD`: The vSphere Zone is a zone which only contains workloads.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Type*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the type of the vSphere Zone is default to *Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.Type.WORKLOAD*." + }, + "resource_allocation": { + "description": "Resource allocation to be configured on the vSphere Zone.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no resources will be allocated to the Supervisor in this vSphere Zone.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ResourceAllocationSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ZoneSpec schema contains the input parameters for creating the bindings between the vSphere Zone and a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.UpdateSpec": { + "type": "object", + "properties": { + "resource_allocation": { + "description": "Resource allocation to be configured on the vSphere Zone.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, resource allocation will not be changed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ResourceAllocationSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.UpdateSpec schema contains parameters for updating the configuration of the specified vSphere Zone bound to the given Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.SetSpec": { + "type": "object", + "properties": { + "resource_allocation": { + "description": "Resource allocation to be configured on the vSphere Zone.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no resources will be allocated to the Supervisor in this vSphere Zone.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ResourceAllocationSpec" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.SetSpec schema contains parameters for updating the configuration of the specified vSphere Zone bound to the given Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.CreateSpec": { + "required": [ + "specs" + ], + "type": "object", + "properties": { + "specs": { + "type": "array", + "description": "List of vSphere Zones to bind to the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.ZoneSpec" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Supervisors.Zones.Bindings.CreateSpec schema contains the input parameters for creating the bindings between the vSphere Zones and a Supervisor.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CompatibilityMessage": { + "required": [ + "details", + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `WARNING`: Warning reason regarding compatibility. Warnings are informational and won't prevent a Cluster Compute Resource from being added to a vSphere Zone.\n - `ERROR`: Error reason for a Cluster Compute Resource being incompatible with the vSphere Zone.\n\n\nFor more information see: *Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CompatibilityMessage.MessageSeverity*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "details": { + "description": "Details about the Cluster Compute Resources compatibility with the vSphere Zone.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CompatibilityMessage schema contains information about the Compute Cluster Compute Resource's compatibility with a vSphere Zone.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CompatibilityMessage.MessageSeverity": { + "type": "string", + "description": "The Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CompatibilityMessage.MessageSeverity enumerated type represents the severity of the message.\n\nPossible values:\n - `WARNING`: Warning reason regarding compatibility. Warnings are informational and won't prevent a Cluster Compute Resource from being added to a vSphere Zone.\n - `ERROR`: Error reason for a Cluster Compute Resource being incompatible with the vSphere Zone.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "WARNING", + "ERROR" + ] + }, + "Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CreateResult": { + "required": [ + "results" + ], + "type": "object", + "properties": { + "results": { + "type": "array", + "description": "The result of the compatibility check for each vSphere Cluster Compute Resource.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.ClusterCompatibilityResult" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CreateResult schema contains the result of the compatibility check.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.ClusterCompatibilityResult": { + "required": [ + "cluster", + "compatibility_messages", + "compatible" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "The identifier for the vSphere Cluster Compute Resource.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "compatible": { + "type": "boolean", + "description": "Indicates if the vSphere Cluster Compute Resource is compatible with the vSphere Zone.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "compatibility_messages": { + "type": "array", + "description": "The details about the compatibility of the Cluster Compute Resource.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CompatibilityMessage" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.ClusterCompatibilityResult schema contains the result of the compatibility check.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CreateSpec": { + "required": [ + "clusters" + ], + "type": "object", + "properties": { + "clusters": { + "type": "array", + "description": "The identifiers for the vSphere Cluster Resources to check the compatibility for.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.NamespaceManagement.Zones.ClusterCompatibilities.CreateSpec schema contains the input parameters for creating a compatibility check for a vSphere Cluster Compute Resource to a vSphere Zone\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ResourceQuotaOptionsV1": { + "type": "object", + "properties": { + "memory_limit": { + "type": "integer", + "description": "This is equivalent to 'limits.memory' option which is the maximum memory limit (in mebibytes) across all pods which exist in a non-terminal state in the namespace. This value translates to the memory limit on the ResourcePool in vCenter Server created for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no memory limits are set on the ResourcePool for the namespace.", + "format": "int64" + }, + "memory_limit_default": { + "type": "integer", + "description": "This represents the default memory limit (in mebibytes) for containers in the pod. This translates to default memory limit in a LimitRange object. Refer [ for information about LimitRange.](https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default memory limits are set on containers in the pod.", + "format": "int64" + }, + "memory_request_default": { + "type": "integer", + "description": "This represents the default memory request (in mebibytes) for containers in the pod. This translates to default memory request in a LimitRange object. Refer [ for information about LimitRange.](https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default memory requests are set on containers in the pod.", + "format": "int64" + }, + "cpu_limit": { + "type": "integer", + "description": "This is equivalent to 'limits.cpu' option which is the maximum CPU limit (in MHz) across all pods which exist in a non-terminal state in the namespace. If specified, this limit should be at least 10 MHz. This value translates to the CPU limit on the ResourcePool in vCenter Server created for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no CPU limits are set on the ResourcePool for the namespace.", + "format": "int64" + }, + "cpu_limit_default": { + "type": "integer", + "description": "This represents the default cpu limit (in MHz) for containers in the pod.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default CPU limits are set on containers in the pod. Refer [ for information about LimitRange. If specified, this limit should be at least 10 MHz.](https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)", + "format": "int64" + }, + "cpu_request_default": { + "type": "integer", + "description": "This represents the default CPU request (in MHz) for containers in the pod.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no default CPU requests are set on containers in the pod. Refer [ for information about LimitRange. If specified, this field should be at least 10 MHz.](https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/)", + "format": "int64" + }, + "storage_request_limit": { + "type": "integer", + "description": "This represents 'requests.storage' option which is the maximum storage request (in mebibytes) across all persistent volume claims from pods which exist in a non-terminal state in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no storage request limits are set on the namespace.", + "format": "int64" + }, + "pod_count": { + "type": "integer", + "description": "This represents 'pods' option which is the maximum number of pods which exist in a non-terminal state in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no pod limits are set on the namespace.", + "format": "int64" + }, + "service_count": { + "type": "integer", + "description": "This represents 'count/services' option which is the maximum number of services in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no service limits are set on the namespace.", + "format": "int64" + }, + "deployment_count": { + "type": "integer", + "description": "This represents 'count/deployments.apps' option which is the maximum number of deployments in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no deployment limits are set on the namespace.", + "format": "int64" + }, + "daemon_set_count": { + "type": "integer", + "description": "This represents 'count/daemonsets.apps' option which is the maximum number of DaemonSets in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no daemonset limits are set on the namespace.", + "format": "int64" + }, + "replica_set_count": { + "type": "integer", + "description": "This represents 'count/replicasets.apps' option which is the maximum number of ReplicaSets in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no replicaset limits are set on the namespace.", + "format": "int64" + }, + "replication_controller_count": { + "type": "integer", + "description": "This represents 'count/replicationcontrollers' option which is the maximum number of ReplicationControllers in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no replicationcontroller limits are set on the namespace.", + "format": "int64" + }, + "stateful_set_count": { + "type": "integer", + "description": "This represents 'count/statefulsets.apps' option which is the maximum number of StatefulSets in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no statefulset limits are set on the namespace.", + "format": "int64" + }, + "config_map_count": { + "type": "integer", + "description": "This represents 'count/configmaps' option which is the maximum number of ConfigMaps in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no configmap limits are set on the namespace.", + "format": "int64" + }, + "secret_count": { + "type": "integer", + "description": "This represents 'count/secrets' option which is the maximum number of secrets in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no secret limits are set on the namespace.", + "format": "int64" + }, + "persistent_volume_claim_count": { + "type": "integer", + "description": "This represents 'count/persistentvolumeclaims' option which is the maximum number of PersistentVolumeClaims in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no persistentvolumeclaim limits are set on the namespace.", + "format": "int64" + }, + "job_count": { + "type": "integer", + "description": "This represents 'count/jobs.batch' option which is the maximum number jobs in the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no job limits are set on the namespace.", + "format": "int64" + } + }, + "description": "The Vcenter.Namespaces.ResourceQuotaOptionsV1 schema represents the resource quota limits which can be applied on the namespace. Refer to [](https://kubernetes.io/docs/concepts/policy/resource-quotas) for information related to the properties of this object and what they map to.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.ResourceQuotaOptionsV1Update": { + "type": "object", + "properties": { + "memory_limit": { + "type": "integer", + "description": "This represents the new value for 'limits.memory' option which is equivalent to the maximum memory limit (in mebibytes) across all pods in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing memory limit on the ResourcePool will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "memory_limit_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit*. If this field is set to `true`, the existing memory limit on the ResourcePool is removed. If this field is set to `false`, the existing memory limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing memory limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit*, if any." + }, + "memory_limit_default": { + "type": "integer", + "description": "This represents the new value for the default memory limit (in mebibytes) for containers in the pod. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit_default_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing memory limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit_default_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "memory_limit_default_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit_default*. If this field is set to `true`, the existing default memory limit on containers in the pod is removed. If this field is set to `false`, the existing default memory limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit_default*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing default memory limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit_default*, if any." + }, + "memory_request_default": { + "type": "integer", + "description": "This represents the new value for the default memory request (in mebibytes) for containers in the pod. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_request_default_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing memory request will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_request_default_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "memory_request_default_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_request_default*. If this field is set to `true`, the existing default memory request on containers in the pod will be removed. If this field is set to `false`, the existing default memory request will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_request_default*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing default memory request will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_request_default*, if any." + }, + "cpu_limit": { + "type": "integer", + "description": "This represents the new value for 'limits.cpu' option which is equivalent to the maximum CPU limit (in MHz) across all pods in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit_unset* is set to `true`. If specified, this limit should be at least 10 MHz.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing CPU limit on the ResourcePool will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "cpu_limit_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit*. If this field is set to `true`, the existing CPU limit on the ResourcePool is removed. If this field is set to `false`, the existing CPU limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing CPU limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.memory_limit*, if any." + }, + "cpu_limit_default": { + "type": "integer", + "description": "This represents the new value for the default CPU limit (in Mhz) for containers in the pod. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit_default_unset* is set to `true`. If specified, this limit should be at least 10 MHz.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing default CPU limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit_default_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "cpu_limit_default_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit_default*. If this field is set to `true`, the existing default CPU limit on containers in the pod is removed. If this field is set to `false`, the existing default CPU limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit_default*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing default CPU limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_limit_default*, if any." + }, + "cpu_request_default": { + "type": "integer", + "description": "This represents the new value for the default CPU request (in Mhz) for containers in the pod. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_request_default_unset* is set to `true`. If specified, this field should be at least 10 MHz.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing default CPU request will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_request_default_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "cpu_request_default_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_request_default*. If this field is set to `true`, the existing default CPU request on containers in the pod is removed. If this field is set to `false`, the existing default CPU request will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_request_default*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing default CPU request will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.cpu_request_default*, if any." + }, + "storage_request_limit": { + "type": "integer", + "description": "This represents the new value for 'requests.storage' which is the limit on storage requests (in mebibytes) across all persistent volume claims from pods in the namespace. This field is ignored if if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.storage_request_limit_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing storage request limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.storage_request_limit_unset* is missing or `null` or set to `false`. the namespace.", + "format": "int64" + }, + "storage_request_limit_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.storage_request_limit*. If this field is set to `true`, the existing storage request limit will be reset. If this field is set to `false`, the existing storage request limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.storage_request_limit*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing storage request limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.storage_request_limit*, if any." + }, + "pod_count": { + "type": "integer", + "description": "This represents the new value for 'podCount' option which is the maximum number of pods in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.pod_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'podCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.pod_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "pod_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.pod_count*. If this field is set to `true`, the existing 'podCount' limit on the namespace will be reset. If this field is set to `false`, the existing CPU limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.pod_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'podCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.pod_count*, if any." + }, + "service_count": { + "type": "integer", + "description": "This represents the new value for 'serviceCount' option which is the maximum number of services in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.service_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'serviceCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.service_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "service_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.service_count*. If this field is set to `true`, the existing 'serviceCount' limit on the namespace will be reset. If this field is set to `false`, the existing service count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.service_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'serviceCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.service_count*, if any." + }, + "deployment_count": { + "type": "integer", + "description": "This represents the new value for 'deploymentCount' option which is the maximum number of deployments in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.deployment_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'deploymentCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.deployment_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "deployment_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.deployment_count*. If this field is set to `true`, the existing 'deploymentCount' limit on the namespace will be reset. If this field is set to `false`, the existing deployment count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.deployment_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'deploymentCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.deployment_count*, if any." + }, + "daemon_set_count": { + "type": "integer", + "description": "This represents the new value for 'daemonSetCount' option which is the maximum number of DaemonSets in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.daemon_set_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'daemonSetCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.daemon_set_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "daemon_set_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.daemon_set_count*. If this field is set to `true`, the existing 'daemonSetCount' limit on the namespace will be reset. If this field is set to `false`, the existing daemonset count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.daemon_set_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'daemonSetCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.daemon_set_count*, if any." + }, + "replica_set_count": { + "type": "integer", + "description": "This represents the new value for 'replicaSetCount' option which is the maximum number of ReplicaSets in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replica_set_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'replicaSetCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replica_set_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "replica_set_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replica_set_count*. If this field is set to `true`, the existing 'replicaSetCount' limit on the namespace will be reset. If this field is set to `false`, the existing replicaset count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replica_set_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'replicaSetCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replica_set_count*, if any." + }, + "replication_controller_count": { + "type": "integer", + "description": "This represents the new value for 'replicationControllerCount' option which is the maximum number of ReplicationControllers in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replication_controller_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'replicationControllerCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replication_controller_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "replication_controller_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replication_controller_count*. If this field is set to `true`, the existing 'replicationControllerCount' limit on the namespace will be reset. If this field is set to `false`, the existing replicationcontroller count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replication_controller_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'replicationControllerCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.replication_controller_count*, if any." + }, + "stateful_set_count": { + "type": "integer", + "description": "This represents the new value for 'statefulSetCount' option which is the maximum number of StatefulSets in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.stateful_set_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'statefulSetCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.stateful_set_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "stateful_set_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.stateful_set_count*. If this field is set to `true`, the existing 'statefulSetCount' limit on the namespace will be reset. If this field is set to `false`, the existing statefulset count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.stateful_set_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'statefulSetCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.stateful_set_count*, if any." + }, + "config_map_count": { + "type": "integer", + "description": "This represents the new value for 'configMapCount' option which is the maximum number of ConfigMaps in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.config_map_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'configMapCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.config_map_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "config_map_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.config_map_count*. If this field is set to `true`, the existing 'configMapCount' limit on the namespace will be reset. If this field is set to `false`, the existing configmap count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.config_map_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'configMapCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.config_map_count*, if any." + }, + "secret_count": { + "type": "integer", + "description": "This represents the new value for 'secretCount' option which is the maximum number of secrets in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.secret_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'secretCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.secret_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "secret_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.secret_count*. If this field is set to `true`, the existing 'secretCount' limit on the namespace will be reset. If this field is set to `false`, the existing secret count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.secret_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'secretCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.secret_count*, if any." + }, + "persistent_volume_claim_count": { + "type": "integer", + "description": "This represents the new value for 'persistentVolumeClaimCount' option which is the maximum number of PersistentVolumeClaims in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.persistent_volume_claim_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'persistentVolumeClaimCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.persistent_volume_claim_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "persistent_volume_claim_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.persistent_volume_claim_count*. If this field is set to `true`, the existing 'persistentVolumeClaimCount' limit on the namespace will be reset. If this field is set to `false`, the existing replicationcontroller count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.persistent_volume_claim_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'persistentVolumeClaimCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.persistent_volume_claim_count*, if any." + }, + "job_count": { + "type": "integer", + "description": "This represents the new value for 'jobCount' option which is the maximum number of jobs in the namespace. This field is ignored if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.job_count_unset* is set to `true`.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'jobCount' limit will be unchanged if *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.job_count_unset* is missing or `null` or set to `false`.", + "format": "int64" + }, + "job_count_unset": { + "type": "boolean", + "description": "This represents the intent of the change to *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.job_count*. If this field is set to `true`, the existing 'jobCount' limit on the namespace will be reset. If this field is set to `false`, the existing secret count limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.job_count*, if any.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing 'jobCount' limit will be changed to the value specified in *Vcenter.Namespaces.ResourceQuotaOptionsV1Update.job_count*, if any." + } + }, + "description": "The Vcenter.Namespaces.ResourceQuotaOptionsV1Update schema represents the changes to resource quota limits which are set on the namespace. Refer to [ <\\a> Kubernetes Resource Quota](https://kubernetes.io/docs/concepts/policy/resource-quotas) for information related to the properties of this object and what they map to.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Access.Role": { + "type": "string", + "description": "The Vcenter.Namespaces.Access.Role enumerated type lists the default roles which can be associated with a subject on a domain on the namespace.\n\nPossible values:\n - `OWNER`: This role allows modification and deletion of the namespace.\n\nThis constant was added in __vSphere API 7.0.2.00100__.\n - `EDIT`: This role allows modification of the namespace.\n - `VIEW`: This is a read-only role on the namespace.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "OWNER", + "EDIT", + "VIEW" + ] + }, + "Vcenter.Namespaces.Access.SubjectType": { + "type": "string", + "description": "The Vcenter.Namespaces.Access.SubjectType enumerated type lists the types of subjects who can be associated with a Vcenter.Namespaces.Access.Role on the namespace.\n\nPossible values:\n - `USER`: Single user.\n - `GROUP`: Group of users.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "USER", + "GROUP" + ] + }, + "Vcenter.Namespaces.Access.Info": { + "required": [ + "role" + ], + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "Role of the subject on the namespace.\n\nPossible values:\n - `OWNER`: This role allows modification and deletion of the namespace.\n\nThis constant was added in __vSphere API 7.0.2.00100__.\n - `EDIT`: This role allows modification of the namespace.\n - `VIEW`: This is a read-only role on the namespace.\n\n\nFor more information see: *Vcenter.Namespaces.Access.Role*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "identity_provider": { + "type": "string", + "description": "UUID of an external identity provider for the user, if any. Use this field if the user is coming from an external identity provider configured via the *Vcenter.NamespaceManagement.Supervisors.Identity.Providers* service.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, vCenter Single Sign-On will be used as the identity provider.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`." + }, + "inherited": { + "type": "boolean", + "description": "Flag to indicate if the *Vcenter.Namespaces.Access.Info.role* is direct or inherited. The value is set to `true` if the *Vcenter.Namespaces.Access.Info.role* is inherited from group membership\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vcenter.Namespaces.Access.Info schema contains the information about the access control of the subject on given domain on the namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Access.CreateSpec": { + "required": [ + "role" + ], + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "Role to be assigned.\n\nPossible values:\n - `OWNER`: This role allows modification and deletion of the namespace.\n\nThis constant was added in __vSphere API 7.0.2.00100__.\n - `EDIT`: This role allows modification of the namespace.\n - `VIEW`: This is a read-only role on the namespace.\n\n\nFor more information see: *Vcenter.Namespaces.Access.Role*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "identity_provider": { + "type": "string", + "description": "UUID of an external identity provider for the user, if any. Use this field if the user is coming from an external identity provider configured via the *Vcenter.NamespaceManagement.Supervisors.Identity.Providers* service.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, vCenter Single Sign-On will be used as the identity provider.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`." + } + }, + "description": "The Vcenter.Namespaces.Access.CreateSpec schema contains the specification required to create access control on the namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Access.SetSpec": { + "required": [ + "role" + ], + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "Role to be assigned.\n\nPossible values:\n - `OWNER`: This role allows modification and deletion of the namespace.\n\nThis constant was added in __vSphere API 7.0.2.00100__.\n - `EDIT`: This role allows modification of the namespace.\n - `VIEW`: This is a read-only role on the namespace.\n\n\nFor more information see: *Vcenter.Namespaces.Access.Role*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "identity_provider": { + "type": "string", + "description": "UUID of an external identity provider for the user, if any. Use this field if the user is coming from an external identity provider configured via the *Vcenter.NamespaceManagement.Supervisors.Identity.Providers* service.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, vCenter Single Sign-On will be used as the identity provider.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`." + } + }, + "description": "The Vcenter.Namespaces.Access.SetSpec schema contains the specification required to set new access control on the namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.NamespaceSelfService.Capability": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceSelfService.Capability enumerated type describes the self-service namespace capability of the cluster on which vSphere Namespaces enabled.\n\nPossible values:\n - `UNKNOWN`: The initial value that represents the in-progress activity of determining the cluster's self-service namespace capability.\n - `SUPPORTED`: The value that indicates the cluster supports self-service namespace capability. The expected transition UNKNOWN --> SUPPORTED\n - `NOTSUPPORTED`: The value that indicates the cluster doesn't support the self-service namespace capability. The expected transition UNKNOWN --> NOTSUPPORTED\n\n\nThis enumeration was added in __vSphere API 7.0.2.00100__.", + "enum": [ + "UNKNOWN", + "SUPPORTED", + "NOTSUPPORTED" + ] + }, + "Vcenter.Namespaces.NamespaceSelfService.Status": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 9.1.0.0__.\n\nThe page describes the status of the namespace self-service on the cluster on which vSphere Namespaces enabled.\n\nPossible values:\n - `CONFIGURING`: The configuration is being applied to the service.\n - `RUNNING`: The namespace self service is configured correctly. The expected transitions: 1. CONFIGURING --> RUNNING 2. RUNNING --> CONFIGURING. This transition occurs in the below scenarios: a. When different Dev Users/Groups are empowered with self-service namespace access. b. To reconcile the state of the cluster after the cluster upgrade.\n - `REMOVING`: The configuration is being removed and service is being deleted. The expected transitions: 1. CONFIGURING --> RUNNING --> REMOVING 2. CONFIGURING --> REMOVING\n - `DEACTIVATED`: The namespace self service is deactivated. This status also represents the initial status of the service before activation. The expected transitions after the service is activated: 1. CONFIGURING --> RUNNING --> REMOVING --> DEACTIVATED 2. CONFIGURING --> REMOVING --> DEACTIVATED\n - `ERROR`: Failed to apply the configuration to the namespace self-service or unable to deactivate the namespace self-service, user intervention needed. The expected transitions: 1. CONFIGURING --> ERROR 2. CONFIGURING --> RUNNING --> ERROR 3. CONFIGURING --> RUNNING --> REMOVING --> ERROR 4. CONFIGURING --> REMOVING --> ERROR The *Vcenter.Namespaces.NamespaceSelfService.Info.messages* field captures the relevant error messages explaining this ERROR status.\n\n\nThis enumeration was added in __vSphere API 7.0.2.00100__.", + "enum": [ + "CONFIGURING", + "RUNNING", + "REMOVING", + "DEACTIVATED", + "ERROR" + ] + }, + "Vcenter.Namespaces.NamespaceSelfService.Info": { + "required": [ + "capability", + "cluster", + "messages", + "status" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier for the cluster to which namespace service is associated.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "capability": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nThe self-service namespace capability of the cluster with vSphere Namespaces enabled.\n\nPossible values:\n - `UNKNOWN`: The initial value that represents the in-progress activity of determining the cluster's self-service namespace capability.\n - `SUPPORTED`: The value that indicates the cluster supports self-service namespace capability. The expected transition UNKNOWN --> SUPPORTED\n - `NOTSUPPORTED`: The value that indicates the cluster doesn't support the self-service namespace capability. The expected transition UNKNOWN --> NOTSUPPORTED\n\n\nFor more information see: *Vcenter.Namespaces.NamespaceSelfService.Capability*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nThe current status of the namespace-self-service.\n\nPossible values:\n - `CONFIGURING`: The configuration is being applied to the service.\n - `RUNNING`: The namespace self service is configured correctly. The expected transitions: 1. CONFIGURING --> RUNNING 2. RUNNING --> CONFIGURING. This transition occurs in the below scenarios: a. When different Dev Users/Groups are empowered with self-service namespace access. b. To reconcile the state of the cluster after the cluster upgrade.\n - `REMOVING`: The configuration is being removed and service is being deleted. The expected transitions: 1. CONFIGURING --> RUNNING --> REMOVING 2. CONFIGURING --> REMOVING\n - `DEACTIVATED`: The namespace self service is deactivated. This status also represents the initial status of the service before activation. The expected transitions after the service is activated: 1. CONFIGURING --> RUNNING --> REMOVING --> DEACTIVATED 2. CONFIGURING --> REMOVING --> DEACTIVATED\n - `ERROR`: Failed to apply the configuration to the namespace self-service or unable to deactivate the namespace self-service, user intervention needed. The expected transitions: 1. CONFIGURING --> ERROR 2. CONFIGURING --> RUNNING --> ERROR 3. CONFIGURING --> RUNNING --> REMOVING --> ERROR 4. CONFIGURING --> REMOVING --> ERROR The *Vcenter.Namespaces.NamespaceSelfService.Info.messages* field captures the relevant error messages explaining this ERROR status.\n\n\nFor more information see: *Vcenter.Namespaces.NamespaceSelfService.Status*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "messages": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent set of messages associated with the object.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Message" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceSelfService.Info schema contains detailed information about the namespace self service.\n\nThis schema was added in __vSphere API 7.0.2.00100__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceSelfService.Summary": { + "required": [ + "capability", + "cluster", + "status" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier for the cluster to which namespace service is associated.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "capability": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nThe self-service namespace capability of the cluster with vSphere Namespaces enabled.\n\nPossible values:\n - `UNKNOWN`: The initial value that represents the in-progress activity of determining the cluster's self-service namespace capability.\n - `SUPPORTED`: The value that indicates the cluster supports self-service namespace capability. The expected transition UNKNOWN --> SUPPORTED\n - `NOTSUPPORTED`: The value that indicates the cluster doesn't support the self-service namespace capability. The expected transition UNKNOWN --> NOTSUPPORTED\n\n\nFor more information see: *Vcenter.Namespaces.NamespaceSelfService.Capability*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "status": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nThe current status of the namespace-self-service.\n\nPossible values:\n - `CONFIGURING`: The configuration is being applied to the service.\n - `RUNNING`: The namespace self service is configured correctly. The expected transitions: 1. CONFIGURING --> RUNNING 2. RUNNING --> CONFIGURING. This transition occurs in the below scenarios: a. When different Dev Users/Groups are empowered with self-service namespace access. b. To reconcile the state of the cluster after the cluster upgrade.\n - `REMOVING`: The configuration is being removed and service is being deleted. The expected transitions: 1. CONFIGURING --> RUNNING --> REMOVING 2. CONFIGURING --> REMOVING\n - `DEACTIVATED`: The namespace self service is deactivated. This status also represents the initial status of the service before activation. The expected transitions after the service is activated: 1. CONFIGURING --> RUNNING --> REMOVING --> DEACTIVATED 2. CONFIGURING --> REMOVING --> DEACTIVATED\n - `ERROR`: Failed to apply the configuration to the namespace self-service or unable to deactivate the namespace self-service, user intervention needed. The expected transitions: 1. CONFIGURING --> ERROR 2. CONFIGURING --> RUNNING --> ERROR 3. CONFIGURING --> RUNNING --> REMOVING --> ERROR 4. CONFIGURING --> REMOVING --> ERROR The *Vcenter.Namespaces.NamespaceSelfService.Info.messages* field captures the relevant error messages explaining this ERROR status.\n\n\nFor more information see: *Vcenter.Namespaces.NamespaceSelfService.Status*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceSelfService.Summary schema contains basic information about the namespace service.\n\nThis schema was added in __vSphere API 7.0.2.00100__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceSelfService.ActivateTemplateSpec": { + "required": [ + "permissions", + "resource_spec", + "storage_specs", + "template" + ], + "type": "object", + "properties": { + "template": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier of the namespace template that is being activated.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`." + }, + "permissions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nNamespace Self Service permission to subjects.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.Subject" + } + }, + "resource_spec": { + "type": "object", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nResource quotas that the template defines. Resource quota on the namespace. Refer to *Vcenter.NamespaceManagement.NamespaceResourceOptions.Info.create_resource_quota_type* and use *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for retrieving the type for the value for this field. For an example of this, see *Vcenter.Namespaces.ResourceQuotaOptionsV1*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "storage_specs": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nStorage associated with the self service namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nvSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing Vcenter.NamespaceManagement.Networks.Info schemas.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThe field must be left missing or `null` if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN as the network provider, since the network(s) for this namespace will be managed by NSX Container Plugin. If field is missing or `null` when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. The field currently accepts at most only 1 vSphere Namespaces network object reference.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "vm_service_spec": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nVM Service specification to be associated with the namespace template. Namespaces created using this template will have access to the virtual machine classes and Content Libraries specified in this {ActivateTemplateSpec#vmServiceSpec} by default.\n\nThis property was added in __vSphere API 7.0.3.2__.\n\nIf missing or `null`, the namespaces created using this template will not have access to any virtual machine classes, and to any Content Libraries by default unless Content Libraries are specified in the {ActivateTemplateSpec#contentLibraries}.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nContent Library specifications to be associated with the namespace template. Namespaces created using this template will have access to the Content Libraries specified in this {ActivateTemplateSpec#contentLibraries} by default.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the namespaces created using this template will not have access to any Content Libraries by default unless Content Libraries are specified in the {ActivateTemplateSpec#vmServiceSpec}.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceSelfService.ActivateTemplateSpec schema contains the specification required to create or update namespace template. The create or update template operations are combined with service activation in a single operation.\n\nThis schema was added in __vSphere API 7.0.2.00100__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceTemplates.Subject": { + "required": [ + "domain", + "subject", + "subject_type" + ], + "type": "object", + "properties": { + "subject_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nType of the subject.\n\nPossible values:\n - `USER`: Single user.\n - `GROUP`: Group of users.\n\n\nFor more information see: *Vcenter.Namespaces.Access.SubjectType*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "subject": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nName of the subject.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "domain": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nDomain of the subject.\n\nThis property was added in __vSphere API 7.0.2.00100__." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceTemplates.Subject schema contains the user or group information granted for namespace self service.\n\nThis schema was added in __vSphere API 7.0.2.00100__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceTemplates.Info": { + "required": [ + "cluster", + "storage_specs", + "template" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier for the vSphere cluster associated with namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "template": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nName of the namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`." + }, + "resource_spec": { + "type": "object", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nResource quotas that this template defines. Quotas on the namespace resources. Refer to *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for the type of the value for this field.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no resource constraints are defined in the namespace template." + }, + "storage_specs": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nStorage that this template defines and will be associated with a namespace after namespace realization.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nvSphere Networks that this template captures and are associated with the namespace after namespace realization.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis field is missing or `null` if the cluster hosting this namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "permissions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nPermissions associated with namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, only users with the Administrator role can use this template; for example, this template is applied to the namespace created by self-service-users with the Administrator role.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.Subject" + } + }, + "vm_service_spec": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent set of virtual machine classes and Content Libraries associated with the template.\n\nThis property was added in __vSphere API 7.0.3.2__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent set of Content Library specifications associated with the template.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceTemplates.Info schema contains the detailed information about the namespace template.\n\nThis schema was added in __vSphere API 7.0.2.00100__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceTemplates.InfoV2": { + "required": [ + "storage_specs", + "supervisor", + "template" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier for the Supervisor associated with namespace template.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "template": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nName of the namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`." + }, + "resource_spec": { + "type": "object", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nResource quotas that this template defines. Quotas on the namespace resources. Refer to *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for the type of the value for this field.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no resource constraints are defined in the namespace template." + }, + "storage_specs": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nStorage that this template defines and will be associated with a namespace after namespace realization.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nvSphere Networks that this template captures and are associated with the namespace after namespace realization.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis field is missing or `null` if the cluster hosting this namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "permissions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nPermissions associated with namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, only users with the Administrator role can use this template; for example, this template is applied to the namespace created by self-service-users with the Administrator role.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.Subject" + } + }, + "vm_service_spec": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent set of virtual machine classes and Content Libraries associated with the template.\n\nThis property was added in __vSphere API 7.0.3.2__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nCurrent set of Content Library specifications associated with the template.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceTemplates.InfoV2 schema contains the detailed information about the namespace template on a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceTemplates.Summary": { + "required": [ + "cluster", + "template" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier for the vSphere cluster associated with namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "template": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nName of the namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceTemplates.Summary schema contains the basic information about the namespace template.\n\nThis schema was added in __vSphere API 7.0.2.00100__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceTemplates.SummaryV2": { + "required": [ + "supervisor", + "template" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier for the Supervisor associated with namespace template.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "template": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nName of the namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.NamespaceTemplate`." + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceTemplates.SummaryV2 schema contains the basic information about the namespace template on a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceTemplates.CreateSpec": { + "required": [ + "resource_spec", + "storage_specs", + "template" + ], + "type": "object", + "properties": { + "template": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nIdentifier of the namespace template. This has DNS_LABEL restrictions as specified in [](https://tools.ietf.org/html/rfc1123). This name is unique across all namespaces templates in this vCenter server.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "resource_spec": { + "type": "object", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nResource quotas that this template defines. Resource quota on the namespace. Refer to *Vcenter.NamespaceManagement.NamespaceResourceOptions.Info.create_resource_quota_type* and use *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for retrieving the type for the value for this field. For an example of this, see *Vcenter.Namespaces.ResourceQuotaOptionsV1*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "storage_specs": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nStorage that this template defines and will be associated with a namespace after namespace realization. This field should not be empty and at least one policy should be supplied. The {link create} throws {term InvalidArgument} exception if this field is set empty.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nvSphere Networks that this template captures and are associated with the namespace after namespace realization. vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing Vcenter.NamespaceManagement.Networks.Info schemas.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThe field must be left missing or `null` if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as the network provider, since the network(s) for this namespace will be managed by NSX Container Plugin. If field is missing or `null` when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. The field currently accepts at most only 1 vSphere Namespaces network object reference.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "permissions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nPermissions associated with namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, only users with the Administrator role can use this template; for example, this template is applied to the namespace created by self-service-users with the Administrator role.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.Subject" + } + }, + "vm_service_spec": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nVM Service specification to be associated with the namespace template. Namespaces created using this template will have access to the virtual machine classes and Content Libraries specified in this {CreateSpec#vmServiceSpec} by default.\n\nThis property was added in __vSphere API 7.0.3.2__.\n\nIf missing or `null`, the namespaces created using this template will not have access to any virtual machine classes by default, and to any Content Libraries by default unless Content Libraries are specified in the {CreateSpec#contentLibraries}.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nContent Library specifications to be associated with the namespace template. Namespaces created using this template will have access to the Content Libraries specified in this {CreateSpec#contentLibraries} by default.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the namespaces created using this template will not have access to any Content Libraries by default unless Content Libraries are specified in the {CreateSpec#vmServiceSpec}.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceTemplates.CreateSpec schema contains the specification required to create namespace template.\n\nThis schema was added in __vSphere API 7.0.2.00100__.", + "deprecated": true + }, + "Vcenter.Namespaces.NamespaceTemplates.UpdateSpec": { + "type": "object", + "properties": { + "resource_spec": { + "type": "object", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nResource quota on the namespace. Refer to *Vcenter.NamespaceManagement.NamespaceResourceOptions.Info.create_resource_quota_type* and use *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for retrieving the type for the value for this field. For an example of this, see *Vcenter.Namespaces.ResourceQuotaOptionsV1*.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, no resource limits will be set on the namespace." + }, + "storage_specs": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nStorage that this template defines and will be associated with a namespace after namespace realization.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null` then no update will be made.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nvSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing Vcenter.NamespaceManagement.Networks.Info schemas.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThe field must be left missing or `null` if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as the network provider, since the network(s) for this namespace will be managed by NSX Container Plugin. If field is missing or `null` when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. The field currently accepts at most only 1 vSphere Namespaces network object reference.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "permissions": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nPermissions associated with namespace template.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, only users with the Administrator role can use this template; for example, this template is applied to the namespace created by self-service-users with the Administrator role.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.NamespaceTemplates.Subject" + } + }, + "vm_service_spec": { + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nVM Service specification to be associated with the namespace template. The virtual machine classes and Content Library associations of the template will be updated according to this {UpdateSpec#vmServiceSpec}.\n\nThis property was added in __vSphere API 7.0.3.2__.\n\nIf missing or `null`, the namespaces created using this template will not have access to any virtual machine classes by default, and to any Content Libraries by default unless Content Libraries are specified in the {UpdateSpec#contentLibraries}.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 9.1.0.0__.\n\nContent Library specifications to be associated with the namespace template. Namespaces created using this template will have access to the Content Libraries specified in this {UpdateSpec#contentLibraries} by default.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the namespaces created using this template will not have access to any Content Libraries by default unless Content Libraries are specified in the {UpdateSpec#vmServiceSpec}.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 9.1.0.0__.\n\nThe Vcenter.Namespaces.NamespaceTemplates.UpdateSpec schema contains the specification required to update a namespace namespace template.\n\nThis schema was added in __vSphere API 7.0.2.00100__.", + "deprecated": true + }, + "Vcenter.Namespaces.Instances.ResourceNamingStrategy": { + "type": "string", + "description": "The Vcenter.Namespaces.Instances.ResourceNamingStrategy enumerated type represents the strategy to generate the Kubernetes resource names in a Supervisor namespace for items in a Content Library associated with the namespace. The relevant Kubernetes resources include namespace scoped ContentLibraryItem, and VirtualMachineImage resources in the namespace.\n\nPossible values:\n - `FROM_ITEM_ID`: The naming strategy to generate the Kubernetes resource name based on the corresponding Content Library item identifier.\n - `PREFER_ITEM_SOURCE_ID`: The naming strategy to generate the Kubernetes resource name based on the source identifier of the corresponding Content Library item if the Content Library is a subscribed Content Library, otherwise still based on the corresponding Content Library item identifier. With this naming strategy, the Kubernetes resources for images from different subscribed Content Libraries subscribing to the same published Content Library can have the same names across Supervisor namespaces with such subscribed Content Library associated. \n\nUse this strategy if you have multiple Content Libraries that are subscribing to the same published Content Library, and want to consume the same resource names in the namespace for VM images originated from that published Content Library, regardless which Content Library is associated with the namespace.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "FROM_ITEM_ID", + "PREFER_ITEM_SOURCE_ID" + ] + }, + "Vcenter.Namespaces.Instances.NetworkProvider": { + "type": "string", + "description": "Identifies the network plugin that networking functionalities for this vSphere Namespace.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: Network provider is NSX Container Plugin.\n - `VSPHERE_NETWORK`: Network provider is vSphere Networking.\n - `NSX_VPC`: Network provider is NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nThis enumeration was added in __vSphere API 7.0.2.00100__.", + "enum": [ + "NSXT_CONTAINER_PLUGIN", + "VSPHERE_NETWORK", + "NSX_VPC" + ] + }, + "Vcenter.Namespaces.Instances.LoadBalancerSize": { + "type": "string", + "description": "The Vcenter.Namespaces.Instances.LoadBalancerSize enumerates the kinds of load balancer sizes supported by NSX. Small load balancer can host 10 to 20 virtual servers depending on NSX version. Medium load balancer can host 100 virtual servers. Large load balancer can host 1000 virtual servers.\n\nPossible values:\n - `SMALL`: Load balancer size of 'small'.\n - `MEDIUM`: Load balancer size of 'medium'.\n - `LARGE`: Load balancer size of 'large'.\n\n\nThis enumeration was added in __vSphere API 7.0.2.00100__.", + "enum": [ + "SMALL", + "MEDIUM", + "LARGE" + ] + }, + "Vcenter.Namespaces.Instances.VpcSubnetAccessMode": { + "type": "string", + "description": "The Vcenter.Namespaces.Instances.VpcSubnetAccessMode enumerates the default access modes of NSX VPC Subnets hosting resources created in namespaces.\n\nPossible values:\n - `PUBLIC`: *Vcenter.Namespaces.Instances.VpcSubnetAccessMode.PUBLIC* indicates new Subnets are allocated from *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile* external IP blocks and are routable from external networks.\n - `PRIVATE_TGW`: *Vcenter.Namespaces.Instances.VpcSubnetAccessMode.PRIVATE_TGW* indicates new Subnets are allocated from *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile* project IP blocks and are routable within other VPCs from the same project.\n - `PRIVATE`: *Vcenter.Namespaces.Instances.VpcSubnetAccessMode.PRIVATE* indicates new Subnets are allocated from *Vcenter.Namespaces.Instances.VpcConfig.private_cidrs* and are routable only within the same VPC.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "PUBLIC", + "PRIVATE_TGW", + "PRIVATE" + ] + }, + "Vcenter.Namespaces.Instances.EdgeProvider": { + "type": "string", + "description": "Vcenter.Namespaces.Instances.EdgeProvider describes the available Edge providers.\n\nPossible values:\n - `NSX_REGISTERED_AVI`: *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI* specifies the Avi Load Balancer (NSX Advanced Load Balancer) configured on the NSX manager, specific to Supervisors configured with network provider *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*, or *Vcenter.Namespaces.Instances.NetworkProvider.NSXT_CONTAINER_PLUGIN*.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "NSX_REGISTERED_AVI" + ] + }, + "Vcenter.Namespaces.Instances.ConfigStatus": { + "type": "string", + "description": "The Vcenter.Namespaces.Instances.ConfigStatus enumerated type describes the status of reaching the desired state configuration for the namespace.\n\nPossible values:\n - `CONFIGURING`: The configuration is being applied to the namespace.\n - `REMOVING`: The configuration is being removed and namespace is being deleted.\n - `RUNNING`: The namespace is configured correctly.\n - `ERROR`: Failed to apply the configuration to the namespace, user intervention needed.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "CONFIGURING", + "REMOVING", + "RUNNING", + "ERROR" + ] + }, + "Vcenter.Namespaces.Instances.NetworkConfigStatus": { + "type": "string", + "description": "The Vcenter.Namespaces.Instances.NetworkConfigStatus enumerated type describes the status of a network in a vSphere Namespace.\n\nPossible values:\n - `ACTIVE`: The network is active and can be used for workload consumption.\n - `REMOVING`: The network is being removed and may not be used for new workloads.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "ACTIVE", + "REMOVING" + ] + }, + "Vcenter.Namespaces.Instances.Access": { + "required": [ + "domain", + "role", + "subject", + "subject_type" + ], + "type": "object", + "properties": { + "subject_type": { + "type": "string", + "description": "Type of the subject.\n\nPossible values:\n - `USER`: Single user.\n - `GROUP`: Group of users.\n\n\nFor more information see: *Vcenter.Namespaces.Access.SubjectType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "subject": { + "type": "string", + "description": "Name of the subject.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "domain": { + "type": "string", + "description": "Domain of the subject.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "role": { + "type": "string", + "description": "Role of the subject on the namespace instance.\n\nPossible values:\n - `OWNER`: This role allows modification and deletion of the namespace.\n\nThis constant was added in __vSphere API 7.0.2.00100__.\n - `EDIT`: This role allows modification of the namespace.\n - `VIEW`: This is a read-only role on the namespace.\n\n\nFor more information see: *Vcenter.Namespaces.Access.Role*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "identity_provider": { + "type": "string", + "description": "UUID of an external identity provider for the user, if any. Use this field if the user is coming from an external identity provider configured via the *Vcenter.NamespaceManagement.Supervisors.Identity.Providers* service.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf unset, vCenter Single Sign-On will be used as the identity provider.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.identity.Provider`." + } + }, + "description": "The Vcenter.Namespaces.Instances.Access schema contains the access control information for a subject on a namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.Principal": { + "required": [ + "domain", + "subject" + ], + "type": "object", + "properties": { + "subject": { + "type": "string", + "description": "Name of the subject.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "domain": { + "type": "string", + "description": "Domain of the subject.\n\nThis property was added in __vSphere API 7.0.2.00100__." + } + }, + "description": "The Vcenter.Namespaces.Instances.Principal schema contains the information about the creator of namespace.\n\nThis schema was added in __vSphere API 7.0.2.00100__." + }, + "Vcenter.Namespaces.Instances.StorageSpec": { + "required": [ + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "ID of the storage policy. A Kubernetes storage class is created for this storage policy if it does not exist already.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "limit": { + "type": "integer", + "description": "The maximum amount of storage (in mebibytes) which can be utilized by the namespace for this specification.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no limits are placed.", + "format": "int64" + } + }, + "description": "The Vcenter.Namespaces.Instances.StorageSpec schema contains the specification required to configure storage associated with a namespace. Information in this schema will result in storage quotas on the Kubernetes namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.VMServiceSpec": { + "type": "object", + "properties": { + "content_libraries": { + "uniqueItems": true, + "type": "array", + "description": "Set of Content Libraries for use by the VM Service. The Content Libraries specified should exist in vSphere inventory. \n\nThe Content Libraries specified for the VM Image Service, using {CreateSpec#contentLibraries} during *POST /vcenter/namespaces/instances* operation or {UpdateSpec#contentLibraries} during *PATCH /vcenter/namespaces/instances/{namespace}* operation or {SetSpec#contentLibraries} during *PUT /vcenter/namespaces/instances/{namespace}* operation will also be included in this list. \n\nIf the same Content Library is present both here and in VM Image Service specification, then: \n - The Content Library is only surfaced to users once. \n - The settings in VM Image Service specification are honored. \n\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.content.Library`.", + "items": { + "type": "string" + } + }, + "vm_classes": { + "uniqueItems": true, + "type": "array", + "description": "Set of VirtualMachineClasses for use by the VM Service. The class names specified here should exist in vSphere inventory. If this field is empty in an updated specification, all VirtualMachineClasses that are currently associated with the namespace will be disassociated from it. \n\n __NOTE:__ Any change in virtual machine classes associated with the namespace will not impact existing VMs.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.VirtualMachineClass`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.VMServiceSpec schema contains the specification required to configure the VM Service specification associated with a namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.ContentLibrarySpec": { + "required": [ + "content_library" + ], + "type": "object", + "properties": { + "content_library": { + "type": "string", + "description": "Content Library ID used by the VM Image Service. The Content Library specified should exist in vSphere inventory.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "writable": { + "type": "boolean", + "description": "Flag to indicate if the Content Library is writable. When set to `true`, users with *Vcenter.Namespaces.Access.Info.role* of type OWNER or EDIT on a Supervisor namespace can add or delete Content Library items in vSphere from this Supervisor namespace. A subscribed Content Library is not allowed to be marked as writable. \n\nAn InvalidArgument error will be thrown from *POST /vcenter/namespaces/instances* operation, *PATCH /vcenter/namespaces/instances/{namespace}* operation and *PUT /vcenter/namespaces/instances/{namespace}* operation if a subscribed Content Library has the writable flag set to `true`.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the value defaults to `false` and the Content Library is read-only to users." + }, + "allow_import": { + "type": "boolean", + "description": "Flag to indicate if users can import an OVF/OVA template from a remote HTTPS URL into a Content Library that has the writable field set to `true`. When set to `true`, users with *Vcenter.Namespaces.Access.Info.role* of type OWNER or EDIT on a Supervisor namespace can add new Content Library items in vSphere from this Supervisor namespace, by importing OVF/OVA templates from remote HTTPS URLs. \n\nAn InvalidArgument error will be thrown from *POST /vcenter/namespaces/instances* operation, *PATCH /vcenter/namespaces/instances/{namespace}* operation and *PUT /vcenter/namespaces/instances/{namespace}* operation if a subscribed Content Library has the allow_import flag set to `true` or if a Content Library has the allow_import flag set to `true` but the writable flag is set to `false`.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the value defaults to `false` and the users will not be able to import an OVF/OVA template from remote HTTPs URLS into the Content Library." + }, + "resource_naming_strategy": { + "type": "string", + "description": "The resource naming strategy that is used to generate the Kubernetes resource names for images from this Content Library. \n\nAn InvalidArgument error will be thrown from *POST /vcenter/namespaces/instances* operation, *PATCH /vcenter/namespaces/instances/{namespace}* operation and *PUT /vcenter/namespaces/instances/{namespace}* operation if this resource_naming_strategy is changed on an existing Content Library associated with the namespace, or set to *Vcenter.Namespaces.Instances.ResourceNamingStrategy.PREFER_ITEM_SOURCE_ID* on a subscribed Content Library from a published Content Library that is either also associated with the namespace or has another subscribed Content Library associated to the namespace with the resource_naming_strategy also set to *Vcenter.Namespaces.Instances.ResourceNamingStrategy.PREFER_ITEM_SOURCE_ID*.\n\nPossible values:\n - `FROM_ITEM_ID`: The naming strategy to generate the Kubernetes resource name based on the corresponding Content Library item identifier.\n - `PREFER_ITEM_SOURCE_ID`: The naming strategy to generate the Kubernetes resource name based on the source identifier of the corresponding Content Library item if the Content Library is a subscribed Content Library, otherwise still based on the corresponding Content Library item identifier. With this naming strategy, the Kubernetes resources for images from different subscribed Content Libraries subscribing to the same published Content Library can have the same names across Supervisor namespaces with such subscribed Content Library associated. \n\nUse this strategy if you have multiple Content Libraries that are subscribing to the same published Content Library, and want to consume the same resource names in the namespace for VM images originated from that published Content Library, regardless which Content Library is associated with the namespace.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.ResourceNamingStrategy*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, Kubernetes resource names for images from this Content Library will be generated based on the default naming strategy *Vcenter.Namespaces.Instances.ResourceNamingStrategy.FROM_ITEM_ID*." + } + }, + "description": "The Vcenter.Namespaces.Instances.ContentLibrarySpec schema contains the specification required to configure Content Libraries in the VM Image Service.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Vcenter.Namespaces.Instances.Ipv4Cidr": { + "required": [ + "address", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IPv4 address.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix.\n\nThis property was added in __vSphere API 7.0.2.00100__.", + "format": "int64" + } + }, + "description": "The specification for representing CIDR notation of IP range.\n\nThis schema was added in __vSphere API 7.0.2.00100__." + }, + "Vcenter.Namespaces.Instances.NetworkCreateSpec": { + "required": [ + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that will manage the vSphere Namespaces network object.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: Network provider is NSX Container Plugin.\n - `VSPHERE_NETWORK`: Network provider is vSphere Networking.\n - `NSX_VPC`: Network provider is NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.NetworkProvider*.\n\nThis property was added in __vSphere API 7.0.2.00100__." + }, + "network": { + "description": "The create spec for an NSXT-backed Namespaces network configuration, supported by *Vcenter.Namespaces.Instances.NetworkProvider.NSXT_CONTAINER_PLUGIN* network provider.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.NSXT_CONTAINER_PLUGIN*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.NsxNetworkCreateSpec" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.NetworkCreateSpec schema contains the specification required to create a vSphere Namespaces network object.\n\nThis schema was added in __vSphere API 7.0.2.00100__." + }, + "Vcenter.Namespaces.Instances.NetworkConfigCreateSpec": { + "required": [ + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that will manage the vSphere Namespaces network configuration.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: Network provider is NSX Container Plugin.\n - `VSPHERE_NETWORK`: Network provider is vSphere Networking.\n - `NSX_VPC`: Network provider is NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.NetworkProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vpc_network": { + "description": "The network configuration for VPC Namespaces, supported by *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC* network provider.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VpcNetworkCreateSpec" + } + ] + }, + "vsphere_network": { + "description": "The network configuration specific to *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* provider. This configuration provides augments the namespace beyond the *Vcenter.Namespaces.Instances.CreateSpecCore.networks* base configuration.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VsphereNetworkConfigCreateSpec" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.NetworkConfigCreateSpec schema contains network specification when creating a vSphere Namespaces object.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.VsphereNetworkConfigCreateSpec": { + "type": "object", + "properties": { + "default_workload_network": { + "type": "string", + "description": "The default workload network to be used for workloads when they do not explicitly specify a network placement. This value must reference one of the networks provided in *Vcenter.Namespaces.Instances.CreateSpecCore.networks*. \n\nThis field does not allow update once applied. Additionally, this network cannot be removed from this vSphere Namespace. \n\nA network with *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE* IP assignment mode may not be set as the default workload network.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`: \n - When *Vcenter.Namespaces.Instances.CreateSpecCore.networks* is specified: the first network will be selected as the default network\n - When *Vcenter.Namespaces.Instances.CreateSpecCore.networks* is unset: the Supervisor Primary Workload Network will be used\n \n\n \n\nThis field must be unset if *Vcenter.Namespaces.Instances.CreateSpecCore.networks* is unset.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + } + }, + "description": "The Vcenter.Namespaces.Instances.VsphereNetworkConfigCreateSpec schema contains *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* network configurations that can be applied to a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.NsxNetworkCreateSpec": { + "type": "object", + "properties": { + "namespace_network_cidrs": { + "type": "array", + "description": "CIDR blocks from which Kubernetes allocates IP addresses for all workloads that attach to the namespace, including PodVMs, TKGS and VM Service VMs. This range should not overlap with those in *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.ingress_cidrs*, *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.egress_cidrs*, or other services running in the datacenter.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis field is required when *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.nsx_tier0_gateway* or any of *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.ingress_cidrs*, *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.egress_cidrs* are specified. An update operation only allows for addition of new CIDR blocks to the existing list.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Ipv4Cidr" + } + }, + "ingress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses for Kubernetes Ingresses and Kubernetes Services of type LoadBalancer. These ranges should not overlap with those in *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.namespace_network_cidrs*, *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.egress_cidrs*, or other services running in the datacenter.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis field is required when *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.nsx_tier0_gateway* or any of *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.namespace_network_cidrs*, *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.egress_cidrs* are specified. An update operation only allows for addition of new CIDR blocks to the existing list.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Ipv4Cidr" + } + }, + "egress_cidrs": { + "type": "array", + "description": "CIDR blocks from which NSX assigns IP addresses used for performing SNAT from container IPs to external IPs. These ranges should not overlap with those in *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.namespace_network_cidrs*, *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.ingress_cidrs*, or other services running in the datacenter.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis field is required when *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.routed_mode* is set to False and *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.nsx_tier0_gateway* or any of *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.namespace_network_cidrs*, *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.ingress_cidrs* is specified. When *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.routed_mode* is set to True, this field is not allowed. An update operation only allows for addition of new CIDR blocks to the existing list.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Ipv4Cidr" + } + }, + "nsx_tier0_gateway": { + "type": "string", + "description": "NSX Tier0 Gateway used for this namespace. This field does not allow update once applied.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, cluster level settings specified in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo.nsx_tier0_gateway* will be applied.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXTier0Gateway`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXTier0Gateway`." + }, + "subnet_prefix_length": { + "type": "integer", + "description": "Size of the subnet reserved for namespace segments.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, cluster level settings specified in *Vcenter.NamespaceManagement.Clusters.NCPClusterNetworkInfo.namespace_subnet_prefix* will be applied.", + "format": "int64" + }, + "routed_mode": { + "type": "boolean", + "description": "Routed mode for this namespace. When set to True, the traffic in the namespace is not NATed.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, defaults to False. When this field is set to True, *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec.egress_cidrs* is not allowed. This field does not allow update once applied." + }, + "load_balancer_size": { + "type": "string", + "description": "The size of the NSX Load Balancer used by the namespace. This field does not allow update once applied.\n\nPossible values:\n - `SMALL`: Load balancer size of 'small'.\n - `MEDIUM`: Load balancer size of 'medium'.\n - `LARGE`: Load balancer size of 'large'.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.LoadBalancerSize*.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, defaults to *Vcenter.Namespaces.Instances.LoadBalancerSize.SMALL*." + } + }, + "description": "The Vcenter.Namespaces.Instances.NsxNetworkCreateSpec schema describes the configuration specification of a NSXT-backed Namespaces Network configuration.\n\nThis schema was added in __vSphere API 7.0.2.00100__." + }, + "Vcenter.Namespaces.Instances.VpcConfig": { + "type": "object", + "properties": { + "private_cidrs": { + "type": "array", + "description": "*Vcenter.Namespaces.Instances.VpcConfig.private_cidrs* specifies CIDR blocks from which private Subnets are allocated. This range should not overlap with those in *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile*, *Vcenter.NamespaceManagement.Clusters.EnableSpec.service_cidr*, or other services running in the datacenter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, use Supervisor default private CIDRs. This field must be (@term set) when Avi load balancer is used or when workloads are to be deployed on private Subnets.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.VpcConfig schema describes the specification of a VPC for Namespaces Network configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.SharedSubnet": { + "required": [ + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "NSX path of the shared Subnet created outside of the Supervisor to be associated with this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Namespaces.Instances.SharedSubnet schema defines the information for a Subnet shared with a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.VpcNetworkCreateSpec": { + "type": "object", + "properties": { + "vpc_config": { + "description": "NSX VPC properties. If set, and *Vcenter.Namespaces.Instances.VpcNetworkCreateSpec.vpc* is missing or `null`, a VPC will be automatically created by Supervisor. The VPC will be scoped to this particular namespace (cannot be consumed by other namespaces). The VPC will be created with *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.nsx_project* and *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile*, and NSX Load Balancer size of SMALL if NSX LB provider is used.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, a pre-created VPC can be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VpcConfig" + } + ] + }, + "vpc": { + "type": "string", + "description": "NSX path of the pre-created VPC. If set, values set in *Vcenter.Namespaces.Instances.VpcNetworkCreateSpec.vpc_config* will be ignored.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, a VPC will be created automatically using properties in *Vcenter.Namespaces.Instances.VpcNetworkCreateSpec.vpc_config*." + }, + "shared_subnets": { + "type": "array", + "description": "Subnets created outside of the Supervisor to be associated with this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.SharedSubnet" + } + }, + "default_subnet_size": { + "type": "integer", + "description": "Default size of vSphere Namespace Subnets.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, a default Subnet size of /27 (or 32 addresses) is set.", + "format": "int64" + } + }, + "description": "The Vcenter.Namespaces.Instances.VpcNetworkCreateSpec schema describes the specification of a NSX VPC namespace Network configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.NetworkConfigInfo": { + "required": [ + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that manages the vSphere Namespaces network configuration.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: Network provider is NSX Container Plugin.\n - `VSPHERE_NETWORK`: Network provider is vSphere Networking.\n - `NSX_VPC`: Network provider is NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.NetworkProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vpc_network": { + "description": "The network configuration for NSX VPC Namespaces, supported by *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC* network provider.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VpcNetworkInfo" + } + ] + }, + "vsphere_network": { + "description": "The network configuration specific to *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* provider.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.NetworkConfigInfo schema contains info of network specification for a vSphere Namespaces object.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.VpcNetworkInfo": { + "required": [ + "auto_created", + "default_subnet_size", + "vpc", + "vpc_config" + ], + "type": "object", + "properties": { + "vpc_config": { + "description": "VPC configuration used for this vSphere Namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VpcConfig" + } + ] + }, + "vpc": { + "type": "string", + "description": "NSX path of the VPC associated with this vSphere Namespace.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "shared_subnets": { + "type": "array", + "description": "Subnets created outside of the Supervisor associated with this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.SharedSubnet" + } + }, + "auto_created": { + "type": "boolean", + "description": "Whether the VPC is automatically created for the vSphere Namespace.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "default_subnet_size": { + "type": "integer", + "description": "Default size of vSphere Namespace Subnets.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Namespaces.Instances.VpcNetworkInfo schema describes the specification of a VPC network configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.NetworkConfigUpdateSpec": { + "required": [ + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that manages the vSphere Namespaces network configuration.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: Network provider is NSX Container Plugin.\n - `VSPHERE_NETWORK`: Network provider is vSphere Networking.\n - `NSX_VPC`: Network provider is NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.NetworkProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vpc_config": { + "description": "The network configuration for NSX VPC Namespaces, supported by *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC* network provider.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VpcNetworkUpdateSpec" + } + ] + }, + "vsphere_network_config": { + "description": "The network configuration specific to *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* provider.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VsphereNetworkConfigUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.NetworkConfigUpdateSpec schema contains specifications required when updating the network configuration of a vSphere Namespaces object.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.VpcNetworkUpdateSpec": { + "type": "object", + "properties": { + "default_subnet_size": { + "type": "integer", + "description": "Default size of vSphere Namespace Subnets. Changing the default will only affect new Subnets being created.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, a default Subnet size of /27 (or 32 addresses) is set.", + "format": "int64" + }, + "shared_subnets": { + "type": "array", + "description": "Subnets created outside of the Supervisor to be associated with this vSphere Namespace. \n\nYou can associate more Subnets created outside of the Supervisor with this vSphere Namespace or unassociate some Subnets from this vSphere Namespace as long as the Subnets are not used in this vSphere Namespace. When updating a vSphere Namespace with Subnets set, you need to provide a complete list of existing Subnets. Subnets currently associated to a vSphere Namespace that are not provided in this spec will be removed. Unassociating a shared Subnet that is still in use will result in a Vapi.Std.Errors.NotAllowedInCurrentState error. You can also update the com.vmware.vcenter.namespaces.SharedSubnet#podDefault or com.vmware.vcenter.namespaces.SharedSubnet#vmDefault value from false to true or vice versa. \n\nIf all shared Subnets used as Pod or VM default network are unassociated from the vSphere Namespace, Pod or VM default network will use Subnets generated from PrivateTGW IPBlocks or PrivateCIDRs if there is any in Namespace's VPC. Otherwise, Pods or VMs will not be assigned a default network.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.SharedSubnet" + } + }, + "private_cidrs": { + "type": "array", + "description": "CIDR blocks from which private Subnets are allocated. This range should not overlap with those in *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile*, *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.ip_management*, or other services running in the datacenter. \n\nOnly appending additional CIDRs is allowed for auto-created VPC. Modification to existing CIDR ranges will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. Appending invalid CIDR e.g. overlapping or broadcast or reserved CIDR will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.VpcNetworkUpdateSpec schema contains specifications to update on an existing NSX VPC Namespace Network configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.NetworkConfigSetSpec": { + "required": [ + "network_provider" + ], + "type": "object", + "properties": { + "network_provider": { + "type": "string", + "description": "The network provider that manages the vSphere Namespaces network configuration.\n\nPossible values:\n - `NSXT_CONTAINER_PLUGIN`: Network provider is NSX Container Plugin.\n - `VSPHERE_NETWORK`: Network provider is vSphere Networking.\n - `NSX_VPC`: Network provider is NSX VPC.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.NetworkProvider*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "vpc_config": { + "description": "The network configuration for VPC namespaces, supported by *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC* network provider.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VpcNetworkSetSpec" + } + ] + }, + "vsphere_network_config": { + "description": "The network configuration specific to *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* provider.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of network_provider is *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VsphereNetworkConfigSetSpec" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.NetworkConfigSetSpec schema contains specifications required when setting the network configuration of a vSphere Namespaces object.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.VsphereNetworkConfigUpdateSpec": { + "type": "object", + "properties": { + "networks_to_add": { + "type": "array", + "description": "The vSphere Namespace's network objects to be added to this namespace. The values of this list must reference names of pre-existing Vcenter.NamespaceManagement.Networks.Info schemas. \n\nThe networks must be configured with *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* as their network provider type. Networks with other provider types will result in an Vapi.Std.Errors.InvalidArgument error. \n\nNetworks that are already associated with this namespace will be silently ignored during the update operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, existing networks in this vSphere Namespace will not be modified.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "networks_to_remove": { + "type": "array", + "description": "The vSphere Namespace's network objects to be removed from this namespace. \n\nEach network in this list must be present in *Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo.networks*. Networks that are not currently associated with the namespace will result in an Vapi.Std.Errors.InvalidArgument error. \n\nThe network specified in *Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo.default_workload_network* may not be removed from the namespace. Attempting to remove the default network will result in an Vapi.Std.Errors.InvalidArgument error. \n\nThe actual removal of a network will be deferred until all workloads in the namespace have stopped using that network. The network will remain accessible to existing workloads until they are migrated or terminated. Networks will be marked with *Vcenter.Namespaces.Instances.NetworkInfo.config_status* status *Vcenter.Namespaces.Instances.NetworkConfigStatus.REMOVING* and may be found via *Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo.networks* until they are fully removed.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no networks will be removed from this vSphere Namespace.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.VsphereNetworkConfigUpdateSpec schema contains *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* network configurations that can be applied to an existing vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.VsphereNetworkConfigSetSpec": { + "type": "object", + "properties": { + "networks": { + "type": "array", + "description": "The complete set of vSphere Namespace's network objects to be associated with this namespace. The values of this list must reference names of pre-existing Vcenter.NamespaceManagement.Networks.Info schemas. \n\nThe networks must be configured with *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* as their network provider type. Networks with other provider types will result in an Vapi.Std.Errors.InvalidArgument error. \n\nThe network specified in *Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo.default_workload_network* must be included in this list. Attempting to set a network list that does not include the default network will result in an Vapi.Std.Errors.InvalidArgument error. \n\nThis operation will add any networks in this list that are not currently in *Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo.networks*, and remove any networks in *Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo.networks* that are not in this list. For networks being removed, the actual removal will be deferred until all workloads in the namespace have stopped using that network. These networks will remain accessible to existing workloads until they are migrated or terminated.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, all networks except the network specified in *Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo.default_workload_network* will be marked for removal from this vSphere Namespace.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.VsphereNetworkConfigSetSpec schema contains *Vcenter.Namespaces.Instances.NetworkProvider.VSPHERE_NETWORK* network configurations that can be applied to an existing vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.VpcNetworkSetSpec": { + "type": "object", + "properties": { + "default_subnet_size": { + "type": "integer", + "description": "Default size of vSphere Namespace Subnets. Changing the default will only affect new Subnets being created.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, a default Subnet size of /27 (or 32 addresses) is set.", + "format": "int64" + }, + "shared_subnets": { + "type": "array", + "description": "Subnets created outside of the Supervisor to be associated with this vSphere Namespace. \n\nYou can associate more Subnets created outside of the Supervisor with this vSphere Namespace or unassociate some Subnets from this vSphere Namespace as long as the Subnets are not already used in this vSphere Namespace. When setting a vSphere Namespace with that already have Subnets associated, you need to provide a complete list of existing Subnets. Subnets currently associated to a vSphere Namespace that are not provided in this spec will be removed. Unassociating a shared Subnet that is still in use will result in a Vapi.Std.Errors.NotAllowedInCurrentState error. You can also update the com.vmware.vcenter.namespaces.SharedSubnet#podDefault or com.vmware.vcenter.namespaces.SharedSubnet#vmDefault value from false to true or vice versa. \n\nIf all shared Subnets used as Pod or VM default network are unassociated from the vSphere Namespace, Pod or VM default network will use Subnets generated from PrivateTGW IPBlocks or PrivateCIDRs if there is any in Namespace's VPC. Otherwise, Pods or VMs will not be assigned a default network.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, all Subnets that are currently associated with the namespace will be disassociated from it.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.SharedSubnet" + } + }, + "private_cidrs": { + "type": "array", + "description": "CIDR blocks from which private Subnets are allocated. This range should not overlap with those in *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.VpcNetwork.vpc_connectivity_profile*, *Vcenter.NamespaceManagement.Supervisors.Networks.Workload.Network.ip_management*, or other services running in the datacenter. \n\nOnly appending additional CIDRs is allowed. Modification to existing CIDR ranges will result in the operation failing with a Vapi.Std.Errors.ResourceInUse error. Appending invalid CIDR e.g. overlapping or broadcast or reserved CIDR will result in the operation failing with a Vapi.Std.Errors.InvalidArgument error.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the current value will be retained.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.VpcNetworkSetSpec schema contains specifications to set on an existing VPC Namespace Network configuration.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.EdgeCreateSpec": { + "required": [ + "edge_provider", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the Edge configured with the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`." + }, + "edge_provider": { + "type": "string", + "description": "The Edge provider to be associated with a vSphere Namespace.\n\nPossible values:\n - `NSX_REGISTERED_AVI`: *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI* specifies the Avi Load Balancer (NSX Advanced Load Balancer) configured on the NSX manager, specific to Supervisors configured with network provider *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*, or *Vcenter.Namespaces.Instances.NetworkProvider.NSXT_CONTAINER_PLUGIN*.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.EdgeProvider*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "avi": { + "description": "The create spec for vSphere Namespaces associated with Avi Edge providers.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of edge_provider is *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.AviCreateSpec" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.EdgeCreateSpec schema contains the specification required to configure Edge provider association with a namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.AviCreateSpec": { + "type": "object", + "properties": { + "se_group_name": { + "type": "string", + "description": "Name of the Avi Service Engine Group to be associated with the vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Avi Service Engine Group will be associated with the vSphere Namespace. Avi Kubernetes Operator will use Default-Group Service Engine Group for Service Engines placement." + } + }, + "description": "The Vcenter.Namespaces.Instances.AviCreateSpec schema contains the Avi-related object configurations to be associated with a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.EdgeInfo": { + "required": [ + "edge_provider", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the Edge configured with the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`." + }, + "edge_provider": { + "type": "string", + "description": "The Edge provider associated with a vSphere Namespace.\n\nPossible values:\n - `NSX_REGISTERED_AVI`: *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI* specifies the Avi Load Balancer (NSX Advanced Load Balancer) configured on the NSX manager, specific to Supervisors configured with network provider *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*, or *Vcenter.Namespaces.Instances.NetworkProvider.NSXT_CONTAINER_PLUGIN*.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.EdgeProvider*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "avi": { + "description": "The info spec for vSphere Namespaces associated with Avi Edge providers.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of edge_provider is *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.AviInfo" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.EdgeInfo schema contains the Edge specifications associated with a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.AviInfo": { + "type": "object", + "properties": { + "se_group_name": { + "type": "string", + "description": "Name of the Avi Service Engine Group which is associated with the vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Avi Service Engine Group is associated with the vSphere Namespace. Avi Kubernetes Operator will use Default-Group Service Engine Group for Service Engines placement." + } + }, + "description": "The Vcenter.Namespaces.Instances.AviInfo schema contains the Avi-related object configurations associated with a namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.EdgeSetSpec": { + "required": [ + "edge_provider", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the Edge configured with the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`." + }, + "edge_provider": { + "type": "string", + "description": "The Edge provider to be set with a vSphere Namespace.\n\nPossible values:\n - `NSX_REGISTERED_AVI`: *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI* specifies the Avi Load Balancer (NSX Advanced Load Balancer) configured on the NSX manager, specific to Supervisors configured with network provider *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*, or *Vcenter.Namespaces.Instances.NetworkProvider.NSXT_CONTAINER_PLUGIN*.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.EdgeProvider*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "avi": { + "description": "The set spec for vSphere Namespaces associated with Avi Edge providers.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of edge_provider is *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.AviSetSpec" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.EdgeSetSpec schema contains the specification required to associate the Edge provider with a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.AviSetSpec": { + "type": "object", + "properties": { + "se_group_name": { + "type": "string", + "description": "Name of the Avi Service Engine Group to be associated with the vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Avi Service Engine Group will be associated with the vSphere Namespace. Avi Kubernetes Operator will use Default-Group Service Engine Group for Service Engines placement." + } + }, + "description": "The Vcenter.Namespaces.Instances.AviSetSpec schema contains the Avi-related object configurations associated with a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.EdgeUpdateSpec": { + "required": [ + "edge_provider", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the Edge configured with the Supervisor.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.network.edge.Edge`." + }, + "edge_provider": { + "type": "string", + "description": "The Edge provider to be updated with a vSphere Namespace.\n\nPossible values:\n - `NSX_REGISTERED_AVI`: *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI* specifies the Avi Load Balancer (NSX Advanced Load Balancer) configured on the NSX manager, specific to Supervisors configured with network provider *Vcenter.Namespaces.Instances.NetworkProvider.NSX_VPC*, or *Vcenter.Namespaces.Instances.NetworkProvider.NSXT_CONTAINER_PLUGIN*.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.EdgeProvider*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "avi": { + "description": "The update spec for vSphere Namespaces associated with Avi Edge providers.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional and it is only relevant when the value of edge_provider is *Vcenter.Namespaces.Instances.EdgeProvider.NSX_REGISTERED_AVI*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.AviUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.EdgeUpdateSpec schema contains the specification required to update Edge provider association with a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.AviUpdateSpec": { + "type": "object", + "properties": { + "se_group_name": { + "type": "string", + "description": "Name of the Avi Service Engine Group to be associated with the vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the current Avi Service Engine Group associated with the vSphere Namespace will not be updated." + } + }, + "description": "The Vcenter.Namespaces.Instances.AviUpdateSpec schema contains the Avi-related object configurations to be associated with a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.Message": { + "required": [ + "severity" + ], + "type": "object", + "properties": { + "severity": { + "type": "string", + "description": "Type of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.Message.MessageSeverity*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "description": "Details about the message.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, message details are not required for taking actions.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Instances.Message schema contains the information about the object configuration.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.Message.MessageSeverity": { + "type": "string", + "description": "The Vcenter.Namespaces.Instances.Message.MessageSeverity enumerated type represents the severity of the message.\n\nPossible values:\n - `INFO`: Informational message. This may be accompanied by vCenter event.\n - `WARNING`: Warning message. This may be accompanied by vCenter event.\n - `ERROR`: Error message. This is accompanied by vCenter event and/or alarm.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "Vcenter.Namespaces.Instances.Stats": { + "required": [ + "cpu_used", + "memory_used", + "storage_used" + ], + "type": "object", + "properties": { + "cpu_used": { + "type": "integer", + "description": "CPU reservation consumed by the pods in the namespace in megahertz (MHz) across all resource pools backing the namespace. This is the sum of CPU requested by pods in the Kubernetes namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "memory_used": { + "type": "integer", + "description": "Memory reservation consumed by the pods in the namespace in mebibytes (MiB) across all resource pools backing the namespace. This is the sum of memory requested by pods in the Kubernetes namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "storage_used": { + "type": "integer", + "description": "Storage reservation consumed by the pods in the namespace in mebibytes (MiB) across all datastores backed by storage policies assigned to the namespace. This is the sum of storage requested by the pods in the Kubernetes namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Namespaces.Instances.Stats schema contains the basic runtime statistics about the namespace.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.VirtualMachineClassAllocationSpec": { + "required": [ + "count", + "reserved_vm_class" + ], + "type": "object", + "properties": { + "reserved_vm_class": { + "type": "string", + "description": "Identifier of the Virtual Machine class used for allocation.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "count": { + "type": "integer", + "description": "Number of instances of given Virtual Machine class.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Namespaces.Instances.VirtualMachineClassAllocationSpec schema describes the definition of allocations for Virtual Machines of a given class.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.Summary": { + "required": [ + "cluster", + "config_status", + "description", + "namespace", + "stats" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier for the vSphere cluster hosting the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "namespace": { + "type": "string", + "description": "Identifier of the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "description": { + "type": "string", + "description": "Description of the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "config_status": { + "type": "string", + "description": "Current setting for Vcenter.Namespaces.Instances.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The configuration is being applied to the namespace.\n - `REMOVING`: The configuration is being removed and namespace is being deleted.\n - `RUNNING`: The namespace is configured correctly.\n - `ERROR`: Failed to apply the configuration to the namespace, user intervention needed.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stats": { + "description": "Basic runtime statistics for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Stats" + } + ] + }, + "self_service_namespace": { + "type": "boolean", + "description": "Flag to indicate the self service namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, the namespace is not marked as self service namespace." + } + }, + "description": "The Vcenter.Namespaces.Instances.Summary schema contains the basic information about the namespace on a single vSphere cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.ZoneInfo": { + "required": [ + "marked_for_removal", + "type", + "zone" + ], + "type": "object", + "properties": { + "zone": { + "type": "string", + "description": "Identifier of the vSphere Zone\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "type": { + "type": "string", + "description": "Identifier of the Type of the vSphere Zone\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisors.zones.Bindings.Type`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisors.zones.Bindings.Type`." + }, + "marked_for_removal": { + "type": "boolean", + "description": "`True` if the vSphere Zone has been marked for removal\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Namespaces.Instances.ZoneInfo schema contains the information for a vSphere Zone related to a Supervisor\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.SummaryV2": { + "required": [ + "config_status", + "description", + "namespace", + "stats", + "supervisor" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "Identifier for the Supervisor hosting the namespace.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "namespace": { + "type": "string", + "description": "Identifier of the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "description": { + "type": "string", + "description": "Description of the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "config_status": { + "type": "string", + "description": "Current setting for Vcenter.Namespaces.Instances.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The configuration is being applied to the namespace.\n - `REMOVING`: The configuration is being removed and namespace is being deleted.\n - `RUNNING`: The namespace is configured correctly.\n - `ERROR`: Failed to apply the configuration to the namespace, user intervention needed.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "stats": { + "description": "Basic runtime statistics for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Stats" + } + ] + }, + "self_service_namespace": { + "type": "boolean", + "description": "Flag to indicate the self service namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, the namespace is not marked as self service namespace." + } + }, + "description": "The Vcenter.Namespaces.Instances.SummaryV2 schema contains the basic information about the namespace on a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.Namespaces.Instances.Info": { + "required": [ + "access_list", + "cluster", + "config_status", + "description", + "messages", + "stats", + "storage_specs" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier for the vSphere cluster hosting the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "config_status": { + "type": "string", + "description": "Current setting for Vcenter.Namespaces.Instances.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The configuration is being applied to the namespace.\n - `REMOVING`: The configuration is being removed and namespace is being deleted.\n - `RUNNING`: The namespace is configured correctly.\n - `ERROR`: Failed to apply the configuration to the namespace, user intervention needed.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "messages": { + "type": "array", + "description": "Current set of messages associated with the object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Message" + } + }, + "stats": { + "description": "Basic runtime statistics for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Stats" + } + ] + }, + "description": { + "type": "string", + "description": "Description of the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "resource_spec": { + "type": "object", + "description": "Quotas on the namespace resources. Refer to *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for the type of the value for this field.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no resource constraints are associated with the namespace." + }, + "access_list": { + "type": "array", + "description": "Access controls associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Access" + } + }, + "storage_specs": { + "type": "array", + "description": "Storage associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "The vSphere Networks associated with the namespace.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis field is missing or `null` if the cluster hosting this namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "vm_service_spec": { + "description": "VM Service specification associated with the namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "List of Content Libraries used by the VM Image Service. This list refers to existing Content Libraries in vSphere inventory. \n\nThe Content Libraries specified in {VMServiceSpec#contentLibraries} will also be included in this list but will be read-only by default to users. \n\nIf the same Content Library is present both here and in {VMServiceSpec#contentLibraries}, then: \n - The Content Library is only surfaced to users once. \n - The settings here are honored. \n\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, no Content Libraries are configured for the VM Image Service.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + }, + "creator": { + "description": "Creator of the namespace. Namespace self-service uses this field to populate the user who created this namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Principal" + } + ] + }, + "self_service_namespace": { + "type": "boolean", + "description": "Flag to indicate the self service namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, the namespace is not marked as self service namespace." + }, + "edges": { + "type": "array", + "description": "List of Edges associated with this vSphere Namespace. Currently, only up to one Edge per vSphere Namespace is supported.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Edges are associated with this vSphere Namespace.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.EdgeInfo" + } + }, + "infrastructure_policies": { + "type": "array", + "description": "List of *Vcenter.NamespaceManagement.InfrastructurePolicies* associated with this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no infrastructure policies are associated with this vSphere Namespace.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.Info schema contains the detailed information about the namespace on a single vSphere cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.InfoV2": { + "required": [ + "access_list", + "config_status", + "description", + "messages", + "stats", + "storage_specs", + "supervisor" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "Identifier for the Supervisor hosting the namespace.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "zones": { + "type": "array", + "description": "Configuration of vSphere Zones associated with this namespace on which workloads are created.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ZoneInfo" + } + }, + "network_spec": { + "description": "Network related configurations associated with this namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.NetworkConfigInfo" + } + ] + }, + "config_status": { + "type": "string", + "description": "Current setting for Vcenter.Namespaces.Instances.ConfigStatus.\n\nPossible values:\n - `CONFIGURING`: The configuration is being applied to the namespace.\n - `REMOVING`: The configuration is being removed and namespace is being deleted.\n - `RUNNING`: The namespace is configured correctly.\n - `ERROR`: Failed to apply the configuration to the namespace, user intervention needed.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.ConfigStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "messages": { + "type": "array", + "description": "Current set of messages associated with the object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Message" + } + }, + "stats": { + "description": "Basic runtime statistics for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Stats" + } + ] + }, + "description": { + "type": "string", + "description": "Description of the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "resource_spec": { + "type": "object", + "description": "Quotas on the namespace resources. Refer to *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for the type of the value for this field.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no resource constraints are associated with the namespace." + }, + "access_list": { + "type": "array", + "description": "Access controls associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Access" + } + }, + "storage_specs": { + "type": "array", + "description": "Storage associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "The vSphere Networks associated with the namespace.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThis field is missing or `null` if the cluster hosting this namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as its network provider.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "vm_service_spec": { + "description": "VM Service specification associated with the namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "List of Content Libraries used by the VM Image Service. This list refers to existing Content Libraries in vSphere inventory. \n\nThe Content Libraries specified in {VMServiceSpec#contentLibraries} will also be included in this list but will be read-only by default to users. \n\nIf the same Content Library is present both here and in {VMServiceSpec#contentLibraries}, then: \n - The Content Library is only surfaced to users once. \n - The settings here are honored. \n\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, no Content Libraries are configured for the VM Image Service.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + }, + "creator": { + "description": "Creator of the namespace. Namespace self-service uses this field to populate the user who created this namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Principal" + } + ] + }, + "self_service_namespace": { + "type": "boolean", + "description": "Flag to indicate the self service namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, the namespace is not marked as self service namespace." + }, + "edges": { + "type": "array", + "description": "List of Edges associated with this vSphere Namespace. Currently, only up to one Edge per vSphere Namespace is supported.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Edges are associated with this vSphere Namespace.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.EdgeInfo" + } + }, + "infrastructure_policies": { + "type": "array", + "description": "List of *Vcenter.NamespaceManagement.InfrastructurePolicies* associated with this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no infrastructure policies are associated with this vSphere Namespace.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.InfoV2 schema contains the detailed information about the namespace on a Supervisor.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.Namespaces.Instances.UpdateSpec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the description of the namespace will not be modified." + }, + "resource_spec": { + "type": "object", + "description": "Resource quota updates on the namespace. Refer to *Vcenter.NamespaceManagement.NamespaceResourceOptions.Info.update_resource_quota_type* and use *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for retrieving the type for the value for this field. For an example of this, see *Vcenter.Namespaces.ResourceQuotaOptionsV1Update*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the resource constraints on the namespace will not be modified." + }, + "access_list": { + "type": "array", + "description": "Access control associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, access controls on the namespace will not be modified. Existing pods from users will continue to run.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Access" + } + }, + "storage_specs": { + "type": "array", + "description": "Storage associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, storage policies and their limit will not be modified. Pods which are already using persistent storage from the earlier version of storage policies will be able to access them till the datastores are attached to the worker nodes.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "vm_service_spec": { + "description": "VM Service specification associated with the namespace. \n\n __NOTE:__ Any change in the VM Service Content Libraries associated with the namespace will be updated and merged with the the Content Library list in VM Image Service. If {UpdateSpec#contentLibraries} is unset, the Content Libraries specified here will be honored if no writable Content Libraries are removed from the current Content Library list by *GET /vcenter/namespaces/instances/{namespace}* operation, otherwise InvalidArgument error will be thrown.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nIf missing or `null`, the Content Libraries get configured based on the values in {UpdateSpec#contentLibraries}, if it is specified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "List of Content Libraries used by the VM Image Service. This list refers to existing Content Libraries in vSphere inventory. \n\nThe Content Libraries specified in {VMServiceSpec#contentLibraries} will also be included in this list but will be read-only by default to users. \n\nIf the same Content Library is present both here and in {VMServiceSpec#contentLibraries}, then: \n - The Content Library is only surfaced to users once. \n - The settings here are honored. \n \n\n __NOTE:__ Any change in the VM Image Service Content Libraries associated with the namespace will be updated and merged with the Content Library list in Vcenter.Namespaces.Instances.VMServiceSpec. If {UpdateSpec#vmServiceSpec#contentLibraries} is unset, the Content Libraries specified here will be honored and the Content Libraries removed from the current Content Library list by *GET /vcenter/namespaces/instances/{namespace}* operation will also be removed from VM Service.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the Content Libraries get configured based on the values in {UpdateSpec#vmServiceSpec#contentLibraries}, if it is specified.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + }, + "network_spec": { + "description": "Network related configurations to be updated with this namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.NetworkConfigUpdateSpec" + } + ] + }, + "zones": { + "type": "array", + "description": "List of Vcenter.Namespaces.Instances.ZoneSpec to configure vSphere Zones for this namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing vSphere Zones on the namespace will not be modified.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ZoneSpec" + } + }, + "edges": { + "type": "array", + "description": "List of Edge configurations associated with this vSphere Namespace to be updated. Currently, only up to one Edge per vSphere Namespace is supported.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Edge configurations associated with this vSphere Namespace will be updated.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.EdgeUpdateSpec" + } + }, + "infrastructure_policies": { + "type": "array", + "description": "List of *Vcenter.NamespaceManagement.InfrastructurePolicies* to be applied to this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, list of infrastructure policies associated with this vSphere Namespsace will not be modified.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.UpdateSpec schema contains the specification required to update the configuration on the namespace. This schema is applied partially, and only the specified fields will replace or modify their existing counterparts.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.SetSpec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the description of the namespace will be cleared." + }, + "resource_spec": { + "type": "object", + "description": "Resource quota for the namespace. This will replace the existing resource constraints on the namespace in entirety. Refer to *Vcenter.NamespaceManagement.NamespaceResourceOptions.Info.create_resource_quota_type* and use *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for retrieving the type for the value for this field. For an example of this, see *Vcenter.Namespaces.ResourceQuotaOptionsV1*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the resource constraints on the namespace will be cleared." + }, + "access_list": { + "type": "array", + "description": "Access control associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing access controls on the namespace will be removed and users will not be able to access this namespace to create new pods. Existing pods from users will continue to run.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Access" + } + }, + "storage_specs": { + "type": "array", + "description": "Storage associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the existing storage policies will be disassociated with the namespace and existing limits will be cleared. Pods which are already using persistent storage from the earlier version of storage policies will be able to access them till the datastores are attached to the worker nodes.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "vm_service_spec": { + "description": "VM Service specification associated with the namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "List of Content Libraries used by the VM Image Service. This list refers to existing Content Libraries in vSphere inventory. \n\nThe Content Libraries specified in {VMServiceSpec#contentLibraries} will also be included in this list but will be read-only by default to users. \n\nIf the same Content Library is present both here and in {VMServiceSpec#contentLibraries}, then: \n - The Content Library is only surfaced to users once. \n - The settings here are honored. \n\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the existing Content Libraries configured for the VM Image Service will be removed.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + }, + "network_spec": { + "description": "Network related configurations to be set with this namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the existing network configuration will be disassociated with the namespace.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.NetworkConfigSetSpec" + } + ] + }, + "edges": { + "type": "array", + "description": "List of Edges to be associated with this vSphere Namespace. Currently, only up to one Edge per vSphere Namespace is supported.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Edges will be associated with this vSphere Namespace.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.EdgeSetSpec" + } + }, + "infrastructure_policies": { + "type": "array", + "description": "List of *Vcenter.NamespaceManagement.InfrastructurePolicies* to be applied to this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no infrastructure policies will be associated with this vSphere Namespace.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.SetSpec schema contains the specification required to set a new configuration on the namespace. This schema is applied in entirety, replacing the current specification fully.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.CreateSpec": { + "required": [ + "cluster", + "namespace" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier of the cluster on which the namespace is being created.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "namespace": { + "type": "string", + "description": "Identifier of the namespace. This has DNS_LABEL restrictions as specified in [](https://tools.ietf.org/html/rfc1123). This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique across all Namespaces in this vCenter server. In this version, this maps to the name of a Kubernetes namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "description": { + "type": "string", + "description": "Description for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no description is added to the namespace." + }, + "resource_spec": { + "type": "object", + "description": "Resource quota on the namespace. Refer to *Vcenter.NamespaceManagement.NamespaceResourceOptions.Info.create_resource_quota_type* and use *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for retrieving the type for the value for this field. For an example of this, see *Vcenter.Namespaces.ResourceQuotaOptionsV1*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no resource limits will be set on the namespace." + }, + "access_list": { + "type": "array", + "description": "Access controls associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, only users with Administrator role can access the namespace.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Access" + } + }, + "storage_specs": { + "type": "array", + "description": "Storage associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, storage policies will not be associated with the namespace which will prevent users from being able to provision pods with persistent storage on the namespace. Users will be able to provision pods which use local storage.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "The vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing Vcenter.NamespaceManagement.Networks.Info schemas.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThe field must be left missing or `null` if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as the network provider, since the network(s) for this namespace will be managed on NSX. \n\nWhen using NSXT_CONTAINER_PLUGIN as network provider, a new network dedicated to the namespace will be created as part of namespace creation to override cluster network configurations if *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec* is set. \n\nWhen using NSX_VPC as network provider, any additional network configuration needs to be specified with Vcenter.Namespaces.Instances.VpcNetworkCreateSpec. \n\nIf the field is missing or `null` when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. \n\nIf only one network is specified and that network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, the operation will fail with Vapi.Std.Errors.InvalidArgument error.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "vm_service_spec": { + "description": "VM Service specification associated with the namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "List of Content Libraries used by the VM Image Service. This list refers to existing Content Libraries in vSphere inventory. \n\nThe Content Libraries specified in {VMServiceSpec#contentLibraries} will also be used by the VM Image Service but will be read-only by default to users. \n\nIf the same Content Library is present both here and in {VMServiceSpec#contentLibraries}, then: \n - The Content Library is only surfaced to users once. \n - The settings here are honored. \n\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, no additional Content Libraries will be configured for the VM Image Service except for the Content Libraries specified in {VMServiceSpec#contentLibraries}.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + }, + "creator": { + "description": "Creator of the namespace. Namespace self-service uses this field to populate the user who created this namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Principal" + } + ] + }, + "namespace_network": { + "description": "This field that accepts parameters to define a vSphere Namespace Network object that will automatically be associated with this Namespace. Networks created in this operation will be given an autogenerated ID and cannot be referenced by other Namespaces.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.NetworkCreateSpec" + } + ] + }, + "edges": { + "type": "array", + "description": "List of Edges to be associated with this vSphere Namespace. Currently, only up to one Edge per vSphere Namespace is supported.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Edges will be associated with this vSphere Namespace.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.EdgeCreateSpec" + } + }, + "infrastructure_policies": { + "type": "array", + "description": "List of *Vcenter.NamespaceManagement.InfrastructurePolicies* to be applied to this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no infrastructure policies will be associated with this vSphere Namespace.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.CreateSpec schema contains the specification required to set up a namespace on a single vSphere cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.Instances.CreateSpecV2": { + "required": [ + "namespace", + "supervisor" + ], + "type": "object", + "properties": { + "supervisor": { + "type": "string", + "description": "Identifier for the Supervisor hosting the namespace.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.Supervisor`." + }, + "zones": { + "type": "array", + "description": "List of Vcenter.Namespaces.Instances.ZoneSpec to configure vSphere Zones for this namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, workloads created in this namespace will be placed on the same vSphere Zone(s) as the Supervisor.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ZoneSpec" + } + }, + "network_spec": { + "description": "Network related configurations to be associated with this namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.NetworkConfigCreateSpec" + } + ] + }, + "namespace": { + "type": "string", + "description": "Identifier of the namespace. This has DNS_LABEL restrictions as specified in [](https://tools.ietf.org/html/rfc1123). This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. This name is unique across all Namespaces in this vCenter server. In this version, this maps to the name of a Kubernetes namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "description": { + "type": "string", + "description": "Description for the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no description is added to the namespace." + }, + "resource_spec": { + "type": "object", + "description": "Resource quota on the namespace. Refer to *Vcenter.NamespaceManagement.NamespaceResourceOptions.Info.create_resource_quota_type* and use *GET /vcenter/namespace-management/clusters/{cluster}/workload-resource-options* for retrieving the type for the value for this field. For an example of this, see *Vcenter.Namespaces.ResourceQuotaOptionsV1*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no resource limits will be set on the namespace." + }, + "access_list": { + "type": "array", + "description": "Access controls associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, only users with Administrator role can access the namespace.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Access" + } + }, + "storage_specs": { + "type": "array", + "description": "Storage associated with the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, storage policies will not be associated with the namespace which will prevent users from being able to provision pods with persistent storage on the namespace. Users will be able to provision pods which use local storage.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.StorageSpec" + } + }, + "networks": { + "type": "array", + "description": "The vSphere Namespaces network objects to be associated with the namespace. The values of this list need to reference names of pre-existing Vcenter.NamespaceManagement.Networks.Info schemas.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nThe field must be left missing or `null` if the cluster hosting the namespace uses NSXT_CONTAINER_PLUGIN or NSX_VPC as the network provider, since the network(s) for this namespace will be managed on NSX. \n\nWhen using NSXT_CONTAINER_PLUGIN as network provider, a new network dedicated to the namespace will be created as part of namespace creation to override cluster network configurations if *Vcenter.Namespaces.Instances.NsxNetworkCreateSpec* is set. \n\nWhen using NSX_VPC as network provider, any additional network configuration needs to be specified with Vcenter.Namespaces.Instances.VpcNetworkCreateSpec. \n\nIf the field is missing or `null` when the cluster hosting the namespace uses VSPHERE_NETWORK as its network provider, the namespace will automatically be associated with the cluster's Supervisor Primary Workload Network. \n\nIf only one network is specified and that network's *Vcenter.NamespaceManagement.Networks.IPAssignmentMode* is *Vcenter.NamespaceManagement.Networks.IPAssignmentMode.NONE*, the operation will fail with Vapi.Std.Errors.InvalidArgument error.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.Network`.", + "items": { + "type": "string" + } + }, + "vm_service_spec": { + "description": "VM Service specification associated with the namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VMServiceSpec" + } + ] + }, + "content_libraries": { + "type": "array", + "description": "List of Content Libraries used by the VM Image Service. This list refers to existing Content Libraries in vSphere inventory. \n\nThe Content Libraries specified in {VMServiceSpec#contentLibraries} will also be used by the VM Image Service but will be read-only by default to users. \n\nIf the same Content Library is present both here and in {VMServiceSpec#contentLibraries}, then: \n - The Content Library is only surfaced to users once. \n - The settings here are honored. \n\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, no additional Content Libraries will be configured for the VM Image Service except for the Content Libraries specified in {VMServiceSpec#contentLibraries}.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.ContentLibrarySpec" + } + }, + "creator": { + "description": "Creator of the namespace. Namespace self-service uses this field to populate the user who created this namespace.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.Principal" + } + ] + }, + "namespace_network": { + "description": "This field that accepts parameters to define a vSphere Namespace Network object that will automatically be associated with this Namespace. Networks created in this operation will be given an autogenerated ID and cannot be referenced by other Namespaces.\n\nThis property was added in __vSphere API 7.0.2.00100__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.NetworkCreateSpec" + } + ] + }, + "edges": { + "type": "array", + "description": "List of Edges to be associated with this vSphere Namespace. Currently, only up to one Edge per vSphere Namespace is supported.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no Edges will be associated with this vSphere Namespace.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.EdgeCreateSpec" + } + }, + "infrastructure_policies": { + "type": "array", + "description": "List of *Vcenter.NamespaceManagement.InfrastructurePolicies* to be applied to this vSphere Namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no infrastructure policies will be associated with this vSphere Namespace.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.INFRASTRUCTURE_POLICY`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.CreateSpecV2 schema contains the specification required to set up a namespace on a Supervisor cluster.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.Namespaces.Instances.ZoneSpec": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Identifier for the vSphere Zone associated with the Supervisor namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.consumption_domains.Zone`." + }, + "vm_reservations": { + "type": "array", + "description": "Desired number of reserved Virtual Machine class instances that are available for the namespace in this zone.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf unset, then no reserved Virtual Machine class instances will be requested for the namespace in this zone.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.VirtualMachineClassAllocationSpec" + } + }, + "cpu_limit_mhz": { + "type": "integer", + "description": "CPU limit (in megahertz) for the namespace in this zone in addition to the limits specified as part of reserved Virtual Machine classes.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf unset, then the limit on CPU usage for the namespace in this zone is determined by the CPU limit of the namespace.", + "format": "int64" + }, + "cpu_reservation_mhz": { + "type": "integer", + "description": "CPU reservation (in megahertz) for the namespace in this zone, for VMs that are not using reserved Virtual Machine class instances. The allocation of CPU reservation to VMs that are not using reserved Virtual Machine class instances cannot exceed this value. If this value is set, then a VM with CPU reservation will fail to power-on in this zone of this namespace, if the remaining unreserved CPU is less than the configured CPU reservation of this VM.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf unset, then there is no CPU reserved for the namespace in this zone, and the allocation of CPU reservation to the namespace in this zone depends on namespace demand and available unreserved CPU in this zone.", + "format": "int64" + }, + "memory_limit_mib": { + "type": "integer", + "description": "Memory limit (in mebibytes) for the namespace in this zone in addition to the limits specified as part of reserved Virtual Machine classes.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf unset, then the limit on memory usage for workloads running in the namespace in this zone is determined by the memory limit of the namespace.", + "format": "int64" + }, + "memory_reservation_mib": { + "type": "integer", + "description": "Memory reservation (in mebibytes) for the namespace in this zone, for VMs that are not using reserved Virtual Machine class instances. The allocation of memory reservation to VMs that are not using reserved Virtual Machine class instances cannot exceed this value. This includes the allocation of overhead memory reservation to VMs. If this value is set, then a VM will fail to power-on in this zone of this namespace, if the remaining unreserved memory is less than the sum of (1) any configured memory reservation of this VM and (2) the overhead memory requirements of this VM.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf unset, then there is no memory reserved for the namespace in this zone, and the allocation of memory reservation to the namespace in this zone depends on namespace demand and available unreserved memory in this zone.", + "format": "int64" + }, + "disallow_unreserved_direct_path_usage": { + "type": "boolean", + "description": "Determines whether workloads that don't use a reserved Virtual Machine class instance can use a DirectPath device.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf unset, then any workload in the namespace in this zone can use a DirectPath device." + } + }, + "description": "The Vcenter.Namespaces.Instances.ZoneSpec schema contains the specification required to configure vSphere Zones associated with a Supervisor Namespace.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Instances.RegisterVMSpec": { + "required": [ + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier for the virtual machine being registered with Supervisor.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + } + }, + "description": "The Vcenter.Namespaces.Instances.RegisterVMSpec schema contains the specification required to register a virtual machine with Supervisor.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Namespaces.Instances.NetworkInfo": { + "required": [ + "config_status", + "network" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "The network identifier.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "config_status": { + "type": "string", + "description": "The current configuration status of the network.\n\nPossible values:\n - `ACTIVE`: The network is active and can be used for workload consumption.\n - `REMOVING`: The network is being removed and may not be used for new workloads.\n\n\nFor more information see: *Vcenter.Namespaces.Instances.NetworkConfigStatus*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Network schema contains information about a network and its status in the vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo": { + "required": [ + "default_workload_network", + "networks" + ], + "type": "object", + "properties": { + "default_workload_network": { + "type": "string", + "description": "The default workload network used for workloads when they do not explicitly specify a network placement. References one of the networks in *Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo.networks*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.Network`." + }, + "networks": { + "type": "array", + "description": "List of networks available in this namespace and their status.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Instances.NetworkInfo" + } + } + }, + "description": "The Vcenter.Namespaces.Instances.VsphereNetworkConfigInfo schema contains read-only information about vSphere-specific network configurations applied to a vSphere Namespace.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType": { + "type": "string", + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType enumerated type enumerates the types of workloads which could be made the recipient of an Access Grant.\n\nPossible values:\n - `VIRTUAL_MACHINE`: Scope grant to Virtual Machines managed by VM Service.\n - `VSPHERE_POD`: Scope grant to vSphere Pods.\n - `ANY`: Scope grant to any type of workloads in the namespace. Note that ANY WorkloadType evaluates to workloads of any current and future WorkloadTypes.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "VIRTUAL_MACHINE", + "VSPHERE_POD", + "ANY" + ] + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorCreateSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType enumerated type of workloads that will receive this grant.\n\nPossible values:\n - `VIRTUAL_MACHINE`: Scope grant to Virtual Machines managed by VM Service.\n - `VSPHERE_POD`: Scope grant to vSphere Pods.\n - `ANY`: Scope grant to any type of workloads in the namespace. Note that ANY WorkloadType evaluates to workloads of any current and future WorkloadTypes.\n\n\nFor more information see: *Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorCreateSpec schema contains selection specifications of workloads that will receive the grant.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.CreateSpec": { + "required": [ + "access_grant", + "management_service", + "workload_selector" + ], + "type": "object", + "properties": { + "access_grant": { + "type": "string", + "description": "Identifier of the Access Grant. The name has DNS Label restrictions as specified in [RFC 1123](https://tools.ietf.org/html/rfc1123). This must be an alphanumeric (a-z and 0-9) string and with maximum length of 63 characters and with the '-' character allowed anywhere except the first or last character. The name of an Access Grant has to be unique within the namespace.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.management_services.AccessGrant`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.management_services.AccessGrant`." + }, + "description": { + "type": "string", + "description": "The description of the Access Grant.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no description will be available for the Access Grant." + }, + "managed_by": { + "type": "string", + "description": "Information about the entity responsible for the lifecycle of this Access Grant record. \n\n When set, the field implies that any change to update or delete the Access Grant by any principal other than the component referenced by the field may be reverted by the automation component managing it.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, it implies the Access Grant is not created by automation." + }, + "management_service": { + "type": "string", + "description": "A reference to an existing Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`." + }, + "workload_selector": { + "description": "Selection of workloads to be granted access to the given management service.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorCreateSpec" + } + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to create an Access Grant in a disabled state. A disabled Access Grant deactivates access for the recipient workloads of the grant to the referenced Management Service. The field defaults to true, which means the Access Grant will be enabled on its creation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, will default to true. The Access Grant will be enabled on creation." + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.CreateSpec schema specifies how to create an Access Grant.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorUpdateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType enumerated type of workloads that will receive this grant.\n\nPossible values:\n - `VIRTUAL_MACHINE`: Scope grant to Virtual Machines managed by VM Service.\n - `VSPHERE_POD`: Scope grant to vSphere Pods.\n - `ANY`: Scope grant to any type of workloads in the namespace. Note that ANY WorkloadType evaluates to workloads of any current and future WorkloadTypes.\n\n\nFor more information see: *Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the existing value will be unchanged." + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorUpdateSpec schema contains updated selection specifications of workloads that will receive the grant.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.UpdateSpec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of the Access Grant.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the existing value will be unchanged." + }, + "managed_by": { + "type": "string", + "description": "Information about the entity responsible for the lifecycle of this Access Grant record. \n\n When present, the field implies that any change to update or delete the Access Grant by any principal other than the component referenced by the field may be reverted by the automation component managing it.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, existing value will be kept." + }, + "workload_selector": { + "description": "Selection of workloads to be granted access to the given management service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the existing value will be unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorUpdateSpec" + } + ] + }, + "enabled": { + "type": "boolean", + "description": "Set to false to disable the Access Grant, true to re-enable the Access Grant. A disabled Access Grant deactivates access for the recipient workloads of the grant to the referenced Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the existing value will be unchanged." + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.UpdateSpec schema specifies how to update an AccessGrant.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType enumerated type of workloads that receive a grant.\n\nPossible values:\n - `VIRTUAL_MACHINE`: Scope grant to Virtual Machines managed by VM Service.\n - `VSPHERE_POD`: Scope grant to vSphere Pods.\n - `ANY`: Scope grant to any type of workloads in the namespace. Note that ANY WorkloadType evaluates to workloads of any current and future WorkloadTypes.\n\n\nFor more information see: *Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorInfo schema contains information on selection of workloads that are recipients of an access grant.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.Info": { + "required": [ + "enabled", + "management_service", + "workload_selector" + ], + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of the Access Grant.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the Access Grant has no description." + }, + "managed_by": { + "type": "string", + "description": "Information about the entity responsible for the lifecycle of this Access Grant record. \n\n When set, the field implies that any change to update or delete the Access Grant by any principal other than the component referenced by the field may be reverted by the automation component managing it.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, it implies the Access Grant is not managed by automation." + }, + "management_service": { + "type": "string", + "description": "A reference to an existing Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`." + }, + "workload_selector": { + "description": "Information on selection of workloads that are recipients of this grant.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorInfo" + } + ] + }, + "enabled": { + "type": "boolean", + "description": "Indicates whether this Access Grant is enabled. The Access Grant is enabled if true, disabled if false. A disabled Access Grant deactivates access for the recipient workloads of the grant to the referenced Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.Info schema contains specification belonging to an Access Grant.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.FilterSpec": { + "required": [ + "management_services" + ], + "type": "object", + "properties": { + "management_services": { + "type": "array", + "description": "Identifiers of Management Services.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.FilterSpec schema contains properties used to filter the result when listing the summaries of Access Grants.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.ListResult": { + "required": [ + "summaries" + ], + "type": "object", + "properties": { + "summaries": { + "type": "array", + "description": "List of Summaries of Access Grants.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.Summary" + } + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.ListResult schema contains a list of Vcenter.Namespaces.ManagementServices.AccessGrants.Summary schemas belonging to Access Grants.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorSummary": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType enumerated type of workloads that receive a grant.\n\nPossible values:\n - `VIRTUAL_MACHINE`: Scope grant to Virtual Machines managed by VM Service.\n - `VSPHERE_POD`: Scope grant to vSphere Pods.\n - `ANY`: Scope grant to any type of workloads in the namespace. Note that ANY WorkloadType evaluates to workloads of any current and future WorkloadTypes.\n\n\nFor more information see: *Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadType*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorSummary schema contains a summary of selection of workloads that are recipients of an access grant.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.ManagementServices.AccessGrants.Summary": { + "required": [ + "access_grant", + "enabled", + "management_service", + "workload_selector" + ], + "type": "object", + "properties": { + "access_grant": { + "type": "string", + "description": "Identifier of the Access Grant.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.management_services.AccessGrant`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.management_services.AccessGrant`." + }, + "management_service": { + "type": "string", + "description": "A reference to an existing Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.supervisor.ManagementService`." + }, + "managed_by": { + "type": "string", + "description": "Information about the entity responsible for the lifecycle of this Access Grant record. \n\n When set, the field implies that any change to update or delete the Access Grant by any principal other than the component referenced by the field may be reverted by the automation component managing it.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, it implies the Access Grant is not managed by automation." + }, + "workload_selector": { + "description": "Summary of selection of workloads that are recipients of this grant.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.ManagementServices.AccessGrants.WorkloadSelectorSummary" + } + ] + }, + "enabled": { + "type": "boolean", + "description": "Indicates whether this Access Grant is enabled. The Access Grant is enabled if true, disabled if false. A disabled Access Grant deactivates access for the recipient workloads of the grant to the referenced Management Service.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Namespaces.ManagementServices.AccessGrants.Summary schema provides the summary for an existing Access Grant.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.ConditionStatus": { + "type": "string", + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.ConditionStatus enumerated type describes the status of a condition.\n\nPossible values:\n - `TRUE`: The condition is true.\n - `FALSE`: The condition is false.\n - `UNKNOWN`: The condition is unknown.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "TRUE", + "FALSE", + "UNKNOWN" + ] + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CreateSpec": { + "required": [ + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "The VM to be imported.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "storage_policy": { + "type": "string", + "description": "Storage policy to be used for the importing VM. A storage policy different from the VM's current storage policy might result in the associated storage resources being relocated to a datastore that conforms with the selected storage policy.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, and the target namespace has only a single storage policy, that storage policy will be used.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `SpsStorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `SpsStorageProfile`." + }, + "subnet_mappings": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo" + }, + "description": "Map of network device keys to Subnet information specifying the Subnets to which the VM's network devices should be connected. \n\n The key of the map is the device key of the network device on the VM, and the value is the Subnet information. Each device key must be unique within the map; overlapping or duplicate device keys are not allowed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, or any ethernet card is not specified, the default network configuration for the VM's target namespace will be used.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "network_customization": { + "description": "Network customization settings for Windows VM.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, Windows VM will not be able to receive new network identity assigned from the Supervisor workload network. This may result in a loss of network connectivity for VM that requires automated network identity configuration post import, such as systems not using DHCP. This field is not used for non-Windows VM.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.NetworkCustomization" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CreateSpec schema contains the specifications required to create an Import.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Subnet to which the network device should be connected. \n\n This name corresponds to the *Vcenter.Namespaces.Networks.Nsx.Subnets.Info.name* field retrieved from the Subnets API.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "type": { + "type": "string", + "description": "The type of the Subnet, indicating whether it is a SUBNET or SUBNETSET. \n\n This corresponds to the *Vcenter.Namespaces.Networks.Nsx.Subnets.Info.type* field retrieved from the Subnets API.\n\nPossible values:\n - `SUBNET`: A *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo.Entity.SUBNET* in a VPC represents an independent layer 2 broadcast domain with its associated CIDR and properties like Access mode (network advertisement), DHCP configuration etc.\n - `SUBNETSET`: A *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo.Entity.SUBNETSET* is a scalable grouping of VPC subnets sharing the same properties, which will allow auto-scale of networking availability to connect workloads.\n\n\nFor more information see: *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo.Entity*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo.name* will be used to find the appropriate SUBNET or SUBNETSET. This is required if the same name is found for both SUBNET and SUBNETSET." + } + }, + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo schema contains information identifying a Subnet.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo.Entity": { + "type": "string", + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo.Entity enumerates the type of the entity listed supported by *Vcenter.Namespaces.Mobility.Virtualmachines.Imports*.\n\nPossible values:\n - `SUBNET`: A *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo.Entity.SUBNET* in a VPC represents an independent layer 2 broadcast domain with its associated CIDR and properties like Access mode (network advertisement), DHCP configuration etc.\n - `SUBNETSET`: A *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.SubnetInfo.Entity.SUBNETSET* is a scalable grouping of VPC subnets sharing the same properties, which will allow auto-scale of networking availability to connect workloads.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SUBNET", + "SUBNETSET" + ] + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CustomizationSysprepUserData": { + "required": [ + "computer_name", + "full_name", + "org_name", + "product_id" + ], + "type": "object", + "properties": { + "computer_name": { + "type": "string", + "description": "The computer_name property is the computer name of the Windows guest. Computer name may contain letters (A-Z), numbers(0-9), and hyphens (-) but no spaces or periods (.). The name may not consist entirely of digits. Computer name is limited to 15 characters in length due to a Windows restriction.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "full_name": { + "type": "string", + "description": "User's full name.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "org_name": { + "type": "string", + "description": "User's organization.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "product_id": { + "type": "string", + "description": "The product_id property is a valid serial number. Microsoft Sysprep requires that a valid serial number be included in the answer file when mini-setup runs. This serial number is ignored if the original guest operating system was installed using a volume-licensed CD.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "password" + } + }, + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CustomizationSysprepUserData schema contains the personal data pertaining to the owner of the virtual machine. The CustomizationSysprepUserData data object type maps to the UserData key in the sysprep.inf answer file. These values are transferred directly into the sysprep.inf file that VirtualCenter stores on the target virtual disk.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.NetworkCustomization": { + "required": [ + "customization_sysprep_user_data" + ], + "type": "object", + "properties": { + "customization_sysprep_user_data": { + "description": "CustomizationSysprepUserData is the user data for sysprep customization. Must be provided for Windows VM that requires automated network identity configuration post import through Guest OS Customization.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CustomizationSysprepUserData" + } + ] + } + }, + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.NetworkCustomization schema contains network customization settings.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.State": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "description": "List of conditions describing the current state of the Import.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the Kubernetes resource associated with this operation is not yet created or ready to report conditions.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.Condition" + } + }, + "start_time": { + "type": "string", + "description": "The time when the operation starts in the Supervisor. It is represented in RFC3339 form and is UTC.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the operation has not started yet.", + "format": "date-time" + }, + "completion_time": { + "type": "string", + "description": "The time when the operation finishes in the Supervisor. It is represented in RFC3339 form and is UTC.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the operation has not completed yet.", + "format": "date-time" + }, + "virtual_machine_name": { + "type": "string", + "description": "The name of the virtual machine in the target namespace of the Supervisor.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` until the VM is imported. The value corresponds to the name in vm-operator virtualmachine and does not match the display name in vCenter Server." + } + }, + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.State schema represents the observed state of the Import.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.Condition": { + "required": [ + "reason", + "status", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of condition. \n\n Possible values may include, but not limited to: \n - SpecValid\n - NetworkBackingReady\n - VirtualMachineReadyForImport\n - VirtualMachineCreated\n - VirtualMachineReady\n - Completed\n - RollbackVirtualMachineLocationCompleted\n - RollbackVirtualMachinePropertyCompleted\n - RollbackCustomResourceCompleted\n - RollbackCompleted\n \n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "reason": { + "type": "string", + "description": "The reason for the condition's last transition.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "status": { + "type": "string", + "description": "The status of the condition.\n\nPossible values:\n - `TRUE`: The condition is true.\n - `FALSE`: The condition is false.\n - `UNKNOWN`: The condition is unknown.\n\n\nFor more information see: *Vcenter.Namespaces.Mobility.Virtualmachines.Imports.ConditionStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "message": { + "description": "A human-readable message indicating details about the last transition.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the message details are not required for taking actions. Some conditions are user actionable in order for the import operation to reach the desired state.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "last_transition_time": { + "type": "string", + "description": "Last time the condition transitioned from one status to another. This should be when the underlying condition changed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if there are no status transitions for the condition.", + "format": "date-time" + } + }, + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.Condition schema represents a condition of the Import.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Mobility.Virtualmachines.Imports.Info": { + "required": [ + "cancelable", + "description", + "operation", + "service", + "spec", + "state", + "status" + ], + "type": "object", + "properties": { + "spec": { + "description": "Specification of the desired behavior of the operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.CreateSpec" + } + ] + }, + "state": { + "description": "Observed state of the operation.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Mobility.Virtualmachines.Imports.State" + } + ] + }, + "description": { + "description": "Description of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "service": { + "type": "string", + "description": "Identifier of the service containing the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.service`." + }, + "operation": { + "type": "string", + "description": "Identifier of the operation associated with the task.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vapi.operation`." + }, + "parent": { + "type": "string", + "description": "Parent of the current task.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the task has no parent.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.task`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.task`." + }, + "target": { + "description": "Identifier of the target created by the operation or an existing one the operation performed on.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation has no target or multiple targets.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "status": { + "type": "string", + "description": "Status of the operation associated with the task.\n\nPossible values:\n - `PENDING`: The operation is in pending state.\n - `RUNNING`: The operation is in progress.\n - `BLOCKED`: The operation is blocked.\n - `SUCCEEDED`: The operation completed successfully.\n - `FAILED`: The operation failed.\n\n\nFor more information see: *Cis.Task.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "cancelable": { + "type": "boolean", + "description": "Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses.\n\nThis property was added in __vSphere API 6.7__." + }, + "error": { + "type": "object", + "description": "Description of the error if the operation status is \"FAILED\".\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the description of why the operation failed will be included in the result of the operation (see *Cis.Task.Info.result*)." + }, + "start_time": { + "type": "string", + "description": "Time when the operation is started.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.RUNNING*, *Cis.Task.Status.BLOCKED*, *Cis.Task.Status.SUCCEEDED*, or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the operation is completed.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of status is one of *Cis.Task.Status.SUCCEEDED* or *Cis.Task.Status.FAILED*.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who performed the operation.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property will be missing or `null` if the operation is performed by the system." + } + }, + "description": "The Vcenter.Namespaces.Mobility.Virtualmachines.Imports.Info schema represents an Import, containing both the spec and status.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode": { + "type": "string", + "description": "The Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode enumerates the default access modes of NSX VPC subnets hosting resources created in namespaces.\n\nPossible values:\n - `PUBLIC`: *Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode.PUBLIC* indicates new subnets are allocated from *Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo.external_IP_blocks* and are routable from external networks.\n - `PRIVATE_TGW`: *Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode.PRIVATE_TGW* indicates new subnets are allocated from *Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo.privateTGW_IP_blocks* and are routable within other VPCs from the same project.\n - `PRIVATE`: *Vcenter.Namespaces.Networks.Nsx.VpcSubnetAccessMode.PRIVATE* indicates new subnets are allocated from private CIDRs and are routable only within the same VPC.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "PUBLIC", + "PRIVATE_TGW", + "PRIVATE" + ] + }, + "Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo": { + "required": [ + "default_profile", + "name", + "nsx_path", + "profile" + ], + "type": "object", + "properties": { + "profile": { + "type": "string", + "description": "Identifier of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.VpcConnectivityProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.VpcConnectivityProfile`." + }, + "name": { + "type": "string", + "description": "Name of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "Description of the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no description is added to the VPC Connectivity Profile." + }, + "default_profile": { + "type": "boolean", + "description": "`true` if this profile is the default connectivity profile in NSX project, `false` otherwise.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "external_ip_blocks": { + "type": "array", + "description": "List of NSX External IP Blocks currently configured with the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no external IP blocks are defined in the VPC Connectivity Profile.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.IPBlockInfo" + } + }, + "privatetgw_ip_blocks": { + "type": "array", + "description": "List of NSX Private (Transit Gateway) IP Blocks currently configured with the VPC Connectivity Profile.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, no private TGW IP blocks are defined in the VPC Connectivity Profile.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.IPBlockInfo" + } + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo provides information of NSX VPC Connectivity Profile.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.IPBlockInfo": { + "required": [ + "available_ip_count", + "available_ip_ranges", + "cidr", + "name", + "path", + "used_ip_count" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "NSX policy path of the IP block.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "name": { + "type": "string", + "description": "IP block name.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "cidr": { + "description": "IP block CIDR.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.Ipv4Cidr" + } + ] + }, + "cidrs": { + "type": "array", + "description": "A list of IP block CIDRs used to create the IP block. The IP block can be created with both CIDRs and ranges. CIDRs should not overlap with *Vcenter.Namespaces.Networks.Nsx.IPBlockInfo.ranges*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.Ipv4Cidr" + } + }, + "ranges": { + "type": "array", + "description": "A list of IP block ranges used to create the IP block. The IP block can be created with both CIDRs and ranges. Ranges should not overlap with *Vcenter.Namespaces.Networks.Nsx.IPBlockInfo.cidrs*\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.IPRange" + } + }, + "available_ip_ranges": { + "type": "array", + "description": "Free IP ranges from CIDRs and ranges of the IP block.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.IPRange" + } + }, + "cidr_usages": { + "type": "array", + "description": "Usage details for each CIDR of the IP block.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.CidrUsageDetails" + } + }, + "range_usages": { + "type": "array", + "description": "Usage details for each range of the IP block.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.RangeUsageDetails" + } + }, + "used_ip_count": { + "type": "integer", + "description": "The count of used IP addresses in the IPBlock.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + }, + "available_ip_count": { + "type": "integer", + "description": "The count of available IP addresses in the IPBlock.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.IPBlockInfo schema contains information about IP blocks.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.Ipv4Cidr": { + "required": [ + "address", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IPv4 address.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The specification for representing CIDR notation of IP range.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.IPRange": { + "required": [ + "address", + "count" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "*Vcenter.Namespaces.Networks.Nsx.IPRange.address* is the starting IP address of the Vcenter.Namespaces.Networks.Nsx.IPRange.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "count": { + "type": "integer", + "description": "\n\n*Vcenter.Namespaces.Networks.Nsx.IPRange.count* is number of IP addresses in the range. \n\nFor example: \n\nA /24 subnet will have a count of 256. \n\nA /24 subnet with a gateway address and a broadcast address will have a count of 254.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.IPRange schema is used to express a range of IP addresses. The IP address supported by this structure will depend on the IP version that is being used by Supervisor. \n\nCurrently, the Supervisor only supports IPv4.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.CidrUsageDetails": { + "required": [ + "available_ip_ranges", + "cidr" + ], + "type": "object", + "properties": { + "cidr": { + "type": "string", + "description": "One CIDR in the IP block.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "available_ip_ranges": { + "type": "array", + "description": "Free IP ranges in the *Vcenter.Namespaces.Networks.Nsx.CidrUsageDetails.cidr*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.IPRange" + } + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.CidrUsageDetails schema contains CIDR usage details.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.RangeUsageDetails": { + "required": [ + "available_ip_ranges", + "ip_range" + ], + "type": "object", + "properties": { + "ip_range": { + "type": "string", + "description": "One range in the IP block.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "available_ip_ranges": { + "type": "array", + "description": "Free IP ranges in the *Vcenter.Namespaces.Networks.Nsx.RangeUsageDetails.ip_range*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.IPRange" + } + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.RangeUsageDetails schema contains IP range usage details.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.ProjectInfo": { + "required": [ + "name", + "nsx_path", + "project" + ], + "type": "object", + "properties": { + "project": { + "type": "string", + "description": "Identifier of NSX Project.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `NSXProject`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `NSXProject`." + }, + "name": { + "type": "string", + "description": "NSX Project name.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the Project.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.ProjectInfo schema contains information about a NSX Project.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.VpcInfo": { + "required": [ + "name", + "nsx_path", + "nsx_project_info", + "vpc", + "vpc_connectivity_profile_info" + ], + "type": "object", + "properties": { + "vpc": { + "type": "string", + "description": "Identifier of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespace_management.networks.nsx.Vpc`." + }, + "name": { + "type": "string", + "description": "Name of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_path": { + "type": "string", + "description": "NSX path of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "nsx_project_info": { + "description": "NSX Project used for this namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.ProjectInfo" + } + ] + }, + "vpc_connectivity_profile_info": { + "description": "VpcConnectivityProfile used for this namespace.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.VpcConnectivityProfileInfo" + } + ] + }, + "private_cidrs": { + "type": "array", + "description": "CIDR blocks from which private subnets and private pod IPs are allocated.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nmissing or `null` if no private CIDRs configured.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.Ipv4Cidr" + } + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.VpcInfo schema contains information about a VPC.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.Subnets.Entity": { + "type": "string", + "description": "The Vcenter.Namespaces.Networks.Nsx.Subnets.Entity enumerates the type of the entity listed whether Subnet or SubnetSet.\n\nPossible values:\n - `SUBNET`: A *Vcenter.Namespaces.Networks.Nsx.Subnets.Entity.SUBNET* in a VPC represents an independent layer 2 broadcast domain with its associated CIDR and properties like Access mode (network advertisement), DHCP configuration etc.\n - `SUBNETSET`: A *Vcenter.Namespaces.Networks.Nsx.Subnets.Entity.SUBNETSET* is a scalable grouping of VPC subnets sharing the same properties, which will allow auto-scale of networking availability to connect workloads.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SUBNET", + "SUBNETSET" + ] + }, + "Vcenter.Namespaces.Networks.Nsx.Subnets.Info": { + "required": [ + "access_mode", + "api_version", + "conditions", + "labels", + "name", + "type", + "uid" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the entity within the namespace.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "type": { + "type": "string", + "description": "The type of the entity.\n\nPossible values:\n - `SUBNET`: A *Vcenter.Namespaces.Networks.Nsx.Subnets.Entity.SUBNET* in a VPC represents an independent layer 2 broadcast domain with its associated CIDR and properties like Access mode (network advertisement), DHCP configuration etc.\n - `SUBNETSET`: A *Vcenter.Namespaces.Networks.Nsx.Subnets.Entity.SUBNETSET* is a scalable grouping of VPC subnets sharing the same properties, which will allow auto-scale of networking availability to connect workloads.\n\n\nFor more information see: *Vcenter.Namespaces.Networks.Nsx.Subnets.Entity*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "api_version": { + "type": "string", + "description": "The NSX API version of the entity that was retrieved.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "uid": { + "type": "string", + "description": "The unique identifier of the entity.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this entity.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "access_mode": { + "type": "string", + "description": "Access mode of entity, accessible only from within VPC or from outside the VPC. Possible values can be: \n - Private: Accessible only within the VPC\n - Public: Accessible outside the VPC\n - PrivateTGW: Accessible within a Project\n \n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "conditions": { + "type": "array", + "description": "A list of conditions indicating the condition of the Subnet or SubnetSet\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.Subnets.Condition" + } + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.Subnets.Info contains selected fields from the corresponding NSX Subnet or SubnetSet entity.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.Subnets.Condition": { + "required": [ + "condition_status", + "message", + "reason", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the condition. Possible values can be: \n - Ready\n \n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "condition_status": { + "type": "string", + "description": "Status of the condition. Possible values are: \n - True\n - False\n - Unknown\n \n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "time_stamp": { + "type": "string", + "description": "Last time the condition transitioned from one status to another. This should be the time when the underlying condition changed.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis field could be missing or `null` when the time of change of the condition is not known.", + "format": "date-time" + }, + "reason": { + "type": "string", + "description": "This shows a brief reason of condition.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "message": { + "type": "string", + "description": "This shows a human-readable message about condition.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "Condition defines condition of the *Vcenter.Namespaces.Networks.Nsx.Subnets.Entity*.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.Networks.Nsx.Subnets.ListResult": { + "required": [ + "subnets" + ], + "type": "object", + "properties": { + "subnets": { + "type": "array", + "description": "List of all NSX Subnets and SubnetSets.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Namespaces.Networks.Nsx.Subnets.Info" + } + } + }, + "description": "The Vcenter.Namespaces.Networks.Nsx.Subnets.ListResult schema represents the result of the *GET /vcenter/namespaces/{namespace}/networks/nsx/subnets* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Namespaces.User.Instances.Summary": { + "required": [ + "master_host", + "namespace" + ], + "type": "object", + "properties": { + "namespace": { + "type": "string", + "description": "Identifier of the namespace.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.namespaces.Instance`." + }, + "master_host": { + "type": "string", + "description": "IP address or FQDN of the API endpoint for the given namespace.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Namespaces.User.Instances.Summary schema contains information about a namespace that user is authorized to access.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Namespaces.User.Instances.FilterSpec": { + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "Identifier of the user.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf set, only return namespaces the given user has permissions to access. If missing or `null`, this filter is not applied." + } + }, + "description": "The Vcenter.Namespaces.User.Instances.FilterSpec schema contains properties used to filter the results when listing user namespaces (see *GET /vcenter/namespaces-user/namespaces*).\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.Network.Projects.FilterSpec": { + "type": "object", + "properties": { + "ids": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers that projects must have to match the filter (see *Vcenter.Network.Projects.ProjectInfo.id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, projects with any ID match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.network.project`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.network.project`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that projects must have to match the filter (see *Vcenter.Network.Projects.ProjectInfo.name*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, projects with any name match the filter.", + "items": { + "type": "string" + } + }, + "external_ids": { + "uniqueItems": true, + "type": "array", + "description": "External identifiers that projects must have to match the filter (see *Vcenter.Network.Projects.ProjectInfo.external_id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, projects with any external identifier match the filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Network.Projects.FilterSpec schema contains properties used to filter the results when listing projects. If multiple properties are specified, only projects matching all of the properties match the filter.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.ProjectInfo": { + "required": [ + "external_id", + "id", + "name" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the project.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.network.project`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.network.project`." + }, + "name": { + "type": "string", + "description": "Name of the project.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "external_id": { + "type": "string", + "description": "External identifier of the project.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Network.Projects.ProjectInfo schema contains details of a project on vCenter.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.ListResult": { + "required": [ + "projects" + ], + "type": "object", + "properties": { + "projects": { + "type": "array", + "description": "Info(s) of projects.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Info" + } + } + }, + "description": "The Vcenter.Network.Projects.ListResult schema represents the result of *GET /vcenter/network/projects* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Info": { + "required": [ + "project" + ], + "type": "object", + "properties": { + "project": { + "description": "Details of the project.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Network.Projects.ProjectInfo" + } + ] + } + }, + "description": "The Vcenter.Network.Projects.Info schema contains commonly used information about a project.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Vpcs.FilterSpec": { + "type": "object", + "properties": { + "ids": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers that VPC must have to match the filter (see *Vcenter.Network.Projects.Vpcs.VpcInfo.id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, VPC with any ID match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.network.vpc`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.network.vpc`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that VPC must have to match the filter (see *Vcenter.Network.Projects.Vpcs.VpcInfo.name*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, VPC with any name match the filter.", + "items": { + "type": "string" + } + }, + "external_ids": { + "uniqueItems": true, + "type": "array", + "description": "External identifiers that VPC must have to match the filter (see *Vcenter.Network.Projects.Vpcs.VpcInfo.external_id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, VPC with any external identifier match the filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Network.Projects.Vpcs.FilterSpec schema contains properties used to filter the results when listing VPCs. If multiple properties are specified, only VPCs matching all of the properties match the filter.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Vpcs.VpcInfo": { + "required": [ + "external_id", + "id", + "name" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.network.vpc`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.network.vpc`." + }, + "name": { + "type": "string", + "description": "Name of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "external_id": { + "type": "string", + "description": "External identifier of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Network.Projects.Vpcs.VpcInfo schema contains details of a VPC in vCenter.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Vpcs.ListResult": { + "required": [ + "vpcs" + ], + "type": "object", + "properties": { + "vpcs": { + "type": "array", + "description": "Info(s) of VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.Info" + } + } + }, + "description": "The Vcenter.Network.Projects.Vpcs.ListResult schema represents the result of *GET /vcenter/network/projects/{project}/vpcs* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Vpcs.Info": { + "required": [ + "project", + "vpc" + ], + "type": "object", + "properties": { + "vpc": { + "description": "Details of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.VpcInfo" + } + ] + }, + "project": { + "description": "Details of the project.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Network.Projects.ProjectInfo" + } + ] + } + }, + "description": "The Vcenter.Network.Projects.Vpcs.Info schema contains commonly used information about a certain VPC.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Vpcs.Subnets.FilterSpec": { + "type": "object", + "properties": { + "ids": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers that subnet must have to match the filter (see *Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo.id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, subnets with any ID match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.network.subnet`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.network.subnet`.", + "items": { + "type": "string" + } + }, + "names": { + "uniqueItems": true, + "type": "array", + "description": "Names that subnet must have to match the filter (see *Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo.name*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, subnets with any name match the filter.", + "items": { + "type": "string" + } + }, + "external_ids": { + "uniqueItems": true, + "type": "array", + "description": "External identifiers that subnet must have to match the filter (see *Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo.external_id*).\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, subnets with any external identifier match the filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Network.Projects.Vpcs.Subnets.FilterSpec schema contains properties used to filter the results when listing subnets. If multiple properties are specified, only subnets matching all of the properties match the filter.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo": { + "required": [ + "external_id", + "id", + "name" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the subnet.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.network.subnet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.network.subnet`." + }, + "name": { + "type": "string", + "description": "Name of the subnet.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "external_id": { + "type": "string", + "description": "External identifier of the subnet.\n\nThis property was added in __vSphere API 9.0.0.0__." + } + }, + "description": "The Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo schema contains details of a subnet on vCenter.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Vpcs.Subnets.ListResult": { + "required": [ + "subnets" + ], + "type": "object", + "properties": { + "subnets": { + "type": "array", + "description": "Info(s) of subnets.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.Subnets.Info" + } + } + }, + "description": "The Vcenter.Network.Projects.Vpcs.Subnets.ListResult schema represents the result of *GET /vcenter/network/projects/{project}/vpcs/{vpc}/subnets* operation.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Network.Projects.Vpcs.Subnets.Info": { + "required": [ + "project", + "subnet", + "vpc" + ], + "type": "object", + "properties": { + "subnet": { + "description": "Details of the subnet.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.Subnets.SubnetInfo" + } + ] + }, + "vpc": { + "description": "Details of the VPC.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Network.Projects.Vpcs.VpcInfo" + } + ] + }, + "project": { + "description": "Details of the project.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Network.Projects.ProjectInfo" + } + ] + } + }, + "description": "The Vcenter.Network.Projects.Vpcs.Subnets.Info schema contains commonly used information about a subnet.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Ovf.WarningType": { + "type": "string", + "description": "The Vcenter.Ovf.WarningType enumerated type defines the warnings which can be raised during the OVF package deployment.\n\nPossible values:\n - `SELF_SIGNED_CERTIFICATE`: The certificate used for signing the OVF package content is self-signed.\n - `EXPIRED_CERTIFICATE`: The certificate used for signing the OVF package content is expired.\n - `NOT_YET_VALID_CERTIFICATE`: The certificate used for signing the OVF package content is not yet valid.\n - `UNTRUSTED_CERTIFICATE`: The certificate used for signing the OVF package content is not trusted.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "SELF_SIGNED_CERTIFICATE", + "EXPIRED_CERTIFICATE", + "NOT_YET_VALID_CERTIFICATE", + "UNTRUSTED_CERTIFICATE" + ] + }, + "Vcenter.Ovf.DiskProvisioningType": { + "type": "string", + "description": "The Vcenter.Ovf.DiskProvisioningType enumerated type defines the virtual disk provisioning types that can be set for a disk on the target platform.\n\nPossible values:\n - `thin`: A thin provisioned virtual disk has space allocated and zeroed on demand as the space is used.\n - `thick`: A thick provisioned virtual disk has all space allocated at creation time and the space is zeroed on demand as the space is used.\n - `eagerZeroedThick`: An eager zeroed thick provisioned virtual disk has all space allocated and wiped clean of any previous contents on the physical media at creation time. \n\n Disks specified as eager zeroed thick may take longer time to create than disks specified with the other disk provisioning types.\n", + "enum": [ + "thin", + "thick", + "eagerZeroedThick" + ] + }, + "Vcenter.Ovf.CertificateParams": { + "type": "object", + "properties": { + "issuer": { + "type": "string", + "description": "Certificate issuer. For example: /C=US/ST=California/L=Palo Alto/O=VMware, Inc.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "subject": { + "type": "string", + "description": "Certificate subject. For example: /C=US/ST=Massachusetts/L=Hopkinton/O=EMC Corporation/OU=EMC Avamar/CN=EMC Corporation.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "is_valid": { + "type": "boolean", + "description": "Is the certificate chain validated.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "is_self_signed": { + "type": "boolean", + "description": "Is the certificate self-signed.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "x509": { + "type": "string", + "description": "The X509 representation of the certificate.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "warnings": { + "type": "array", + "description": "The list of warnings raised for the OVF certificate used in this OVF package deployment. Any warning that is not ignored by the client will cause the OVF package deployment to fail.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is set only if the certificate has warnings when retrieving information about an OVF package by *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*. When the property is set, the *Vcenter.Ovf.WarningInfo.ignored* property can be updated before the OVF parameter is passed to *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* to deploy the OVF package.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.WarningInfo" + } + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.CertificateParams schema contains information about the public key certificate used to sign the OVF package. This schema will only be returned if the OVF package is signed. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.WarningInfo": { + "required": [ + "ignored", + "message", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The warning type raised during the OVF package deployment.\n\nPossible values:\n - `SELF_SIGNED_CERTIFICATE`: The certificate used for signing the OVF package content is self-signed.\n - `EXPIRED_CERTIFICATE`: The certificate used for signing the OVF package content is expired.\n - `NOT_YET_VALID_CERTIFICATE`: The certificate used for signing the OVF package content is not yet valid.\n - `UNTRUSTED_CERTIFICATE`: The certificate used for signing the OVF package content is not trusted.\n\n\nFor more information see: *Vcenter.Ovf.WarningType*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "message": { + "description": "The message specifying more details about the warning.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "ignored": { + "type": "boolean", + "description": "Indicates if this warning will be ignored when deploying the OVF package. \n\n The value is set to be `false` when it is returned from *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*, it should be updated to be `true` when calling *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* if the warning can be ignored, otherwise the OVF package deployment will fail.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.Ovf.WarningInfo schema provides information about the warnings which are raised during the OVF package deployment.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Ovf.DeploymentOption": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key of the deployment option, corresponding to the ovf:id attribute in the OVF descriptor.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "label": { + "type": "string", + "description": "A localizable label for the deployment option.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "description": { + "type": "string", + "description": "A localizable description for the deployment option.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "default_choice": { + "type": "boolean", + "description": "A boolean flag indicates whether this deployment option is the default choice.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package. If missing or `null` or false, it is not the default." + } + }, + "description": "The Vcenter.Ovf.DeploymentOption schema contains the information about a deployment option as defined in the OVF specification. \n\n This corresponds to the ovf:Configuration element of the ovf:DeploymentOptionSection in the specification. The ovf:DeploymentOptionSection specifies a discrete set of intended resource allocation configurations. This schema represents one item from that set. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.DeploymentOptionParams": { + "type": "object", + "properties": { + "deployment_options": { + "type": "array", + "description": "List of deployment options. This property corresponds to the ovf:Configuration elements of the ovf:DeploymentOptionSection in the specification. It is a discrete set of intended resource allocation configurations from which one can be selected.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.DeploymentOption" + } + }, + "selected_key": { + "type": "string", + "description": "The selected deployment option. Identifies the *Vcenter.Ovf.DeploymentOption* in the list in the deployment_options property with a matching value in the *Vcenter.Ovf.DeploymentOption.key* property.\n\nThis property is optional in the input parameters when deploying an OVF package. If missing or `null` the server will use the default deployment configuration, usually it's the first one in *Vcenter.Ovf.DeploymentOptionParams.deployment_options* list. This property is optional in the result when retrieving information about an OVF package. The value will be set only if it is specified with the optional ovf:default attribute." + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.DeploymentOptionParams schema describes the possible deployment options as well as the choice provided by the user. \n\n This information based on the ovf:DeploymentOptionSection. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.ExtraConfig": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key of the ExtraConfig element.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "value": { + "type": "string", + "description": "The value of the ExtraConfig element.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "virtual_system_id": { + "type": "string", + "description": "The identifier of the virtual system containing the vmw:ExtraConfig element.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.ExtraConfig schema contains the information about a vmw:ExtraConfig element which can be used to specify configuration settings that are transferred directly to the ```.vmx``` file. The behavior of the vmw:ExtraConfig element is similar to the ```extraConfig``` property of the ```VirtualMachineConfigSpec``` object in the VMware vSphere API. Thus, the same restrictions apply, such as you cannot set values that could otherwise be set with other properties in the ```VirtualMachineConfigSpec``` object. See the VMware vSphere API reference for details on this. \n\n vmw:ExtraConfig elements may occur as direct child elements of a VirtualHardwareSection, or as child elements of individual virtual hardware items. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.ExtraConfigParams": { + "type": "object", + "properties": { + "extra_configs": { + "type": "array", + "description": "List of vmw:ExtraConfig elements in the OVF package.\n\nThis property is optional in the input parameters when deploying an OVF package. If missing or `null` there are no extra configuration elements to use for this OVF package deployment. This property will always be present in the result when retrieving information about an OVF package. It will be an empty list if there are no extra configuration elements in the OVF package.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ExtraConfig" + } + }, + "exclude_keys": { + "type": "array", + "description": "Specifies which extra configuration items in the list in the extra_configs field should be ignored during deployment. \n\n If set, the given keys for extra configurations will be ignored during deployment. The key is defined in the *Vcenter.Ovf.ExtraConfig.key* property.\n\nThis property is optional in the input parameters when deploying an OVF package. It is an error to set both this and *Vcenter.Ovf.ExtraConfigParams.include_keys*. This property is optional in the result when retrieving information about an OVF package. It is an error to set both this and *Vcenter.Ovf.ExtraConfigParams.include_keys*.", + "items": { + "type": "string" + } + }, + "include_keys": { + "type": "array", + "description": "Specifies which extra configuration items in the list in the extra_configs field should be included during deployment. \n\n If set, all but the given keys for extra configurations will be ignored during deployment. The key is defined in the *Vcenter.Ovf.ExtraConfig.key* property.\n\nThis property is optional in the input parameters when deploying an OVF package. It is an error to set both this and *Vcenter.Ovf.ExtraConfigParams.exclude_keys*. This property is optional in the result when retrieving information about an OVF package. It is an error to set both this and *Vcenter.Ovf.ExtraConfigParams.exclude_keys*.", + "items": { + "type": "string" + } + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.ExtraConfigParams schema contains the parameters with information about the vmw:ExtraConfig elements in an OVF package. \n\n vmw:ExtraConfig elements can be used to specify configuration settings that are transferred directly to the ```.vmx``` file. \n\n The behavior of the vmw:ExtraConfig element is similar to the ```extraConfig``` property of the ```VirtualMachineConfigSpec``` object in the VMware vSphere API. Thus, the same restrictions apply, such as you cannot set values that could otherwise be set with other properties in the ```VirtualMachineConfigSpec``` object. See the VMware vSphere API reference for details on this. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.IpAllocationParams": { + "type": "object", + "properties": { + "supported_allocation_scheme": { + "type": "array", + "description": "Specifies the IP allocation schemes supported by the guest software. This property defines the valid values for the IP allocation policy. This setting is often configured by the virtual appliance template author or OVF package author to reflect what the guest software supports, and the IP allocation policy is configured at deployment time. See *Vcenter.Ovf.IpAllocationParams.ip_allocation_policy*.\n\nPossible values:\n - `DHCP`: It supports DHCP to acquire IP configuration.\n - `OVF_ENVIRONMENT`: It supports setting the IP configuration through the properties provided in the OVF environment.\n\n\nFor more information see: *Vcenter.Ovf.IpAllocationParams.IpAllocationScheme*.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package.", + "items": { + "type": "string" + } + }, + "supported_ip_allocation_policy": { + "type": "array", + "description": "Specifies the IP allocation policies supported. The set of valid options for the policy is based on the capabilities of the virtual appliance software, as specified by the *Vcenter.Ovf.IpAllocationParams.supported_allocation_scheme* property.\n\nPossible values:\n - `DHCP`: Specifies that DHCP will be used to allocate IP addresses.\n - `TRANSIENT_IPPOOL`: Specifies that IP addresses are allocated from an IP pool. The IP addresses are allocated when needed, typically at power-on, and deallocated during power-off. There is no guarantee that a property will receive same IP address when restarted.\n - `STATIC_MANUAL`: Specifies that IP addresses are configured manually upon deployment, and will be kept until reconfigured or the virtual appliance destroyed. This ensures that a property gets a consistent IP for its lifetime.\n - `STATIC_IPPOOL`: Specifies that IP addresses are allocated from the range managed by an IP pool. The IP addresses are allocated at first power-on, and remain allocated at power-off. This ensures that a virtual appliance gets a consistent IP for its life-time.\n\n\nFor more information see: *Vcenter.Ovf.IpAllocationParams.IpAllocationPolicy*.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package.", + "items": { + "type": "string" + } + }, + "ip_allocation_policy": { + "type": "string", + "description": "Specifies how IP allocation is done through an IP Pool. This is typically specified by the deployer.\n\nPossible values:\n - `DHCP`: Specifies that DHCP will be used to allocate IP addresses.\n - `TRANSIENT_IPPOOL`: Specifies that IP addresses are allocated from an IP pool. The IP addresses are allocated when needed, typically at power-on, and deallocated during power-off. There is no guarantee that a property will receive same IP address when restarted.\n - `STATIC_MANUAL`: Specifies that IP addresses are configured manually upon deployment, and will be kept until reconfigured or the virtual appliance destroyed. This ensures that a property gets a consistent IP for its lifetime.\n - `STATIC_IPPOOL`: Specifies that IP addresses are allocated from the range managed by an IP pool. The IP addresses are allocated at first power-on, and remain allocated at power-off. This ensures that a virtual appliance gets a consistent IP for its life-time.\n\n\nFor more information see: *Vcenter.Ovf.IpAllocationParams.IpAllocationPolicy*.\n\nThis property is optional in the input parameters when deploying an OVF package. If missing or `null` there is no IP allocation policy. This property will always be present in the result when retrieving information about an OVF package." + }, + "supported_ip_protocol": { + "type": "array", + "description": "Specifies the IP protocols supported by the guest.\n\nPossible values:\n - `IPV4`: It supports the IPv4 protocol.\n - `IPV6`: It supports the IPv6 protocol.\n\n\nFor more information see: *Vcenter.Ovf.IpAllocationParams.IpProtocol*.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package.", + "items": { + "type": "string" + } + }, + "ip_protocol": { + "type": "string", + "description": "Specifies the chosen IP protocol for this deployment. This must be one of the IP protocols supported by the guest software. See *Vcenter.Ovf.IpAllocationParams.supported_ip_protocol*.\n\nPossible values:\n - `IPV4`: It supports the IPv4 protocol.\n - `IPV6`: It supports the IPv6 protocol.\n\n\nFor more information see: *Vcenter.Ovf.IpAllocationParams.IpProtocol*.\n\nThis property is optional in the input parameters when deploying an OVF package. If missing or `null` there is no IP protocol chosen. This property will always be present in the result when retrieving information about an OVF package." + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.IpAllocationParams schema specifies how IP addresses are allocated to OVF properties. In particular, it informs the deployment platform whether the guest supports IPv4, IPv6, or both. It also specifies whether the IP addresses can be obtained through DHCP or through the properties provided in the OVF environment. \n\n Ovf Property elements are exposed to the guest software through the OVF environment. Each Property element exposed in the OVF environment shall be constructed from the value of the ovf:key attribute. A Property element contains a key/value pair, it may optionally specify type qualifiers using the ovf:qualifiers attribute with multiple qualifiers separated by commas. \n\n The settings in Vcenter.Ovf.IpAllocationParams schema are global to a deployment. Thus, if a virtual machine is part of a virtual appliance, then its settings are ignored and the settings for the virtual appliance is used. \n\n This information is based on the vmw:IpAssignmentSection in OVF package. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.IpAllocationParams.IpAllocationPolicy": { + "type": "string", + "description": "The Vcenter.Ovf.IpAllocationParams.IpAllocationPolicy enumerated type defines the possible IP allocation policy for a deployment.\n\nPossible values:\n - `DHCP`: Specifies that DHCP will be used to allocate IP addresses.\n - `TRANSIENT_IPPOOL`: Specifies that IP addresses are allocated from an IP pool. The IP addresses are allocated when needed, typically at power-on, and deallocated during power-off. There is no guarantee that a property will receive same IP address when restarted.\n - `STATIC_MANUAL`: Specifies that IP addresses are configured manually upon deployment, and will be kept until reconfigured or the virtual appliance destroyed. This ensures that a property gets a consistent IP for its lifetime.\n - `STATIC_IPPOOL`: Specifies that IP addresses are allocated from the range managed by an IP pool. The IP addresses are allocated at first power-on, and remain allocated at power-off. This ensures that a virtual appliance gets a consistent IP for its life-time.\n", + "enum": [ + "DHCP", + "TRANSIENT_IPPOOL", + "STATIC_MANUAL", + "STATIC_IPPOOL" + ] + }, + "Vcenter.Ovf.IpAllocationParams.IpAllocationScheme": { + "type": "string", + "description": "The Vcenter.Ovf.IpAllocationParams.IpAllocationScheme enumerated type defines the possible IP allocation schemes that can be supported by the guest software.\n\nPossible values:\n - `DHCP`: It supports DHCP to acquire IP configuration.\n - `OVF_ENVIRONMENT`: It supports setting the IP configuration through the properties provided in the OVF environment.\n", + "enum": [ + "DHCP", + "OVF_ENVIRONMENT" + ] + }, + "Vcenter.Ovf.IpAllocationParams.IpProtocol": { + "type": "string", + "description": "The Vcenter.Ovf.IpAllocationParams.IpProtocol enumerated type defines the IP protocols supported by the guest software.\n\nPossible values:\n - `IPV4`: It supports the IPv4 protocol.\n - `IPV6`: It supports the IPv6 protocol.\n", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "Vcenter.Ovf.OvfMessage": { + "required": [ + "category" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "The message category.\n\nPossible values:\n - `VALIDATION`: The OVF descriptor is invalid, for example, syntax errors or schema errors.\n - `INPUT`: The user provided input parameters are invalid.\n - `SERVER`: Server error.\n\n\nFor more information see: *Vcenter.Ovf.OvfMessage.Category*." + }, + "issues": { + "type": "array", + "description": "List of parse issues (see *Vcenter.Ovf.ParseIssue*).\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.VALIDATION*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ParseIssue" + } + }, + "name": { + "type": "string", + "description": "The name of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "value": { + "type": "string", + "description": "The value of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "message": { + "description": "A localizable message.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "error": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + }, + "description": "The Vcenter.Ovf.OvfMessage schema describes a base OVF handling error message related to accessing, validating, deploying, or exporting an OVF package. \n\n These messages fall into different categories defined in *Vcenter.Ovf.OvfMessage.Category*:" + }, + "Vcenter.Ovf.OvfMessage.Category": { + "type": "string", + "description": "The Vcenter.Ovf.OvfMessage.Category enumerated type defines the categories of messages (see *Vcenter.Ovf.OvfMessage*).\n\nPossible values:\n - `VALIDATION`: The OVF descriptor is invalid, for example, syntax errors or schema errors.\n - `INPUT`: The user provided input parameters are invalid.\n - `SERVER`: Server error.\n", + "enum": [ + "VALIDATION", + "INPUT", + "SERVER" + ] + }, + "Vcenter.Ovf.ParseIssue": { + "required": [ + "category", + "column_number", + "file", + "line_number", + "message" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "The category of the parse issue.\n\nPossible values:\n - `VALUE_ILLEGAL`: Illegal value error. For example, the value is malformed, not a number, or outside of the given range, and so on.\n - `ATTRIBUTE_REQUIRED`: Required attribute error. It indicates that a required attribute is missing from an element in the OVF descriptor.\n - `ATTRIBUTE_ILLEGAL`: Illegal attribute error. It indicates that an illegal attribute is set for an element in the OVF descriptor. For example, empty disks do not use format, parentRef, and populatedSize attributes, if these attributes are present in an empty disk element then will get this pasrse issue.\n - `ELEMENT_REQUIRED`: Required element error. It indicates that a required element is missing from the OVF descriptor.\n - `ELEMENT_ILLEGAL`: Illegal element error. It indicates that an element is present in a location which is not allowed, or found multiple elements but only one is allowed at the location in the OVF descriptor.\n - `ELEMENT_UNKNOWN`: Unknown element error. It indicates that an element is unsupported when parsing an OVF descriptor.\n - `SECTION_UNKNOWN`: Section unknown error. It indicates that a section is unsupported when parsing an OVF descriptor.\n - `SECTION_RESTRICTION`: Section restriction error. It indicates that a section appears in place in the OVF descriptor where it is not allowed, a section appears fewer times than is required, or a section appears more times than is allowed.\n - `PARSE_ERROR`: OVF package parsing error, including: \n - OVF descriptor parsing errors, for example, syntax errors or schema errors. \n - Manifest file parsing and verification errors. \n - Certificate file parsing and verification errors. \n\n - `GENERATE_ERROR`: OVF descriptor (which is an XML document) generating error, for example, well-formedness errors as well as unexpected processing conditions.\n - `VALIDATION_ERROR`: An issue with the manifest and signing.\n - `EXPORT_ERROR`: Issue during OVF export, for example, malformed deviceId, controller not found, or file backing for a device not found.\n - `INTERNAL_ERROR`: Server encountered an unexpected error which prevented it from fulfilling the request.\n\n\nFor more information see: *Vcenter.Ovf.ParseIssue.Category*." + }, + "file": { + "type": "string", + "description": "The name of the file in which the parse issue was found." + }, + "line_number": { + "type": "integer", + "description": "The line number of the line in the file (see *Vcenter.Ovf.ParseIssue.file*) where the parse issue was found (or -1 if not applicable).", + "format": "int64" + }, + "column_number": { + "type": "integer", + "description": "The position in the line (see *Vcenter.Ovf.ParseIssue.line_number*) (or -1 if not applicable).", + "format": "int64" + }, + "message": { + "description": "A localizable message describing the parse issue.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Ovf.ParseIssue schema contains the information about the issue found when parsing an OVF package during deployment or exporting an OVF package including: \n - Parsing and validation error on OVF descriptor (which is an XML document), manifest and certificate files. \n - OVF descriptor generating and device error. \n - Unexpected server error. \n" + }, + "Vcenter.Ovf.ParseIssue.Category": { + "type": "string", + "description": "The Vcenter.Ovf.ParseIssue.Category enumerated type defines the categories of issues that can be found when parsing files inside an OVF package (see *Vcenter.Ovf.ParseIssue*) including OVF descriptor (which is an XML document), manifest and certificate files, or exporting an OVF package.\n\nPossible values:\n - `VALUE_ILLEGAL`: Illegal value error. For example, the value is malformed, not a number, or outside of the given range, and so on.\n - `ATTRIBUTE_REQUIRED`: Required attribute error. It indicates that a required attribute is missing from an element in the OVF descriptor.\n - `ATTRIBUTE_ILLEGAL`: Illegal attribute error. It indicates that an illegal attribute is set for an element in the OVF descriptor. For example, empty disks do not use format, parentRef, and populatedSize attributes, if these attributes are present in an empty disk element then will get this pasrse issue.\n - `ELEMENT_REQUIRED`: Required element error. It indicates that a required element is missing from the OVF descriptor.\n - `ELEMENT_ILLEGAL`: Illegal element error. It indicates that an element is present in a location which is not allowed, or found multiple elements but only one is allowed at the location in the OVF descriptor.\n - `ELEMENT_UNKNOWN`: Unknown element error. It indicates that an element is unsupported when parsing an OVF descriptor.\n - `SECTION_UNKNOWN`: Section unknown error. It indicates that a section is unsupported when parsing an OVF descriptor.\n - `SECTION_RESTRICTION`: Section restriction error. It indicates that a section appears in place in the OVF descriptor where it is not allowed, a section appears fewer times than is required, or a section appears more times than is allowed.\n - `PARSE_ERROR`: OVF package parsing error, including: \n - OVF descriptor parsing errors, for example, syntax errors or schema errors. \n - Manifest file parsing and verification errors. \n - Certificate file parsing and verification errors. \n\n - `GENERATE_ERROR`: OVF descriptor (which is an XML document) generating error, for example, well-formedness errors as well as unexpected processing conditions.\n - `VALIDATION_ERROR`: An issue with the manifest and signing.\n - `EXPORT_ERROR`: Issue during OVF export, for example, malformed deviceId, controller not found, or file backing for a device not found.\n - `INTERNAL_ERROR`: Server encountered an unexpected error which prevented it from fulfilling the request.\n", + "enum": [ + "VALUE_ILLEGAL", + "ATTRIBUTE_REQUIRED", + "ATTRIBUTE_ILLEGAL", + "ELEMENT_REQUIRED", + "ELEMENT_ILLEGAL", + "ELEMENT_UNKNOWN", + "SECTION_UNKNOWN", + "SECTION_RESTRICTION", + "PARSE_ERROR", + "GENERATE_ERROR", + "VALIDATION_ERROR", + "EXPORT_ERROR", + "INTERNAL_ERROR" + ] + }, + "Vcenter.Ovf.OvfError": { + "required": [ + "category" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "The message category.\n\nPossible values:\n - `VALIDATION`: The OVF descriptor is invalid, for example, syntax errors or schema errors.\n - `INPUT`: The user provided input parameters are invalid.\n - `SERVER`: Server error.\n\n\nFor more information see: *Vcenter.Ovf.OvfMessage.Category*." + }, + "issues": { + "type": "array", + "description": "List of parse issues (see *Vcenter.Ovf.ParseIssue*).\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.VALIDATION*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ParseIssue" + } + }, + "name": { + "type": "string", + "description": "The name of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "value": { + "type": "string", + "description": "The value of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "message": { + "description": "A localizable message.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "error": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + }, + "description": "The Vcenter.Ovf.OvfError schema describes an error related to accessing, validating, deploying, or exporting an OVF package." + }, + "Vcenter.Ovf.OvfWarning": { + "required": [ + "category" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "The message category.\n\nPossible values:\n - `VALIDATION`: The OVF descriptor is invalid, for example, syntax errors or schema errors.\n - `INPUT`: The user provided input parameters are invalid.\n - `SERVER`: Server error.\n\n\nFor more information see: *Vcenter.Ovf.OvfMessage.Category*." + }, + "issues": { + "type": "array", + "description": "List of parse issues (see *Vcenter.Ovf.ParseIssue*).\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.VALIDATION*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ParseIssue" + } + }, + "name": { + "type": "string", + "description": "The name of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "value": { + "type": "string", + "description": "The value of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "message": { + "description": "A localizable message.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "error": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + }, + "description": "The Vcenter.Ovf.OvfWarning schema describes a warning related to accessing, validating, deploying, or exporting an OVF package." + }, + "Vcenter.Ovf.OvfInfo": { + "required": [ + "messages" + ], + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "A list of localizable messages (see *Vapi.Std.LocalizableMessage*).", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.Ovf.OvfInfo schema contains informational messages related to accessing, validating, deploying, or exporting an OVF package." + }, + "Vcenter.Ovf.OvfParams": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.OvfParams schema defines the common properties for all OVF deployment parameters. OVF parameters serve several purposes: \n - Describe information about a given OVF package. \n - Describe default deployment configuration. \n - Describe possible deployment values based on the deployment environment. \n - Provide deployment-specific configuration. \n Each OVF parameters schema specifies a particular configurable aspect of OVF deployment. An aspect has both a query-model and a deploy-model. The query-model is used when the OVF package is queried, and the deploy-model is used when deploying an OVF package. \n\n Most OVF parameter schemas provide both informational and deployment parameters. However, some are purely informational (for example, download size) and some are purely deployment parameters (for example, the flag to indicate whether registration as a vCenter extension is accepted). \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.Property": { + "type": "object", + "properties": { + "class_id": { + "type": "string", + "description": "The classId of this OVF property.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "id": { + "type": "string", + "description": "The identifier of this OVF property.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "instance_id": { + "type": "string", + "description": "The instanceId of this OVF property.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "category": { + "type": "string", + "description": "If this is set to a non-empty string, this property starts a new category.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package. If missing or `null`, the property is in the same category as the previous item, otherwise, it starts a new category." + }, + "ui_optional": { + "type": "boolean", + "description": "Whether a category is UI optional. This is only used if this property starts a new category (see *Vcenter.Ovf.Property.category*). \n\n The value is stored in an optional attribute vmw:uioptional to the ovf:Category element. The default value is false. If this value is true, the properties within this category are optional. The UI renders this as a group with a check box, and the group is grayed out until the check box is selected. When the check box is selected, the input values are read and used in deployment. If properties within the same category specify conflicting values the default is used. Only implemented in vSphere Web Client 5.1 and later as of Nov 2012.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package." + }, + "label": { + "type": "string", + "description": "The display name of this OVF property.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "description": { + "type": "string", + "description": "A description of this OVF property.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package." + }, + "type": { + "type": "string", + "description": "The type of this OVF property. Refer to the configuration of a virtual appliance/virtual machine for the valid values.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "value": { + "type": "string", + "description": "The OVF property value. This contains the default value from ovf:defaultValue if ovf:value is not present when read.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.Property schema contains the information about a property in an OVF package. \n\n A property is uniquely identified by its [classid.]id[.instanceid] fully-qualified name (see *Vcenter.Ovf.Property.class_id*, *Vcenter.Ovf.Property.id*, and *Vcenter.Ovf.Property.instance_id*). If multiple properties in an OVF package have the same fully-qualified name, then the property is excluded and cannot be set. We do warn about this during import. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.PropertyParams": { + "type": "object", + "properties": { + "properties": { + "type": "array", + "description": "List of OVF properties.\n\nThis property is optional in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.Property" + } + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.PropertyParams schema contains a list of OVF properties that can be configured when the OVF package is deployed. \n\n This is based on the ovf:ProductSection. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.ScaleOutGroup": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the scale-out group.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "description": { + "type": "string", + "description": "The description of the scale-out group.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "instance_count": { + "type": "integer", + "description": "The scaling factor to use. It defines the number of replicas of the prototypical virtual system or virtual system collection.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package.", + "format": "int64" + }, + "minimum_instance_count": { + "type": "integer", + "description": "The minimum scaling factor.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package. This will be 1 if there is no explicit limit.", + "format": "int64" + }, + "maximum_instance_count": { + "type": "integer", + "description": "The maximum scaling factor.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package. This will be missing or `null` if there is no explicit limit.", + "format": "int64" + } + }, + "description": "The Vcenter.Ovf.ScaleOutGroup schema contains information about a scale-out group. \n\n It allows a virtual system collection to contain a set of children that are homogeneous with respect to a prototypical virtual system or virtual system collection. It shall cause the deployment function to replicate the prototype a number of times, thus allowing the number of instantiated virtual systems to be configured dynamically at deployment time. \n\n This is based on the ovf2:ScaleOutSection. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.ScaleOutParams": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "description": "The list of scale-out groups.\n\nThis property is optional in the input parameters when deploying an OVF package. If missing or `null` there are no scale-out groups. This property will always be present in the result when retrieving information about an OVF package.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ScaleOutGroup" + } + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.ScaleOutParams schema contains information about the scale-out groups described in the OVF package. \n\n When deploying an OVF package, a deployment specific instance count can be specified (see *Vcenter.Ovf.ScaleOutGroup.instance_count*. \n\n This is based on the ovf2:ScaleOutSection. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.SizeParams": { + "type": "object", + "properties": { + "approximate_download_size": { + "type": "integer", + "description": "A best guess as to the total amount of data that must be transferred to download the OVF package. \n\n This may be inaccurate due to disk compression etc.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package. It will be missing or `null` if there is insufficient information to provide a proper estimate.", + "format": "int64" + }, + "approximate_flat_deployment_size": { + "type": "integer", + "description": "A best guess as to the total amount of space required to deploy the OVF package if using flat disks.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package. It will be missing or `null` if there is insufficient information to provide a proper estimate.", + "format": "int64" + }, + "approximate_sparse_deployment_size": { + "type": "integer", + "description": "A best guess as to the total amount of space required to deploy the OVF package using sparse disks.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package. It will be missing or `null` if there is insufficient information to provide a proper estimate.", + "format": "int64" + }, + "variable_disk_size": { + "type": "boolean", + "description": "Whether the OVF uses variable disk sizes. \n\n For empty disks, rather than specifying a fixed virtual disk capacity, the capacity may be given using a reference to a ovf:Property element in a ovf:ProductSection element in OVF package.\n\nThis property is not used in the input parameters when deploying an OVF package. This property is optional in the result when retrieving information about an OVF package. If missing or `null` or false, the OVF does not use variable disk sizes." + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.SizeParams schema contains estimates of the download and deployment sizes. \n\n This information is based on the file references and the ovf:DiskSection in the OVF descriptor. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.TagParams": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "description": "List of tag parameters which contains information required to attach tags while deploying a VM.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.TagSpec" + } + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.TagParams schema contains information required to attach tags while deploying a VM.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Ovf.TagSpec": { + "type": "object", + "properties": { + "tag_id": { + "type": "string", + "description": "The tag identifier of a vSphere tag. If this field is specified in addition to *Vcenter.Ovf.TagSpec.tag_name_spec*, then both tagId and *Vcenter.Ovf.TagSpec.tag_name_spec* must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.Ovf.TagSpec.tag_name_spec* must be specified." + }, + "tag_name_spec": { + "description": "Name of the tag with associated category. If this field is specified in addition to *Vcenter.Ovf.TagSpec.tag_id*, then both *Vcenter.Ovf.TagSpec.tag_id* and tagNameSpec must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.Ovf.TagSpec.tag_id* must be specified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.TagNameSpec" + } + ] + } + }, + "description": "The Vcenter.Ovf.TagSpec schema specifies information required to attach a tag while deploying a VM. \n\n Represents a tag specification with optional *Cis.Tagging.Tag* and/or *Vcenter.Ovf.TagNameSpec*. The *Cis.Tagging.Tag* should already exist in vSphere, otherwise VM deployment will fail.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Ovf.TagNameSpec": { + "required": [ + "category_name", + "tag_name" + ], + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag to attach.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "category_name": { + "type": "string", + "description": "The name of the vSphere tag category that this tag belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "Represents a vSphere tag by its name and its respective category's name.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Ovf.UnknownSection": { + "required": [ + "info", + "tag" + ], + "type": "object", + "properties": { + "tag": { + "type": "string", + "description": "A namespace-qualified tag in the form ```{ns}tag```." + }, + "info": { + "type": "string", + "description": "The description of the Info element." + } + }, + "description": "The Vcenter.Ovf.UnknownSection schema contains information about an unknown section in an OVF package." + }, + "Vcenter.Ovf.UnknownSectionParams": { + "type": "object", + "properties": { + "unknown_sections": { + "type": "array", + "description": "List of unknown, non-required sections.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.UnknownSection" + } + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.UnknownSectionParams schema contains a list of unknown, non-required sections. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.VcenterExtensionParams": { + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Whether registration as a vCenter extension is required.\n\nThis property is not used in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "registration_accepted": { + "type": "boolean", + "description": "Whether registration as a vCenter extension is accepted. \n\n If registration as a vCenter extension is required (see *Vcenter.Ovf.VcenterExtensionParams.required*), this must be set to true during deployment. Defaults to false when returned from server.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.VcenterExtensionParams schema specifies that the OVF package should be registered as a vCenter extension. The virtual machine or virtual appliance will gain unrestricted access to the vCenter Server APIs. It must be connected to a network with connectivity to the vCenter server. \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.ExportFlag.Info": { + "required": [ + "description", + "option" + ], + "type": "object", + "properties": { + "option": { + "type": "string", + "description": "The name of the export flag that is supported by the server." + }, + "description": { + "description": "Localizable description of the export flag.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Ovf.ExportFlag.Info schema describes an export flag supported by the server." + }, + "Vcenter.Ovf.ImportFlag.Info": { + "required": [ + "description", + "option" + ], + "type": "object", + "properties": { + "option": { + "type": "string", + "description": "The name of the import flag that is supported by the deployment platform." + }, + "description": { + "description": "Localizable description of the import flag.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Ovf.ImportFlag.Info schema describes an import flag supported by the deployment platform." + }, + "Vcenter.Ovf.LibraryItem.VmConfigSpecProvider": { + "type": "string", + "description": "The Vcenter.Ovf.LibraryItem.VmConfigSpecProvider is used to provide the optional Vcenter.Ovf.LibraryItem.VmConfigSpec used when deploying an OVF template.\n\nPossible values:\n - `XML`: A vim.vm.ConfigSpec that has been serialized to XML and base64 encoded.\n\n\nThis enumeration was added in __vSphere API 8.0.2.0__.", + "enum": [ + "XML" + ] + }, + "Vcenter.Ovf.LibraryItem.DeployableIdentity": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the deployable resource.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `VirtualMachine` or `VirtualApp`. When operations return a value of this schema as a response, the property will be one of `VirtualMachine` or `VirtualApp`." + }, + "id": { + "type": "string", + "description": "Identifier of the deployable resource.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for one of these resource types: `VirtualMachine` or `VirtualApp`. When operations return a value of this schema as a response, the property will be an identifier for one of these resource types: `VirtualMachine` or `VirtualApp`." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.DeployableIdentity schema describes the resource created by a deployment, or the source resource from which library item can be created, by specifying its resource type and resource identifier." + }, + "Vcenter.Ovf.LibraryItem.VmConfigSpec": { + "required": [ + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The *Vcenter.Ovf.LibraryItem.VmConfigSpec.provider* selects a provider from the list of available providers.\n\nPossible values:\n - `XML`: A vim.vm.ConfigSpec that has been serialized to XML and base64 encoded.\n\n\nFor more information see: *Vcenter.Ovf.LibraryItem.VmConfigSpecProvider*.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "xml": { + "type": "string", + "description": "The *Vcenter.Ovf.LibraryItem.VmConfigSpec.xml* is a conditional configuration made available upon selecting the *Vcenter.Ovf.LibraryItem.VmConfigSpecProvider.XML*. It is used to pass in a vim.vm.ConfigSpec for a virtual machine that has been serialized to XML and base64 encoded.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.Ovf.LibraryItem.VmConfigSpecProvider.XML*." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.VmConfigSpec defines the optional virtual machine configuration settings used when deploying an OVF template. When used, the OVF descriptor acts as a disk descriptor.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec": { + "required": [ + "accept_all_eula" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name assigned to the deployed target virtual machine or virtual appliance.\n\nIf missing or `null`, the server will use the name from the OVF package." + }, + "annotation": { + "type": "string", + "description": "Annotation assigned to the deployed target virtual machine or virtual appliance.\n\nIf missing or `null`, the server will use the annotation from the OVF package." + }, + "accept_all_eula": { + "type": "boolean", + "description": "Whether to accept all End User License Agreements. See *Vcenter.Ovf.LibraryItem.OvfSummary.EULAs*." + }, + "network_mappings": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Specification of the target network to use for sections of type ovf:NetworkSection in the OVF descriptor. The key in the map is the section identifier of the ovf:NetworkSection section in the OVF descriptor and the value is the target network to be used for deployment.\n\nIf missing or `null`, the server will choose a network mapping.\n\nWhen clients pass a value of this schema as a parameter, the value in the property map must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the value in the property map will be an identifier for the resource type: `Network`." + }, + "subnet_mappings": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Specification of the target subnet to use for sections of type ovf:NetworkSection in the OVF descriptor. The key in the map is the section identifier of the ovf:NetworkSection section in the OVF descriptor and the value is the target subnet to be used for deployment, i.e. the identifier of subnet folder in vCenter. If set, this will take precedence over the property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.network_mappings*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, property networkMappings will be used.\n\nWhen clients pass a value of this schema as a parameter, the value in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the value in the property map will be an identifier for the resource type: `Folder`." + }, + "storage_mappings": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.StorageGroupMapping" + }, + "description": "Specification of the target storage to use for sections of type vmw:StorageGroupSection in the OVF descriptor. The key in the map is the section identifier of the ovf:StorageGroupSection section in the OVF descriptor and the value is the target storage specification to be used for deployment. See *Vcenter.Ovf.LibraryItem.StorageGroupMapping*.\n\nIf missing or `null`, the server will choose a storage mapping." + }, + "storage_provisioning": { + "type": "string", + "description": "Default storage provisioning type to use for all sections of type vmw:StorageSection in the OVF descriptor.\n\nPossible values:\n - `thin`: A thin provisioned virtual disk has space allocated and zeroed on demand as the space is used.\n - `thick`: A thick provisioned virtual disk has all space allocated at creation time and the space is zeroed on demand as the space is used.\n - `eagerZeroedThick`: An eager zeroed thick provisioned virtual disk has all space allocated and wiped clean of any previous contents on the physical media at creation time. \n\n Disks specified as eager zeroed thick may take longer time to create than disks specified with the other disk provisioning types.\n\n\nFor more information see: *Vcenter.Ovf.DiskProvisioningType*.\n\nIf missing or `null`, the server will choose the provisioning type." + }, + "storage_profile_id": { + "type": "string", + "description": "Default storage profile to use for all sections of type vmw:StorageSection in the OVF descriptor.\n\nIf missing or `null`, the server will choose the default profile.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `StorageProfile`." + }, + "locale": { + "type": "string", + "description": "The locale to use for parsing the OVF descriptor.\n\nIf missing or `null`, the server locale will be used." + }, + "flags": { + "type": "array", + "description": "Flags to be use for deployment. The supported flag values can be obtained using *GET /vcenter/ovf/import-flag*.\n\nIf missing or `null`, no flags will be used.", + "items": { + "type": "string" + } + }, + "additional_parameters": { + "type": "array", + "description": "Additional OVF parameters that may be needed for the deployment. Additional OVF parameters may be required by the OVF descriptor of the OVF package in the library item. Examples of OVF parameters that can be specified through this property include, but are not limited to: \n - *Vcenter.Ovf.DeploymentOptionParams*\n - *Vcenter.Ovf.ExtraConfigParams*\n - *Vcenter.Ovf.IpAllocationParams*\n - *Vcenter.Ovf.PropertyParams*\n - *Vcenter.Ovf.ScaleOutParams*\n - *Vcenter.Ovf.VcenterExtensionParams*\n \n\nIf missing or `null`, the server will choose default settings for all parameters necessary for the deploy operation. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain all the properties defined in *Vcenter.Ovf.OvfParams*. When operations return a value of this schema as a response, the property will contain all the properties defined in *Vcenter.Ovf.OvfParams*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfParams" + } + }, + "default_datastore_id": { + "type": "string", + "description": "Default datastore to use for all sections of type vmw:StorageSection in the OVF descriptor.\n\nIf missing or `null`, the server will choose the default datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "vm_config_spec": { + "description": "The *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.vm_config_spec* is used for virtual machine configuration settings including hardware specifications to use in place of the OVF descriptor. If set, the OVF descriptor acts as a disk descriptor. \n\n Fields in the Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec parameters such as *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.name* that overlap with settings in the *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.vm_config_spec* are not overridden and will continue to be used. Similarly, storage settings in the Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec that affect the disks on the virtual machine namely *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_mappings*, *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_profile_id*, *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_provisioning* and *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.default_datastore_id* will also be honored. \n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the relevant virtual machine specifications in the OVF descriptor of the OVF template will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.VmConfigSpec" + } + ] + }, + "tag_params": { + "description": "Tag parameters that contain the information required to attach tags to a VM during VM deployment.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.TagParams" + } + ] + } + }, + "description": "The Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec schema defines the deployment parameters that can be specified for the deploy operation where the deployment target is a resource pool. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*." + }, + "Vcenter.Ovf.LibraryItem.StorageGroupMapping": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of storage deployment target to use for the vmw:StorageGroupSection section. The specified value must be *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type.DATASTORE* or *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type.STORAGE_PROFILE*.\n\nPossible values:\n - `DATASTORE`: Storage deployment target is a datastore.\n - `STORAGE_PROFILE`: Storage deployment target is a storage profile.\n\n\nFor more information see: *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type*." + }, + "datastore_id": { + "type": "string", + "description": "Target datastore to be used for the storage group.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type.DATASTORE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_profile_id": { + "type": "string", + "description": "Target storage profile to be used for the storage group.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type.STORAGE_PROFILE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `StorageProfile`." + }, + "provisioning": { + "type": "string", + "description": "Target provisioning type to use for the storage group.\n\nPossible values:\n - `thin`: A thin provisioned virtual disk has space allocated and zeroed on demand as the space is used.\n - `thick`: A thick provisioned virtual disk has all space allocated at creation time and the space is zeroed on demand as the space is used.\n - `eagerZeroedThick`: An eager zeroed thick provisioned virtual disk has all space allocated and wiped clean of any previous contents on the physical media at creation time. \n\n Disks specified as eager zeroed thick may take longer time to create than disks specified with the other disk provisioning types.\n\n\nFor more information see: *Vcenter.Ovf.DiskProvisioningType*.\n\nIf missing or `null`, *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_provisioning* will be used." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.StorageGroupMapping schema defines the storage deployment target and storage provisioning type for a section of type vmw:StorageGroupSection in the OVF descriptor." + }, + "Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type": { + "type": "string", + "description": "The Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type enumerated type defines the supported types of storage targets for sections of type vmw:StorageGroupSection in the OVF descriptor.\n\nPossible values:\n - `DATASTORE`: Storage deployment target is a datastore.\n - `STORAGE_PROFILE`: Storage deployment target is a storage profile.\n", + "enum": [ + "DATASTORE", + "STORAGE_PROFILE" + ] + }, + "Vcenter.Ovf.LibraryItem.ResultInfo": { + "required": [ + "errors", + "information", + "warnings" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "description": "Errors reported by the create or deploy operation. These errors would have prevented the create or deploy operation from completing successfully.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfError" + } + }, + "warnings": { + "type": "array", + "description": "Warnings reported by the create or deploy operation. These warnings would not have prevented the create or deploy operation from completing successfully, but there might be issues that warrant attention.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfWarning" + } + }, + "information": { + "type": "array", + "description": "Information messages reported by the create or deploy operation. For example, a non-required parameter was ignored.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfInfo" + } + } + }, + "description": "The Vcenter.Ovf.LibraryItem.ResultInfo schema defines the information returned along with the result of a create or deploy operation to describe errors, warnings, and informational messages produced by the server." + }, + "Vcenter.Ovf.LibraryItem.DeploymentResult": { + "required": [ + "succeeded" + ], + "type": "object", + "properties": { + "succeeded": { + "type": "boolean", + "description": "Whether the deploy operation completed successfully." + }, + "resource_id": { + "description": "Identifier of the deployed resource entity.\n\nIf missing or `null`, the deploy operation failed and *Vcenter.Ovf.LibraryItem.DeploymentResult.error* will describe the error(s) that caused the failure.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeployableIdentity" + } + ] + }, + "error": { + "description": "Errors, warnings, and informational messages produced by the deploy operation.\n\nIf missing or `null`, no errors, warnings, or informational messages were reported by the deploy operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.ResultInfo" + } + ] + } + }, + "description": "The Vcenter.Ovf.LibraryItem.DeploymentResult schema defines the result of the deploy operation. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*." + }, + "Vcenter.Ovf.LibraryItem.DeploymentTarget": { + "required": [ + "resource_pool_id" + ], + "type": "object", + "properties": { + "resource_pool_id": { + "type": "string", + "description": "Identifier of the resource pool to which the virtual machine or virtual appliance should be attached.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host_id": { + "type": "string", + "description": "Identifier of the target host on which the virtual machine or virtual appliance will run. The target host must be a member of the cluster that contains the resource pool identified by *Vcenter.Ovf.LibraryItem.DeploymentTarget.resource_pool_id*.\n\nIf missing or `null`, the server will automatically select a target host from the resource pool if *Vcenter.Ovf.LibraryItem.DeploymentTarget.resource_pool_id* is a stand-alone host or a cluster with Distributed Resource Scheduling (DRS) enabled.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "folder_id": { + "type": "string", + "description": "Identifier of the vCenter folder that should contain the virtual machine or virtual appliance. The folder must be virtual machine folder.\n\nIf missing or `null`, the server will choose the deployment folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.DeploymentTarget schema describes the location (target) where a virtual machine or virtual appliance should be deployed. It is used in the deploy and filter operations. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.LibraryItem.OvfSummary": { + "required": [ + "eulas" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Default name for the virtual machine or virtual appliance.\n\nIf missing or `null`, the OVF descriptor did not specify a name." + }, + "annotation": { + "type": "string", + "description": "Default annotation for the virtual machine or virtual appliance.\n\nIf missing or `null`, the OVF descriptor did not specify an annotation." + }, + "eulas": { + "type": "array", + "description": "End User License Agreements specified in the OVF descriptor. All end user license agreements must be accepted in order for the deploy operation to succeed. See *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.accept_all_EULA*.", + "items": { + "type": "string" + } + }, + "networks": { + "type": "array", + "description": "Section identifiers for sections of type ovf:NetworkSection in the OVF descriptor. These identifiers can be used as keys in *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.network_mappings*.\n\nIf missing or `null`, the OVF descriptor did not specify any networks.", + "items": { + "type": "string" + } + }, + "storage_groups": { + "type": "array", + "description": "Section identifiers for sections of type vmw:StorageGroupSection in the OVF descriptor. These identifiers can be used as keys in *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_mappings*.\n\nIf missing or `null`, the OVF descriptor did not specify any storage groups.", + "items": { + "type": "string" + } + }, + "additional_params": { + "type": "array", + "description": "Additional OVF parameters which can be specified for the deployment target. These OVF parameters can be inspected, optionally modified, and used as values in *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.additional_parameters* for the deploy operation.\n\nIf missing or `null`, the OVF descriptor does not require addtional parameters or does not have additional parameters suitable for the deployment target.\n\nWhen clients pass a value of this schema as a parameter, the property must contain all the properties defined in *Vcenter.Ovf.OvfParams*. When operations return a value of this schema as a response, the property will contain all the properties defined in *Vcenter.Ovf.OvfParams*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfParams" + } + } + }, + "description": "The Vcenter.Ovf.LibraryItem.OvfSummary schema defines the result of the filter operation. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*. The properties in the schema describe parameterizable information in the OVF descriptor, with respect to a deployment target, for the deploy operation. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*." + }, + "Vcenter.Ovf.LibraryItem.CreateTarget": { + "type": "object", + "properties": { + "library_id": { + "type": "string", + "description": "Identifier of the library in which a new library item should be created. This property is not used if the library_item_id property is specified.\n\nThis property is currently required. \n\n In the future, if missing or `null`, the library_item_id property must be specified. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "library_item_id": { + "type": "string", + "description": "Identifier of the library item that should be updated.\n\nIf missing or `null`, a new library item will be created. The library_id property must be specified if this property is set.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.CreateTarget schema specifies the target library item when capturing a virtual machine or virtual appliance as an OVF package in a library item in a content library. The target can be an existing library item, which will be updated, creating a new version, or it can be a newly created library item in a specified library. See *POST /vcenter/ovf/library-item*." + }, + "Vcenter.Ovf.LibraryItem.CreateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name to use in the OVF descriptor stored in the library item.\n\nIf missing or `null`, the server will use source's current name." + }, + "description": { + "type": "string", + "description": "Description to use in the OVF descriptor stored in the library item.\n\nIf missing or `null`, the server will use source's current annotation." + }, + "flags": { + "type": "array", + "description": "Flags to use for OVF package creation. The supported flags can be obtained using *GET /vcenter/ovf/export-flag*.\n\nIf missing or `null`, no flags will be used.", + "items": { + "type": "string" + } + }, + "library_item_source_id": { + "type": "string", + "description": "Source identifier of the library item for image identification.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no source identifier will be used.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.CreateSpec schema defines the information used to create or update a library item containing an OVF package." + }, + "Vcenter.Ovf.LibraryItem.CreateResult": { + "required": [ + "succeeded" + ], + "type": "object", + "properties": { + "succeeded": { + "type": "boolean", + "description": "Whether the create operation completed successfully." + }, + "ovf_library_item_id": { + "type": "string", + "description": "Identifier of the created or updated library item.\n\nIf missing or `null`, the create operation failed and *Vcenter.Ovf.LibraryItem.CreateResult.error* will describe the error(s) that caused the failure.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "error": { + "description": "Errors, warnings, and informational messages produced by the create operation.\n\nIf missing or `null`, no errors, warnings, or informational messages were reported by the create operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.ResultInfo" + } + ] + } + }, + "description": "The Vcenter.Ovf.LibraryItem.CreateResult schema defines the result of the create operation. See *POST /vcenter/ovf/library-item*." + }, + "Vcenter.Phm.About.Info": { + "required": [ + "api_version", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Proactive hardware management product version\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "api_version": { + "type": "string", + "description": "Proactive hardware management API version\n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "About info of proactive hardware management\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoSeverity": { + "type": "string", + "description": "The Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoSeverity enumerated type defines severity levels for all Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo.\n\nPossible values:\n - `CRITICAL`: Critical severity\n - `WARNING`: Warning severity\n - `INFO`: Info severity\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "CRITICAL", + "WARNING", + "INFO" + ] + }, + "Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoPurpose": { + "type": "string", + "description": "The Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoPurpose enumerated type defines purpose categories for all Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo.\n\nPossible values:\n - `FAILURE`: Indicates failure of a hardware component.\n - `PREDICTIVE_FAILURE`: Indicates predictive failure of a hardware component.\n - `SOFTWARE_INCOMPATIBILITY`: Indicates software incompatibility.\n - `SECURITY_INFORMATION`: Indicates security related information.\n - `HEALTH_STATISTIC`: Indicates health statistic information about a hardware component.\n - `MISCELLANEOUS`: Indicates unclassified purpose category.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "FAILURE", + "PREDICTIVE_FAILURE", + "SOFTWARE_INCOMPATIBILITY", + "SECURITY_INFORMATION", + "HEALTH_STATISTIC", + "MISCELLANEOUS" + ] + }, + "Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoComponentCategory": { + "type": "string", + "description": "The Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoComponentCategory enumerated type defines target component categories for all Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo.\n\nPossible values:\n - `COMPUTE`: Target component is part of compute resources.\n - `MEMORY`: Target component is part of memory resources.\n - `STORAGE`: Target component is part of storage resources.\n - `NETWORK`: Target component is part of network resources.\n - `BOOT`: Target component is part of boot drives.\n - `MISCELLANEOUS`: Target component is something else other than the above categories.\n\n\nThis enumeration was added in __vSphere API 8.0.3.0__.", + "enum": [ + "COMPUTE", + "MEMORY", + "STORAGE", + "NETWORK", + "BOOT", + "MISCELLANEOUS" + ] + }, + "Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo": { + "required": [ + "component_category", + "description", + "id", + "purpose", + "severity" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "description": { + "type": "string", + "description": "Message key for the message that provides important information about the health update info.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "severity": { + "type": "string", + "description": "Severity\n\nPossible values:\n - `CRITICAL`: Critical severity\n - `WARNING`: Warning severity\n - `INFO`: Info severity\n\n\nFor more information see: *Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoSeverity*.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "purpose": { + "type": "string", + "description": "Functional purpose category\n\nPossible values:\n - `FAILURE`: Indicates failure of a hardware component.\n - `PREDICTIVE_FAILURE`: Indicates predictive failure of a hardware component.\n - `SOFTWARE_INCOMPATIBILITY`: Indicates software incompatibility.\n - `SECURITY_INFORMATION`: Indicates security related information.\n - `HEALTH_STATISTIC`: Indicates health statistic information about a hardware component.\n - `MISCELLANEOUS`: Indicates unclassified purpose category.\n\n\nFor more information see: *Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoPurpose*.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "component_category": { + "type": "string", + "description": "Target component category\n\nPossible values:\n - `COMPUTE`: Target component is part of compute resources.\n - `MEMORY`: Target component is part of memory resources.\n - `STORAGE`: Target component is part of storage resources.\n - `NETWORK`: Target component is part of network resources.\n - `BOOT`: Target component is part of boot drives.\n - `MISCELLANEOUS`: Target component is something else other than the above categories.\n\n\nFor more information see: *Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoComponentCategory*.\n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo schema defines a type of health update to be supported.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoConfig": { + "required": [ + "default_enabled", + "health_update_info" + ], + "type": "object", + "properties": { + "health_update_info": { + "description": "Indicate a supported Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo" + } + ] + }, + "default_enabled": { + "type": "boolean", + "description": "Indicate whether or not the Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo is enabled by default.\n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoConfig schema specifies default enablement on a supported Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.CreateSpec": { + "required": [ + "base_url", + "health_update_info_default_configs", + "key", + "server_certificate" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Globally unique key identifier of the HSM registered with PHM\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`." + }, + "base_url": { + "type": "string", + "description": "The full URL path for all HSM endpoints. (e.g. https://{hsm_api_host}/vsphere-proactive-hw-mgmt)\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "server_certificate": { + "type": "string", + "description": "The full unabbreviated certificate used by HSM API host in PEM format. The PEM string must contain only the end-entity (leaf) certificate of the certificate chain of trust. It must NOT contain any private keys or anything else except a single x509 certificate.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "health_update_info_default_configs": { + "type": "array", + "description": "The default configuration on a list of supported Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo and their enablements.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoConfig" + } + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.CreateSpec schema provides a new hardware support manager registration data for creating a registration entry, see *POST /vcenter/phm/hardware-support-managers*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.Info": { + "required": [ + "base_url", + "health_update_info_default_configs", + "server_certificate" + ], + "type": "object", + "properties": { + "base_url": { + "type": "string", + "description": "The full URL path for all HSM endpoints. (e.g. https://{hsm_api_host}/vsphere-proactive-hw-mgmt)\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "server_certificate": { + "type": "string", + "description": "The full unabbreviated certificate used by HSM API host in PEM format. The PEM string must contain only the end-entity (leaf) certificate of the certificate chain of trust. It must NOT contain any private keys or anything else except a single x509 certificate.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "health_update_info_default_configs": { + "type": "array", + "description": "The default configuration on a list of supported Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo and their enablements.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoConfig" + } + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.Info schema contains an existing hardware support manager registration data, see *GET /vcenter/phm/hardware-support-managers/{key}*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.ListResult": { + "required": [ + "registered_hsm_keys" + ], + "type": "object", + "properties": { + "registered_hsm_keys": { + "type": "array", + "description": "List of registered HSM keys.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.phm.HardwareSupportManager`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.ListResult schema contains a list of registered hardware support manager keys, see *GET /vcenter/phm/hardware-support-managers*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.SetSpec": { + "required": [ + "base_url", + "health_update_info_default_configs", + "server_certificate" + ], + "type": "object", + "properties": { + "base_url": { + "type": "string", + "description": "The full URL path for all HSM endpoints. (e.g. https://{hsm_api_host}/vsphere-proactive-hw-mgmt)\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "server_certificate": { + "type": "string", + "description": "The full unabbreviated certificate used by HSM API host in PEM format. The PEM string must contain only the end-entity (leaf) certificate of the certificate chain of trust. It must NOT contain any private keys or anything else except a single x509 certificate.\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "health_update_info_default_configs": { + "type": "array", + "description": "The default configuration on a list of supported Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfo and their enablements.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.HealthUpdateInfoConfig" + } + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.SetSpec schema provides a new hardware support manager registration data for replacing an existing registration entry, see *PUT /vcenter/phm/hardware-support-managers/{key}*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.ManagedHosts.UpdateSpec": { + "type": "object", + "properties": { + "hosts_to_add": { + "type": "array", + "description": "A list of managed hosts added by an HSM.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property may be missing or `null` meaning this update does not contain any newly added managed hosts.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "hosts_to_remove": { + "type": "array", + "description": "A list of managed hosts removed by an HSM.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property may be missing or `null` meaning this update does not contain any removed managed hosts.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.ManagedHosts.UpdateSpec schema specifies a list of managed hosts added or removed by a proactive hardware management, see *PATCH /vcenter/phm/hardware-support-managers/{key}/managed-hosts*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.ManagedHosts.ListResult": { + "required": [ + "managed_hosts" + ], + "type": "object", + "properties": { + "managed_hosts": { + "type": "array", + "description": "All managed hosts stored at PHM side.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.ManagedHosts.ListResult schema contains a list of managed hosts stored by proactive hardware management, see *GET /vcenter/phm/hardware-support-managers/{key}/managed-hosts*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.ResourceBundle.ResourceInfo": { + "required": [ + "locale", + "messages" + ], + "type": "object", + "properties": { + "locale": { + "type": "string", + "description": "Locale for the message definitions. The locale specification needs to be one of the following four values: \"en\", \"es\", \"fr\", \"ja\". These correspond to \"English\", \"Spanish\", \"French\", and \"Japanese\".\n\nThis property was added in __vSphere API 8.0.3.0__." + }, + "messages": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Message definitions\n\nThis property was added in __vSphere API 8.0.3.0__." + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.ResourceBundle.ResourceInfo schema encapsulates the message resources for a locale.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.ResourceBundle.UpdateSpec": { + "type": "object", + "properties": { + "bundle_to_change": { + "type": "array", + "description": "Changes in resource bundle.\n\nThis property was added in __vSphere API 8.0.3.0__.\n\nThis property may be missing or `null` meaning no change in resource bundle.", + "items": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.ResourceBundle.ResourceInfo" + } + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.ResourceBundle.UpdateSpec schema describes the changes in the resource bundle provided by an HSM. See *PATCH /vcenter/phm/hardware-support-managers/{key}/resource-bundle*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Phm.HardwareSupportManagers.ResourceBundle.Info": { + "required": [ + "vendor_resource_infos" + ], + "type": "object", + "properties": { + "vendor_resource_infos": { + "type": "array", + "description": "Entire vendor's resource bundle - a list of Vcenter.Phm.HardwareSupportManagers.ResourceBundle.ResourceInfo stored at PHM side.\n\nThis property was added in __vSphere API 8.0.3.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Phm.HardwareSupportManagers.ResourceBundle.ResourceInfo" + } + } + }, + "description": "The Vcenter.Phm.HardwareSupportManagers.ResourceBundle.Info schema contains a vendor's resource bundle stored by proactive hardware management, see *GET /vcenter/phm/hardware-support-managers/{key}/resource-bundle*.\n\nThis schema was added in __vSphere API 8.0.3.0__." + }, + "Vcenter.Services.Service.StartupType": { + "type": "string", + "description": "The Vcenter.Services.Service.StartupType enumerated type defines valid Startup Type for vCenter Server services.\n\nPossible values:\n - `MANUAL`: Service Startup type is Manual, thus issuing an explicit start on the service will start it.\n - `AUTOMATIC`: Service Startup type is Automatic, thus during starting all services or issuing explicit start on the service will start it.\n - `DISABLED`: Service Startup type is Disabled, thus it will not start unless the startup type changes to manual or automatic.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "MANUAL", + "AUTOMATIC", + "DISABLED" + ] + }, + "Vcenter.Services.Service.State": { + "type": "string", + "description": "The Vcenter.Services.Service.State enumerated type defines valid Run State for services.\n\nPossible values:\n - `STARTING`: Service Run State is Starting, it is still not functional\n - `STOPPING`: Service Run State is Stopping, it is not functional\n - `STARTED`: Service Run State is Started, it is fully functional\n - `STOPPED`: Service Run State is Stopped\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "STARTING", + "STOPPING", + "STARTED", + "STOPPED" + ] + }, + "Vcenter.Services.Service.Health": { + "type": "string", + "description": "The Vcenter.Services.Service.Health enumerated type defines the possible values for health of a service.\n\nPossible values:\n - `DEGRADED`: Service is in degraded state, it is not functional.\n - `HEALTHY`: Service is in a healthy state and is fully functional.\n - `HEALTHY_WITH_WARNINGS`: Service is healthy with warnings.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "DEGRADED", + "HEALTHY", + "HEALTHY_WITH_WARNINGS" + ] + }, + "Vcenter.Services.Service.Info": { + "required": [ + "description_key", + "name_key", + "startup_type", + "state" + ], + "type": "object", + "properties": { + "name_key": { + "type": "string", + "description": "Service name key. Can be used to lookup resource bundle\n\nThis property was added in __vSphere API 6.7__." + }, + "description_key": { + "type": "string", + "description": "Service description key. Can be used to lookup resource bundle\n\nThis property was added in __vSphere API 6.7__." + }, + "startup_type": { + "type": "string", + "description": "Startup Type.\n\nPossible values:\n - `MANUAL`: Service Startup type is Manual, thus issuing an explicit start on the service will start it.\n - `AUTOMATIC`: Service Startup type is Automatic, thus during starting all services or issuing explicit start on the service will start it.\n - `DISABLED`: Service Startup type is Disabled, thus it will not start unless the startup type changes to manual or automatic.\n\n\nFor more information see: *Vcenter.Services.Service.StartupType*.\n\nThis property was added in __vSphere API 6.7__." + }, + "state": { + "type": "string", + "description": "Running State.\n\nPossible values:\n - `STARTING`: Service Run State is Starting, it is still not functional\n - `STOPPING`: Service Run State is Stopping, it is not functional\n - `STARTED`: Service Run State is Started, it is fully functional\n - `STOPPED`: Service Run State is Stopped\n\n\nFor more information see: *Vcenter.Services.Service.State*.\n\nThis property was added in __vSphere API 6.7__." + }, + "health": { + "type": "string", + "description": "Health of service.\n\nPossible values:\n - `DEGRADED`: Service is in degraded state, it is not functional.\n - `HEALTHY`: Service is in a healthy state and is fully functional.\n - `HEALTHY_WITH_WARNINGS`: Service is healthy with warnings.\n\n\nFor more information see: *Vcenter.Services.Service.Health*.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of state is *Vcenter.Services.Service.State.STARTED*." + }, + "health_messages": { + "type": "array", + "description": "Localizable messages associated with the health of the service\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of state is *Vcenter.Services.Service.State.STARTED*.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.Services.Service.Info schema contains information about a service.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Services.Service.UpdateSpec": { + "type": "object", + "properties": { + "startup_type": { + "type": "string", + "description": "Startup Type\n\nPossible values:\n - `MANUAL`: Service Startup type is Manual, thus issuing an explicit start on the service will start it.\n - `AUTOMATIC`: Service Startup type is Automatic, thus during starting all services or issuing explicit start on the service will start it.\n - `DISABLED`: Service Startup type is Disabled, thus it will not start unless the startup type changes to manual or automatic.\n\n\nFor more information see: *Vcenter.Services.Service.StartupType*.\n\nThis property was added in __vSphere API 6.7__.\n\nIf unspecified, leaves value unchanged." + } + }, + "description": "The Vcenter.Services.Service.UpdateSpec schema describes the changes to be made to the configuration of the service.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.FilterSpec": { + "type": "object", + "properties": { + "policies": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of storage policies that can match the filter.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, storage policies with any identifiers match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.StoragePolicy`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Storage.Policies.FilterSpec schema contains properties used to filter the results when listing the storage policies (see *GET /vcenter/storage/policies*)\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.Summary": { + "required": [ + "description", + "name", + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the storage policy.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + }, + "name": { + "type": "string", + "description": "Name of the storage policy.\n\nThis property was added in __vSphere API 6.7__." + }, + "description": { + "type": "string", + "description": "Description of the storage policy.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Vcenter.Storage.Policies.Summary schema contains commonly used information about a storage policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.CompatibleDatastoreInfo": { + "required": [ + "datastore" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.Storage.Policies.CompatibleDatastoreInfo schema contains compatible datastore's information.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.CompatibilityInfo": { + "required": [ + "compatible_datastores" + ], + "type": "object", + "properties": { + "compatible_datastores": { + "type": "array", + "description": "Info about a list of datastores compatible with a specific storage policy.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.CompatibleDatastoreInfo" + } + } + }, + "description": "The Vcenter.Storage.Policies.CompatibilityInfo schema contains info about a list of datastores compatible with a specific storage policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.Compliance.Status": { + "type": "string", + "description": "This enumeration defines the set of status values for a compliance operation.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the entity is edited and not applied. The compliance status will remain out of date until the latest policy is applied to the entity.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "COMPLIANT", + "NON_COMPLIANT", + "UNKNOWN", + "NOT_APPLICABLE", + "OUT_OF_DATE" + ] + }, + "Vcenter.Storage.Policies.Compliance.Summary": { + "required": [ + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of virtual machine\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "vm_home": { + "type": "string", + "description": "Compliance status of the virtual machine home.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the entity is edited and not applied. The compliance status will remain out of date until the latest policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, vmHome is not associated with a storage policy." + }, + "disks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of the virtual hard disk.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the entity is edited and not applied. The compliance status will remain out of date until the latest policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, virtual machine entity does not have any disks or its disks are not associated with a storage policy.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "Provides the details of a virtual machine and its associated entities which match the given compliance statuses.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.Compliance.FilterSpec": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "uniqueItems": true, + "type": "array", + "description": "Compliance Status that a virtual machine must have to match the filter.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the entity is edited and not applied. The compliance status will remain out of date until the latest policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Storage.Policies.Compliance.FilterSpec schema contains complianceStatus used to filter the results when listing entities (see *GET /vcenter/storage/policies/entities/compliance*).\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.VM.Info": { + "required": [ + "disks", + "vm_home" + ], + "type": "object", + "properties": { + "vm_home": { + "type": "boolean", + "description": "Flag to indicate whether or not the virtual machine home is associated with the given storage policy.\n\nThis property was added in __vSphere API 6.7__." + }, + "disks": { + "type": "array", + "description": "List of the virtual disks that are associated with the given storage policy.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Storage.Policies.VM.Info schema contains information about a virtual machine and its virtual disks that are associated with the given storage policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.Compliance.VM.Status": { + "type": "string", + "description": "Possible values:\n - `COMPLIANT`: The virtual machine or virtual disk is in compliance.\n - `NON_COMPLIANT`: The virtual machine or virtual disk is in not in compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the virtual machine or virtual disk is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this virtual machine or disk because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the virtual machine or disk is edited and not applied. The compliance status will remain out of date until the latest policy is applied.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "COMPLIANT", + "NON_COMPLIANT", + "UNKNOWN_COMPLIANCE", + "NOT_APPLICABLE", + "OUT_OF_DATE" + ] + }, + "Vcenter.Storage.Policies.Compliance.VM.Info": { + "required": [ + "disks" + ], + "type": "object", + "properties": { + "vm_home": { + "type": "string", + "description": "Compliance status of the virtual machine home.\n\nPossible values:\n - `COMPLIANT`: The virtual machine or virtual disk is in compliance.\n - `NON_COMPLIANT`: The virtual machine or virtual disk is in not in compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the virtual machine or virtual disk is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this virtual machine or disk because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the virtual machine or disk is edited and not applied. The compliance status will remain out of date until the latest policy is applied.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.VM.Status*.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, virtual machine home is not associated with a storage policy." + }, + "disks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A Map of virtual disks and their compliance status If empty, the virtual machine does not have any disks or its disks are not associated with a storage policy.\n\nPossible values:\n - `COMPLIANT`: The virtual machine or virtual disk is in compliance.\n - `NON_COMPLIANT`: The virtual machine or virtual disk is in not in compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the virtual machine or virtual disk is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this virtual machine or disk because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the virtual machine or disk is edited and not applied. The compliance status will remain out of date until the latest policy is applied.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.VM.Status*.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "Provides the compliance details of a virtual machine and its associated entities which match the given compliance statuses.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.Compliance.VM.FilterSpec": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "uniqueItems": true, + "type": "array", + "description": "Compliance Status that a virtual machine must have to match the filter. Atleast one status must be specified.\n\nPossible values:\n - `COMPLIANT`: The virtual machine or virtual disk is in compliance.\n - `NON_COMPLIANT`: The virtual machine or virtual disk is in not in compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the virtual machine or virtual disk is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this virtual machine or disk because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the virtual machine or disk is edited and not applied. The compliance status will remain out of date until the latest policy is applied.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.VM.Status*.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "type": "string" + } + }, + "vms": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of virtual machines that can match the filter\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, virtual machines with any identifier matches the filter\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Storage.Policies.Compliance.VM.FilterSpec schema contains Status used to filter the results when listing virtual machines (see *GET /vcenter/storage/policies/compliance/vm*).\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.SystemConfig.DeploymentType.Info": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the appliance.\n\nPossible values:\n - `VCSA_EMBEDDED`: The vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: The vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nFor more information see: *Vcenter.Deployment.ApplianceType*.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Vcenter.SystemConfig.DeploymentType.Info schema contains the fields used to get the appliance type.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.SystemConfig.DeploymentType.ReconfigureSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of the appliance.\n\nPossible values:\n - `VCSA_EMBEDDED`: The vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: The vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nFor more information see: *Vcenter.Deployment.ApplianceType*.\n\nThis property was added in __vSphere API 6.7__." + }, + "remote_psc": { + "description": "External PSC to register with when reconfiguring a VCSA_EMBEDDED appliance to a VCSA_EXTERNAL appliance.\n\nThis property was added in __vSphere API 6.7__.\n\nOnly required when reconfiguring an VCSA_EMBEDDED node to a VCSA_EXTERNAL.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Deployment.RemotePscSpec" + } + ] + } + }, + "description": "The Vcenter.SystemConfig.DeploymentType.ReconfigureSpec schema contains the fields used to get and set the appliance type.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.SystemConfig.PscRegistration.Info": { + "required": [ + "address", + "https_port", + "sso_domain" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IP address or DNS resolvable name of the PSC this appliance is registered with.\n\nThis property was added in __vSphere API 6.7__." + }, + "https_port": { + "type": "integer", + "description": "The HTTPs port used by the external PSC.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "sso_domain": { + "type": "string", + "description": "The Single Sign-On domain name of the external PSC.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Vcenter.SystemConfig.PscRegistration.Info schema has fields to specify information about the PSC node.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Tagging.Associations.LastIterationStatus": { + "type": "string", + "description": "The last status for the iterator. A field of this type is returned as part of the result and indicates to the caller of the API whether it can continue to make requests for more data. \n\n The last status only reports on the state of the iteration at the time data was last returned. As a result, it not does guarantee if the next call will succeed in getting more data or not. \n\n Failures to retrieve results will be returned as Error responses. These last statuses are only returned when the iterator is operating as expected.\n\nPossible values:\n - `READY`: Iterator has more data pending and is ready to provide it. The caller can request the next page of data at any time. \n\n The number of results returned may be less than the usual size. In other words, the iterator may not fill the page. The iterator has returned at least 1 result.\n - `END_OF_DATA`: Iterator has finished iterating through its inventory. There are currently no more entities to return and the caller can terminate iteration. If the iterator returned some data, the marker may be set to allow the iterator to continue from where it left off when additional data does become available. This value is used to indicate that all available data has been returned by the iterator.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "READY", + "END_OF_DATA" + ] + }, + "Vcenter.Tagging.Associations.Operation": { + "type": "string", + "description": "The Vcenter.Tagging.Associations.Operation enumerated type defines the operation type to update the tag association of an object.\n\nPossible values:\n - `ATTACH`: Attach the specified tag to the resource object. If a tag is already attached, the operation is idempotent and has no effect on that tag association.\n - `DETACH`: Detach the specified tag from the resource object. If a tag is not attached, the operation is idempotent and has no effect on that tag association.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "ATTACH", + "DETACH" + ] + }, + "Vcenter.Tagging.Associations.IterationSpec": { + "type": "object", + "properties": { + "marker": { + "type": "string", + "description": "Marker is an opaque token that allows the caller to request the next page of tag associations.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, first page of tag associations will be returned.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.tagging.associations.Marker`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.tagging.associations.Marker`." + } + }, + "description": "The Vcenter.Tagging.Associations.IterationSpec schema contains properties used to break results into pages when listing tags associated to objects see *GET /vcenter/tagging/associations*).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Tagging.Associations.Summary": { + "required": [ + "object", + "tag" + ], + "type": "object", + "properties": { + "tag": { + "type": "string", + "description": "The identifier of a tag.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`." + }, + "object": { + "description": "The identifier of an associated object.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + } + }, + "description": "The Vcenter.Tagging.Associations.Summary describes a tag association.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Tagging.Associations.ListResult": { + "required": [ + "associations", + "status" + ], + "type": "object", + "properties": { + "associations": { + "type": "array", + "description": "List of tag associations.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.Summary" + } + }, + "marker": { + "type": "string", + "description": "Marker is an opaque data structure that allows the caller to request the next page of tag associations.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` or empty, there are no more tag associations to request.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.tagging.associations.Marker`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.tagging.associations.Marker`." + }, + "status": { + "type": "string", + "description": "The last status for the iterator that indicates whether any more results can be expected if the caller continues to make requests for more data using the iterator.\n\nPossible values:\n - `READY`: Iterator has more data pending and is ready to provide it. The caller can request the next page of data at any time. \n\n The number of results returned may be less than the usual size. In other words, the iterator may not fill the page. The iterator has returned at least 1 result.\n - `END_OF_DATA`: Iterator has finished iterating through its inventory. There are currently no more entities to return and the caller can terminate iteration. If the iterator returned some data, the marker may be set to allow the iterator to continue from where it left off when additional data does become available. This value is used to indicate that all available data has been returned by the iterator.\n\n\nFor more information see: *Vcenter.Tagging.Associations.LastIterationStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Tagging.Associations.ListResult schema contains the list of tag associations in a page, as well as related metadata fields.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Tagging.Associations.TagCategoryNameInfo": { + "required": [ + "category_name", + "tag_name" + ], + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag to attach or detach.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "category_name": { + "type": "string", + "description": "The name of the category that the tag belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "Represents a vSphere tag by its name and its respective category's name.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Tagging.Associations.TagSpec": { + "required": [ + "operation" + ], + "type": "object", + "properties": { + "operation": { + "type": "string", + "description": "The desired operation that will be applied to the resource.\n\nPossible values:\n - `ATTACH`: Attach the specified tag to the resource object. If a tag is already attached, the operation is idempotent and has no effect on that tag association.\n - `DETACH`: Detach the specified tag from the resource object. If a tag is not attached, the operation is idempotent and has no effect on that tag association.\n\n\nFor more information see: *Vcenter.Tagging.Associations.Operation*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "tag_id": { + "type": "string", + "description": "This property was added in __vSphere API 9.1.0.0__.\n\nTag identifier involved.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`." + }, + "tag_category_name_info": { + "description": "This property was added in __vSphere API 9.1.0.0__.\n\nTag by name and category involved.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.TagCategoryNameInfo" + } + ] + } + }, + "description": "Represents a tag specification for an operation to be performed with optional *Cis.Tagging.Tag* and/or *Vcenter.Tagging.Associations.TagCategoryNameInfo*. \n\n At least one of *Cis.Tagging.Tag* or *Vcenter.Tagging.Associations.TagCategoryNameInfo* should be provided. If both are specified, *Vcenter.Tagging.Associations.TagCategoryNameInfo* must refer to the same *Cis.Tagging.Tag*. If *Cis.Tagging.Tag* and *Vcenter.Tagging.Associations.TagCategoryNameInfo* are missing or `null`, the update operation will throw an *Vapi.Std.Errors.InvalidArgument*. \n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Tagging.Associations.UpdateSpec": { + "required": [ + "object", + "tag_spec_list" + ], + "type": "object", + "properties": { + "object": { + "description": "Identifier of an object to attach or detach tags to. It must contain valid resource type and id.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.DynamicID" + } + ] + }, + "tag_spec_list": { + "type": "array", + "description": "List of tag specifications to be applied with the object.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.TagSpec" + } + } + }, + "description": "Represents a specification for an object including its identifier and list of tag specifications.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Tagging.Associations.ResultItem": { + "required": [ + "operation", + "tag", + "tag_category_name_info" + ], + "type": "object", + "properties": { + "operation": { + "type": "string", + "description": "The type of operation that is performed on the tag.\n\nPossible values:\n - `ATTACH`: Attach the specified tag to the resource object. If a tag is already attached, the operation is idempotent and has no effect on that tag association.\n - `DETACH`: Detach the specified tag from the resource object. If a tag is not attached, the operation is idempotent and has no effect on that tag association.\n\n\nFor more information see: *Vcenter.Tagging.Associations.Operation*.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "tag": { + "type": "string", + "description": "The identifier of the tag involved in the operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`." + }, + "tag_category_name_info": { + "description": "The name of the tag and the category it belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.TagCategoryNameInfo" + } + ] + } + }, + "description": "Represents a tag that was attached to or detached from the resource object as part of the *PATCH /vcenter/tagging/associations* operation.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Tagging.Associations.UpdateResult": { + "required": [ + "success" + ], + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Indicates whether all requested changes were successfully applied to the resource object. \n\n Sets to `true` if all *Vcenter.Tagging.Associations.TagSpec.operation* in *Vcenter.Tagging.Associations.UpdateSpec.tag_spec_list* completed without errors. Sets to `false` if one or more *Vcenter.Tagging.Associations.TagSpec.operation* in *Vcenter.Tagging.Associations.UpdateSpec.tag_spec_list* failed. See the *Vcenter.Tagging.Associations.UpdateResult.errors* for details. \n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "results": { + "type": "array", + "description": "Represents a list of results from the *Vcenter.Tagging.Associations.UpdateSpec.tag_spec_list* that were attached or detached. The property does not specify which operations succeeded or failed, but rather which tags were newly added or removed as part of this call. The property is populated only when *Vcenter.Tagging.Associations.UpdateResult.success* is set to `true`. \n\n If *Vcenter.Tagging.Associations.UpdateResult.success* is true and the property contains all the items from *Vcenter.Tagging.Associations.UpdateSpec.tag_spec_list*, it means that all the requested attach/detach calls were successful and all the attaches/ detaches were performed as part of this call. For example, Suppose no tags are currently attached to the resource. If the call attempts to attach four tags T1, T2, T3 and T4 then this property will contain T1, T2, T3 and T4 as all of them were newly attached. Similarly, suppose all four tags T1, T2, T3 and T4 are currently not attached and this call attempts to detach T1, T2, T3, T4 then this field will only contain T1, T2, T3, T4. \n\n If *Vcenter.Tagging.Associations.UpdateResult.success* is true and if the property contains only a subset of items from *Vcenter.Tagging.Associations.UpdateSpec.tag_spec_list*,it means that all requested tags were correctly attached to/ detached from the object. The property indicates which tags were actually attached/ detached as a result of this call. For example, Suppose tags T1, T2 are already attached to the resource. If this call attempts to attach two new tags, say T3 and T4, then this property will only contain T3 and T4, since they were the ones actually attached as part of this call. Similarly, if T1 and T2 are not attached, and this call attempts to detach T1, T2, T3, T4 then this field will only contain T3 and T4, as they were the ones actually detached during this call. \n\n If *Vcenter.Tagging.Associations.UpdateResult.success* is false, this property is unset. Any item present in the input *Vcenter.Tagging.Associations.UpdateSpec.tag_spec_list* but missing from the property means that the tag was already attached or detached. It does not indicate a failure of the operation. \n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no tags were applied during this *PATCH /vcenter/tagging/associations* call.", + "items": { + "$ref": "#/components/schemas/Vcenter.Tagging.Associations.ResultItem" + } + }, + "errors": { + "type": "array", + "description": "List of error messages specifying the tags for which the operation failed, if any errors occurred during update processing. This property is populated only when *Vcenter.Tagging.Associations.UpdateResult.success* is set to `false`.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, the *PATCH /vcenter/tagging/associations* operation completes successfully and no errors occurred.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "Represents the result of an update operation. It contains the success status, list of individual tag result for each operation performed and any error messages related to the processing of the *Vcenter.Tagging.Associations.UpdateSpec*.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Tagging.Categories.Info": { + "required": [ + "associable_types", + "cardinality", + "description", + "name", + "used_by" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the category.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "description": { + "type": "string", + "description": "The description of the category.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "cardinality": { + "type": "string", + "description": "The associated cardinality (Cardinality) of the category.\n\nPossible values:\n - `SINGLE`: An object can only be assigned one of the tags in this category. For example, if a category is \"Operating System\", then different tags of this category would be \"Windows\", \"Linux\", and so on. In this case a VM object can be assigned only one of these tags and hence the cardinality of the associated category here is single.\n - `MULTIPLE`: An object can be assigned several of the tags in this category. For example, if a category is \"Server\", then different tags of this category would be \"AppServer\", \"DatabaseServer\" and so on. In this case a VM object can be assigned more than one of the above tags and hence the cardinality of the associated category here is multiple.\n\n\nFor more information see: *Vcenter.Tagging.Categories.Info.Cardinality*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "associable_types": { + "uniqueItems": true, + "type": "array", + "description": "The types of objects that the tags in this category can be attached to. If the set is empty, then tags can be attached to all types of objects.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + }, + "used_by": { + "uniqueItems": true, + "type": "array", + "description": "The set of users that can use this category.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Tagging.Categories.Info schema contains the category Name\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Categories.Info.Cardinality": { + "type": "string", + "description": "The Vcenter.Tagging.Categories.Info.Cardinality enumerated type defines the number of tags in a category that can be assigned to an object.\n\nPossible values:\n - `SINGLE`: An object can only be assigned one of the tags in this category. For example, if a category is \"Operating System\", then different tags of this category would be \"Windows\", \"Linux\", and so on. In this case a VM object can be assigned only one of these tags and hence the cardinality of the associated category here is single.\n - `MULTIPLE`: An object can be assigned several of the tags in this category. For example, if a category is \"Server\", then different tags of this category would be \"AppServer\", \"DatabaseServer\" and so on. In this case a VM object can be assigned more than one of the above tags and hence the cardinality of the associated category here is multiple.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SINGLE", + "MULTIPLE" + ] + }, + "Vcenter.Tagging.Categories.ListItem": { + "required": [ + "category_id", + "info" + ], + "type": "object", + "properties": { + "category_id": { + "type": "string", + "description": "The identifier of the category.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Category`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Category`." + }, + "info": { + "description": "The information about the category.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Tagging.Categories.Info" + } + ] + } + }, + "description": "The Vcenter.Tagging.Categories.ListItem schema contains the category identifier and further information about the category.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Categories.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "marker": { + "type": "string", + "description": "Marker is an opaque data structure that allows the caller to request the next page of categories.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then all the categories have been returned." + }, + "items": { + "type": "array", + "description": "List of categories.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Tagging.Categories.ListItem" + } + } + }, + "description": "The Vcenter.Tagging.Categories.ListResult schema contains a set of categories and the metadata about them.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Categories.FilterSpec": { + "type": "object", + "properties": { + "names": { + "uniqueItems": true, + "type": "array", + "description": "Categories need to have a name equal to one of the strings in this set to match the filter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then categories with any name match this filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Tagging.Categories.FilterSpec schema contains properties used to filter the results when listing categories, see *GET /vcenter/tagging/categories*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Categories.IterationSpec": { + "type": "object", + "properties": { + "marker": { + "type": "string", + "description": "Marker is an opaque data structure that allows the caller to request the next page of categories.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the first page of categories will be returned." + }, + "page_size": { + "type": "integer", + "description": "Used for pagination to fetch given page size\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, then categories will be fetched with default size of 20.", + "format": "int64" + } + }, + "description": "The Vcenter.Tagging.Categories.IterationSpec schema contains properties used to break results into pages when listing categories.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Tags.Info": { + "required": [ + "category", + "description", + "name", + "used_by" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the tag.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "category": { + "type": "string", + "description": "Category Id\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Category`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Category`." + }, + "description": { + "type": "string", + "description": "The description of the Tag.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "used_by": { + "uniqueItems": true, + "type": "array", + "description": "The set of users that can use this Tag.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Tagging.Tags.Info schema contains the tag Name and Category ID\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Tags.ListItem": { + "required": [ + "info", + "tag" + ], + "type": "object", + "properties": { + "tag": { + "type": "string", + "description": "The identifier of the tag.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.cis.tagging.Tag`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.cis.tagging.Tag`." + }, + "info": { + "description": "The information about the tag.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Tagging.Tags.Info" + } + ] + } + }, + "description": "The Vcenter.Tagging.Tags.ListItem schema contains the tag identifier and further information about the tag.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Tags.ListResult": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "marker": { + "type": "string", + "description": "Marker is an opaque data structure that allows the caller to request the next page of tags.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then all the tags have been returned." + }, + "items": { + "type": "array", + "description": "List of tags.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Tagging.Tags.ListItem" + } + } + }, + "description": "The Vcenter.Tagging.Tags.ListResult schema contains a set of tags and the metadata about them.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Tags.FilterSpec": { + "type": "object", + "properties": { + "names": { + "uniqueItems": true, + "type": "array", + "description": "Tags need to have a name equal to one of the strings in this set to match the filter.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, then tags with any name match this filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Tagging.Tags.FilterSpec schema contains properties used to filter the results when listing tags, see *GET /vcenter/tagging/tags*).\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tagging.Tags.IterationSpec": { + "type": "object", + "properties": { + "marker": { + "type": "string", + "description": "Marker is an opaque data structure that allows the caller to request the next page of tags.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, the first page of tags will be returned." + }, + "page_size": { + "type": "integer", + "description": "Used for pagination to fetch given page size\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, then tags will be fetched with default page size of 20.", + "format": "int64" + } + }, + "description": "The Vcenter.Tagging.Tags.IterationSpec schema contains properties used to break results into pages when listing tags.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Tokenservice.Error": { + "required": [ + "messages" + ], + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "Stack of one or more localizable messages for human error consumers. \n\n The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "data": { + "type": "object", + "description": "Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. \n\n Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports. The ArgumentLocations, FileLocations, and TransientIndication schemas are intended as possible values for this property. *Vapi.Std.DynamicID* may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.\n\nSome operations will not set this property when reporting errors." + } + }, + "description": "The Vcenter.Tokenservice.Error error describes theproperties common to all standard errors. \n\n This error serves two purposes: \n 1. It is the error that clients in many programming languages can catch to handle all standard errors. Typically those clients will display one or more of the localizable messages from *Vcenter.Tokenservice.Error.messages* to a human. \n 2. It is the error that operations can report when they need to report some error, but the error doesn't fit into any other standard error, and in fact the only reasonable way for a client to react to the error is to display the message(s) to a human. \n " + }, + "Vcenter.Tokenservice.InvalidGrant": { + "type": "object", + "description": "The Vcenter.Tokenservice.InvalidGrant error indicates that provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Tokenservice.Error" + } + ] + }, + "Vcenter.Tokenservice.InvalidRequest": { + "type": "object", + "description": "The Vcenter.Tokenservice.InvalidRequest error indicates that *Vcenter.Tokenservice.TokenExchange.ExchangeSpec* is missing a required parameter, includes an unsupported parameter value (other than *Vcenter.Tokenservice.TokenExchange.ExchangeSpec.grant_type*)\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Tokenservice.Error" + } + ] + }, + "Vcenter.Tokenservice.InvalidScope": { + "type": "object", + "description": "The Vcenter.Tokenservice.InvalidScope error indicates requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Tokenservice.Error" + } + ] + }, + "Vcenter.Tokenservice.TokenExchange.ExchangeSpec": { + "required": [ + "grant_type", + "subject_token", + "subject_token_type" + ], + "type": "object", + "properties": { + "grant_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nThe value of *Vcenter.Tokenservice.TokenExchange.TOKEN_EXCHANGE_GRANT* indicates that a token exchange is being performed.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "resource": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nIndicates the location of the target service or resource where the client intends to use the requested security token.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif can be inferred from other arguments or not needed for specific case of exchange." + }, + "audience": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nThe logical name of the target service where the client intends to use the requested security token. This serves a purpose similar to the *Vcenter.Tokenservice.TokenExchange.ExchangeSpec.resource* parameter, but with the client providing a logical name rather than a location.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif can be inferred from other arguments or not needed for specific case of exchange." + }, + "scope": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nA list of space-delimited, case-sensitive strings, that allow the client to specify the desired scope of the requested security token in the context of the service or resource where the token will be used.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif can be inferred from other arguments or not needed for specific case of exchange." + }, + "requested_token_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nAn identifier for the type of the requested security token. If the requested type is unspecified, the issued token type is at the discretion of the server and may be dictated by knowledge of the requirements of the service or resource indicated by the *Vcenter.Tokenservice.TokenExchange.ExchangeSpec.resource* or *Vcenter.Tokenservice.TokenExchange.ExchangeSpec.audience* parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif can be inferred from other arguments or not needed for specific case of exchange." + }, + "subject_token": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nA security token that represents the identity of the party on behalf of whom exchange is being made. Typically, the subject of this token will be the subject of the security token issued. Token is base64-encoded.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "subject_token_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nAn identifier, that indicates the type of the security token in the *Vcenter.Tokenservice.TokenExchange.ExchangeSpec.subject_token* parameter.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "actor_token": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nA security token that represents the identity of the acting party. Typically, this will be the party that is authorized to use the requested security token and act on behalf of the subject.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif not needed for specific case of exchange." + }, + "actor_token_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nAn identifier, that indicates the type of the security token in the *Vcenter.Tokenservice.TokenExchange.ExchangeSpec.actor_token* parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif *Vcenter.Tokenservice.TokenExchange.ExchangeSpec.actor_token* parameter is not present." + } + }, + "description": "This schema is deprecated as of __vSphere API 7.0.2.0__.\n\nThe Vcenter.Tokenservice.TokenExchange.ExchangeSpec schema contains arguments required for token exchange.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Tokenservice.TokenExchange.Info": { + "required": [ + "access_token", + "issued_token_type", + "token_type" + ], + "type": "object", + "properties": { + "access_token": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nThe security token issued by the server in response to the token exchange request. Token is base64-encoded.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "issued_token_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nAn identifier, that indicates the type of the security token in the *Vcenter.Tokenservice.TokenExchange.Info.access_token* parameter.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "token_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nA case-insensitive value specifying the method of using the access token issued.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "expires_in": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nThe validity lifetime, in seconds, of the token issued by the server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif not applicable for issued token.", + "format": "int64" + }, + "scope": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nScope of the issued security token.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif the scope of the issued security token is identical to the scope requested by the client." + }, + "refresh_token": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 7.0.2.0__.\n\nA refresh token can be issued in cases where the client of the token exchange needs the ability to access a resource even when the original credential is no longer valid.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nif not needed for specific case of exchange." + } + }, + "description": "This schema is deprecated as of __vSphere API 7.0.2.0__.\n\nThe Vcenter.Tokenservice.TokenExchange.Info schema contains data that represents successful token exchange response.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.Topology.Nodes.ApplianceType": { + "type": "string", + "description": "The Vcenter.Topology.Nodes.ApplianceType enumerated type defines values for valid appliance types for the vCenter and Platform Services Controller node. See *Vcenter.Topology.Nodes.Info*.\n\nPossible values:\n - `VCSA_EMBEDDED`: vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nThis enumeration was added in __vSphere API 6.7.2__.", + "enum": [ + "VCSA_EMBEDDED", + "VCSA_EXTERNAL", + "PSC_EXTERNAL" + ] + }, + "Vcenter.Topology.Nodes.Info": { + "required": [ + "domain", + "type" + ], + "type": "object", + "properties": { + "domain": { + "type": "string", + "description": "Domain name of the node.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "type": { + "type": "string", + "description": "Appliance type of the node.\n\nPossible values:\n - `VCSA_EMBEDDED`: vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nFor more information see: *Vcenter.Topology.Nodes.ApplianceType*.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "replication_partners": { + "type": "array", + "description": "List of replication partners' node identifiers. Identifiers can be either IP address or DNS resolvable name of the partner node.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Topology.Nodes.ApplianceType.VCSA_EMBEDDED* or *Vcenter.Topology.Nodes.ApplianceType.PSC_EXTERNAL*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.VCenter.name`.", + "items": { + "type": "string" + } + }, + "client_affinity": { + "type": "string", + "description": "Identifier of the affinitized Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the affinitized node.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Topology.Nodes.ApplianceType.VCSA_EXTERNAL*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`." + } + }, + "description": "The Vcenter.Topology.Nodes.Info schema contains vCenter or Platform Services Controller node details.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.Topology.Nodes.Summary": { + "required": [ + "node", + "type" + ], + "type": "object", + "properties": { + "node": { + "type": "string", + "description": "Identifier for the vCenter or Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the node.\n\nThis property was added in __vSphere API 6.7.2__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`." + }, + "type": { + "type": "string", + "description": "Appliance type of the node.\n\nPossible values:\n - `VCSA_EMBEDDED`: vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nFor more information see: *Vcenter.Topology.Nodes.ApplianceType*.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "replication_partners": { + "type": "array", + "description": "List of replication partners' node identifiers. Identifiers can be either IP address or DNS resolvable name of the partner node.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Topology.Nodes.ApplianceType.VCSA_EMBEDDED* or *Vcenter.Topology.Nodes.ApplianceType.PSC_EXTERNAL*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.VCenter.name`.", + "items": { + "type": "string" + } + }, + "client_affinity": { + "type": "string", + "description": "Identifier of the affinitized Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the affinitized node.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Topology.Nodes.ApplianceType.VCSA_EXTERNAL*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`." + } + }, + "description": "The Vcenter.Topology.Nodes.Summary schema contains commonly used information of vCenter or Platform Services Controller node.\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.Topology.Nodes.FilterSpec": { + "type": "object", + "properties": { + "types": { + "uniqueItems": true, + "type": "array", + "description": "Types of the appliance that a vCenter and Platform Services Controller node must be to match the filter (see *Vcenter.Topology.Nodes.ApplianceType*.\n\nPossible values:\n - `VCSA_EMBEDDED`: vCenter Server Appliance with an embedded Platform Services Controller.\n - `VCSA_EXTERNAL`: vCenter Server Appliance with an external Platform Services Controller.\n - `PSC_EXTERNAL`: An external Platform Services Controller.\n\n\nFor more information see: *Vcenter.Topology.Nodes.ApplianceType*.\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null` or empty, node of any ApplianceType match the filter.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Topology.Nodes.FilterSpec schema contains property used to filter the results when listing vCenter and Platform Services Controller nodes (see *GET /vcenter/topology/nodes*).\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.Topology.ReplicationStatus.Summary": { + "required": [ + "node", + "partner_available", + "replication_partner", + "status_available" + ], + "type": "object", + "properties": { + "node": { + "type": "string", + "description": "Identifier for the vCenter or Platform Services Controller node. Identifier can be either IP address or DNS resolvable name of the node.\n\nThis property was added in __vSphere API 6.7.2__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`." + }, + "replication_partner": { + "type": "string", + "description": "Identifier for the vCenter or Platform Services Controller replication partner. Identifier can be either IP address or DNS resolvable name of the replication partner.\n\nThis property was added in __vSphere API 6.7.2__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.VCenter.name`." + }, + "partner_available": { + "type": "boolean", + "description": "Indicates if the VMware Directory Service on partner is reachable or not.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "status_available": { + "type": "boolean", + "description": "Indicates if the replication status for the node with respect to replication partner can be retrieved or not.\n\nThis property was added in __vSphere API 6.7.2__." + }, + "replicating": { + "type": "boolean", + "description": "Indicates if node is processing replication changes from the replication partner.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property will be missing or `null` if the partner host or replication status is not available, i.e, if *Vcenter.Topology.ReplicationStatus.Summary.partner_available* or *Vcenter.Topology.ReplicationStatus.Summary.status_available* is false." + }, + "change_lag": { + "type": "integer", + "description": "Number of replication changes node is behind the replication partner.\n\nThis property was added in __vSphere API 6.7.2__.\n\nThis property will be missing or `null` if the partner host or replication status is not available, i.e, if *Vcenter.Topology.ReplicationStatus.Summary.partner_available* or *Vcenter.Topology.ReplicationStatus.Summary.status_available* is false.", + "format": "int64" + } + }, + "description": "The Vcenter.Topology.ReplicationStatus.Summary schema contains replication information of partner vCenter or Platform Services Controller node of type VCSA_EMBEDDED/PSC_EXTERNAL (see *Vcenter.Topology.Nodes.Info.type*).\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.Topology.ReplicationStatus.FilterSpec": { + "type": "object", + "properties": { + "nodes": { + "uniqueItems": true, + "type": "array", + "description": "Identifier that a vCenter and Platform Services Controller node must have to match the filter. (see *Vcenter.Topology.ReplicationStatus.Summary.node*).\n\nThis property was added in __vSphere API 6.7.2__.\n\nIf missing or `null` or empty, all vCenter and Platform Services Controller nodes of type VCSA_EMBEDDED/PSC_EXTERNAL match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.VCenter.name`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.VCenter.name`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Topology.ReplicationStatus.FilterSpec schema contains property used to filter the results when listing replication status for the vCenter and Platform Services Controller nodes (see *GET /vcenter/topology/replication-status*) of type VCSA_EMBEDDED/PSC_EXTERNAL (see *Vcenter.Topology.Nodes.Info.type*).\n\nThis schema was added in __vSphere API 6.7.2__." + }, + "Vcenter.TrustedInfrastructure.StsPrincipalType": { + "type": "string", + "description": "The Vcenter.TrustedInfrastructure.StsPrincipalType enum can be either users or groups.\n\nPossible values:\n - `STS_USER`: The principal is a user.\n - `STS_GROUP`: The principal is a group.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "STS_USER", + "STS_GROUP" + ] + }, + "Vcenter.TrustedInfrastructure.NetworkAddress": { + "required": [ + "hostname" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the service.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "port": { + "type": "integer", + "description": "The port of the service.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + } + }, + "description": "The Vcenter.TrustedInfrastructure.NetworkAddress schema contains an IP address or DNS resolvable name and a port on which a connection can be established.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.TrustedInfrastructure.StsPrincipalId": { + "required": [ + "domain", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The principal's username.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "domain": { + "type": "string", + "description": "The principal's domain.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.TrustedInfrastructure.StsPrincipalId schema contains an IDM principal ID.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.TrustedInfrastructure.StsPrincipal": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "id": { + "description": "The principal's ID.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.StsPrincipalId" + } + ] + }, + "type": { + "type": "string", + "description": "The type of the principal (user or group).\n\nPossible values:\n - `STS_USER`: The principal is a user.\n - `STS_GROUP`: The principal is a group.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.StsPrincipalType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.TrustedInfrastructure.StsPrincipal schema contains a IDM principal.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.TrustedInfrastructure.X509CertChain": { + "required": [ + "cert_chain" + ], + "type": "object", + "properties": { + "cert_chain": { + "type": "array", + "description": "Certificate chain in base64 format\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.TrustedInfrastructure.X509CertChain schema contains x509 certificate chain.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.State": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.State enumerated type defines the states of the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters*.\n\nPossible values:\n - `ENABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is enabled.\n - `DISABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is disabled.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "ENABLE", + "DISABLE" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Summary": { + "required": [ + "cluster", + "state" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nIdentifies the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "state": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe state of the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters*.\n\nPossible values:\n - `ENABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is enabled.\n - `DISABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is disabled.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.State*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Summary schema contains information about *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* id and state.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.FilterSpec": { + "type": "object", + "properties": { + "cluster": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nIdentifies the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\ncluster If missing or `null` return all Trust Authority Clusters.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "state": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe state of the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters*.\n\nPossible values:\n - `ENABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is enabled.\n - `DISABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is disabled.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.State*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nstate If missing or `null` return all Trust Authority Clusters.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.FilterSpec schema contains the data necessary for identifying a *Vcenter.TrustedInfrastructure.TrustAuthorityClusters*.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.UpdateSpec": { + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe state of the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters*.\n\nPossible values:\n - `ENABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is enabled.\n - `DISABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is disabled.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.State*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nstate If missing or `null` no operation is performed." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.UpdateSpec schema contains the data necessary for update of a *Vcenter.TrustedInfrastructure.TrustAuthorityClusters*.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Info": { + "required": [ + "cluster", + "state" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nIdentifies the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "state": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe state of the cluster.\n\nPossible values:\n - `ENABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is enabled.\n - `DISABLE`: The *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* is disabled.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.State*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Info schema contains the data necessary for retrieving the *Vcenter.TrustedInfrastructure.TrustAuthorityClusters* info.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Principal.Info": { + "required": [ + "certificates", + "issuer", + "name", + "principal" + ], + "type": "object", + "properties": { + "certificates": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe certificates used by the STS to sign tokens for this vCenter.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + }, + "issuer": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service which created and signed the security token.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "principal": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe principal used by this vCenter instance to retrieve tokens. Currently this is the vCenter solution user.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.StsPrincipal" + } + ] + }, + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe user-friednly name of the vCenter.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Principal.Info schema contains the information about the principal and certificates used by this vCenter to retrieve tokens.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Attestation.Services.Summary": { + "required": [ + "address", + "group", + "service", + "trust_authority_cluster" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's unique identifier.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group specifies the Key Provider Service instances that can accept reports issued by this Attestation Service instance.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Attestation Service instance belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Attestation.Services.Summary schema contains basic information about a registered Attestation Service instance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Attestation.Services.Info": { + "required": [ + "address", + "group", + "trust_authority_cluster", + "trusted_ca" + ], + "type": "object", + "properties": { + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group specifies the Key Provider Service instances that can accept reports issued by this Attestation Service instance.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Attestation Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Attestation.Services.Info schema contains all the stored information about a registered Attestation Service instance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Attestation.Services.CreateSpec": { + "required": [ + "address", + "group", + "trust_authority_cluster", + "trusted_ca" + ], + "type": "object", + "properties": { + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group specifies the Key Provider Service instances that can accept reports issued by this Attestation Service instance.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Attestation Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Attestation.Services.CreateSpec schema contains the data necessary for registering an Attestation Service instance to the environment\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Attestation.Services.FilterSpec": { + "type": "object", + "properties": { + "services": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of IDs by which to filter the services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by ID.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`.", + "items": { + "type": "string" + } + }, + "address": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of address by which to filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by address.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + }, + "group": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group specifies the Key Provider Service instances that can accept reports issued by this Attestation Service instance.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by group.", + "items": { + "type": "string" + } + }, + "trust_authority_cluster": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Attestation Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by trustAuthorityCluster.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Attestation.Services.FilterSpec schema contains the data necessary for identifying an Attestation Service instance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.Summary": { + "required": [ + "active", + "major_version", + "minor_version", + "tpm" + ], + "type": "object", + "properties": { + "tpm": { + "type": "string", + "description": "A unique identifier for the TPM instance.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.Tpm`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.Tpm`." + }, + "major_version": { + "type": "integer", + "description": "The TPM major version number.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "minor_version": { + "type": "integer", + "description": "The TPM minor version number.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "active": { + "type": "boolean", + "description": "The TPM status. \n\n Inactive TPMs cannot be used for sealing or attestation.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.Summary schema contains information that summarizes a TPM.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.Info": { + "required": [ + "active", + "banks", + "major_version", + "minor_version" + ], + "type": "object", + "properties": { + "major_version": { + "type": "integer", + "description": "The TPM major version number.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "minor_version": { + "type": "integer", + "description": "The TPM minor version number.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "int64" + }, + "active": { + "type": "boolean", + "description": "The TPM status. \n\n Inactive TPMs cannot be used for sealing or attestation.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "manufacturer": { + "type": "string", + "description": "The TPM manufacturer.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, manufacturer is not available." + }, + "model": { + "type": "string", + "description": "The TPM model.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, model is not available." + }, + "firmware_version": { + "type": "string", + "description": "The TPM firmware version.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, firmware version is not available." + }, + "banks": { + "type": "array", + "description": "The list of the PCR banks of the TPM device.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.PcrBank" + } + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.Info schema contains information that describes a TPM device.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.FilterSpec": { + "type": "object", + "properties": { + "active": { + "type": "boolean", + "description": "The TPM status.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, the result will not be filtered by status." + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.FilterSpec schema contains properties used to filter the results when listing configured TPMs.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.HashAlgorithm": { + "type": "string", + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.HashAlgorithm enumerated type defines the possible hash algorithms.\n\nPossible values:\n - `SHA256`: The SHA 256 hash algorithm.\n - `SHA384`: The SHA 384 hash algorithm.\n - `SHA512`: The SHA 512 hash algorithm.\n - `SM3_256`: The SM3 hash algorithm.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "SHA256", + "SHA384", + "SHA512", + "SM3_256" + ] + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.PcrBank": { + "required": [ + "algorithm", + "pcrs" + ], + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "description": "The hash algorithm that is used by TPM to calculate the PCR values.\n\nPossible values:\n - `SHA256`: The SHA 256 hash algorithm.\n - `SHA384`: The SHA 384 hash algorithm.\n - `SHA512`: The SHA 512 hash algorithm.\n - `SM3_256`: The SM3 hash algorithm.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.HashAlgorithm*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "pcrs": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "byte" + }, + "description": "The index of PCR and corresponding TPM digest value.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.PcrBank schema contains information that describes digest information of a PCR bank.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Type": { + "type": "string", + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Type enumerated type defines the endorsement key type based on key algorithms.\n\nPossible values:\n - `RSA_2048`: The RSA 2048 bit key.\n - `ECC_NIST_P_256`: The ECC NISTP-256 bit key.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "RSA_2048", + "ECC_NIST_P_256" + ] + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Summary": { + "required": [ + "key", + "type" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "A unique identifier for the TPM endorsement key.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.tpm.EndorsementKey`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.hosts.hardware.tpm.EndorsementKey`." + }, + "type": { + "type": "string", + "description": "The TPM endorsement key type.\n\nPossible values:\n - `RSA_2048`: The RSA 2048 bit key.\n - `ECC_NIST_P_256`: The ECC NISTP-256 bit key.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Type*.\n\nThis property was added in __vSphere API 8.0.0.1__." + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Summary schema contains information that describes a TPM endorsement key.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Info": { + "required": [ + "name", + "public_area", + "qualified_name", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The TPM endorsement key type.\n\nPossible values:\n - `RSA_2048`: The RSA 2048 bit key.\n - `ECC_NIST_P_256`: The ECC NISTP-256 bit key.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Type*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "public_area": { + "type": "string", + "description": "The TPM endorsement key public area. \n\n The public area is a TPM2B_PUBLIC structure. \n\n Trusted Platform Module Library Part 2: Structures, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 12.2.5 TPM2B_PUBLIC\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "byte" + }, + "name": { + "type": "string", + "description": "The TPM endorsement key name. \n\n The name is a TPM2B_NAME structure. \n\n Trusted Platform Module Library Part 2: Structures, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 10.5.3 TPM2B_NAME\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "byte" + }, + "qualified_name": { + "type": "string", + "description": "The TPM endorsement key qualified name. \n\n The qualified name is a TPM2B_NAME structure. \n\n Trusted Platform Module Library Part 2: Structures, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 10.5.3 TPM2B_NAME\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "byte" + }, + "public_key": { + "type": "string", + "description": "The TPM public endorsement key in PEM format.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, the PEM format public key could not be determined." + }, + "certificate": { + "type": "string", + "description": "The TPM endorsement key certificate in PEM format.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, the certificate cannot be retrieved from the TPM." + }, + "manufacturer_certificate_uri": { + "type": "string", + "description": "The TPM endorsement key issuer URL extracted from the TPM endorsement key certificate.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, the URI cannot be retrieved from the endorsement key certificate." + }, + "manufacturer_certificates": { + "description": "The TPM manufacturer's endorsement key certificate chain. \n\n Endorsement key certificates are signed by the TPM manufacturer. When available, the manufacturer_certificates property will contain the TPM manufacturer's endorsement key certificate chain.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null`, the certificate chain is not available.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Info schema contains information that describes a TPM endorsement key.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.PolicyPcrSpec": { + "required": [ + "pcrs" + ], + "type": "object", + "properties": { + "pcrs": { + "type": "string", + "description": "The PCRs to which the data is sealed. \n\n The PCR selection is a TPML_PCR_SELECTION structure. \n\n Trusted Platform Module Library Part 2: Structures, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 10.9.7 TPML_PCR_SELECTION\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "byte" + }, + "pcr_digest": { + "type": "string", + "description": "The digest of the PCRs selected in *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.PolicyPcrSpec.pcrs*. \n\n The digest is a TPM2B_DIGEST structure. \n\n Trusted Platform Module Library Part 2: Structures, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 10.4.2 TPM2B_DIGEST\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, then the PCR digest is calculated by the service based on the current PCR state.", + "format": "byte" + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.PolicyPcrSpec schema contains information that can be used to construct a PCR policy session for unsealing a secret using the *POST /vcenter/trusted-infrastructure/hosts/{host}/hardware/tpm/{tpm}/endorsement-keys/{key}?action=unseal* operation.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.UnsealSpec": { + "required": [ + "private_area", + "public_area", + "seed" + ], + "type": "object", + "properties": { + "public_area": { + "type": "string", + "description": "The public area which corresponding to the *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.UnsealSpec.private_area* secret that is being unsealed. \n\n The public area is a TPM2B_PUBLIC structure. \n\n Trusted Platform Module Library Part 2: Structures, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 12.2.5 TPM2B_PUBLIC \n\n This public area is used as the \"objectPublic\" input to the TPM2_Import command. \n\n Trusted Platform Module Library Part 3: Commands, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 13.3 TPM2_Import\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "byte" + }, + "private_area": { + "type": "string", + "description": "A private area that contains a secret to be unsealed. \n\n The private area is symmetrically encrypted with the seed value derived from *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.UnsealSpec.seed*. \n\n The private area is a TPM2B_PRIVATE structure. \n\n Trusted Platform Module Library Part 2: Structures, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 12.3.7 TPM2B_PRIVATE \n\n This private area is used as the \"duplicate\" input to the TPM2_Import command. \n\n Trusted Platform Module Library Part 3: Commands, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 13.3 TPM2_Import\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "byte" + }, + "seed": { + "type": "string", + "description": "A seed value that is encrypted by the TPM endorsement key. \n\n The seed will be decrypted with the endorsement key and then will be used as a symmetric key to decrypt *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.UnsealSpec.private_area*. This ensures that only a TPM with the expected endorsement key can unseal the secret. \n\n The seed value is a TPM2B_ENCRYPTED_SECRET structure. \n\n Trusted Platform Module Library Part 2: Structures, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 11.4.3 TPM2B_ENCRYPTED_SECRET \n\n This seed is used as the \"inSymSeed\" input to the TPM2_Import command. \n\n Trusted Platform Module Library Part 3: Commands, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 13.3 TPM2_Import\n\nThis property was added in __vSphere API 8.0.0.1__.", + "format": "byte" + }, + "policy_pcr": { + "description": "PCR policy required to unseal the secret. \n\n Used as input to the TPM2_PolicyPCR command on a session that is created for issuing the TPM2_Unseal command. \n\n Trusted Platform Module Library Part 3: Commands, Family \"2.0\", Level 00 Revision 01.59, November 8, 2019, Section 23.7 TPM2_PolicyPCR\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, then a zeroed authorization policy is used for the TPM2_Unseal session.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.PolicyPcrSpec" + } + ] + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.UnsealSpec schema contains information that describes the structures required to unseal a secret.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.FilterSpec": { + "type": "object", + "properties": { + "types": { + "uniqueItems": true, + "type": "array", + "description": "Type of the endorsement key.\n\nPossible values:\n - `RSA_2048`: The RSA 2048 bit key.\n - `ECC_NIST_P_256`: The ECC NISTP-256 bit key.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.Type*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nif missing or `null` or empty, the result will not be filtered by types.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EndorsementKeys.FilterSpec schema contains properties used to filter the results when listing the endorsement key.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog.Type": { + "type": "string", + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog.Type enumerated type lists the event log types.\n\nPossible values:\n - `EFI_TCG2_EVENT_LOG_FORMAT_TCG_2`: TCG EFI Protocol Specification, Family \"2.0\", Level 00 Revision 00.13, March 30, 2016, Section 5.2 Crypto Agile Log Entry Format.\n\n\nThis enumeration was added in __vSphere API 8.0.0.1__.", + "enum": [ + "EFI_TCG2_EVENT_LOG_FORMAT_TCG_2" + ] + }, + "Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog.Info": { + "required": [ + "banks", + "truncated", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the event log.\n\nPossible values:\n - `EFI_TCG2_EVENT_LOG_FORMAT_TCG_2`: TCG EFI Protocol Specification, Family \"2.0\", Level 00 Revision 00.13, March 30, 2016, Section 5.2 Crypto Agile Log Entry Format.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog.Type*.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "data": { + "type": "string", + "description": "Event log data in the format described by *Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog.Info.type*.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is currently required. It may be optional in a future version.", + "format": "byte" + }, + "truncated": { + "type": "boolean", + "description": "Indicates if the event log is truncated. \n\n An event log is truncated when there was insufficient memory to store one or more event entries.\n\nThis property was added in __vSphere API 8.0.0.1__." + }, + "banks": { + "type": "array", + "description": "The resulting PCR banks from event log replay.\n\nThis property was added in __vSphere API 8.0.0.1__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.PcrBank" + } + } + }, + "description": "The Vcenter.TrustedInfrastructure.Hosts.Hardware.Tpm.EventLog.Info schema contains information that describes an event log.\n\nThis schema was added in __vSphere API 8.0.0.1__." + }, + "Vcenter.TrustedInfrastructure.Kms.Services.Summary": { + "required": [ + "address", + "group", + "service", + "trust_authority_cluster" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's unique identifier.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines the Attestation Service instances this Key Provider Service can accept reports from.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Key Provider service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Kms.Services.Summary schema contains basic information about a registered Key Provider Service instance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Kms.Services.Info": { + "required": [ + "address", + "group", + "trust_authority_cluster", + "trusted_ca" + ], + "type": "object", + "properties": { + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines the Attestation Service instances this Key Provider Service can accept reports from.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Kms.Services.Info schema contains all the stored information about a registered Key Provider Service instance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Kms.Services.CreateSpec": { + "required": [ + "address", + "group", + "trust_authority_cluster", + "trusted_ca" + ], + "type": "object", + "properties": { + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines the Attestation Service instances this Key Provider service can accept reports from.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Kms.Services.CreateSpec schema contains the data necessary for registering a Key Provider Service instance to the environment.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.Kms.Services.FilterSpec": { + "type": "object", + "properties": { + "services": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of IDs by which to filter the services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by ID.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`.", + "items": { + "type": "string" + } + }, + "address": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of address by which to filter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by address.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + }, + "group": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines the Attestation Service instances this Key Provider Service can accept reports from.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the Services will not be filtered by group.", + "items": { + "type": "string" + } + }, + "trust_authority_cluster": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the Services will not be filtered by trustAuthorityCluster.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.Kms.Services.FilterSpec schema contains the data necessary for identifying a Key Provider Service instance\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.Health enumerated type defines the possible health states.\n\nPossible values:\n - `NONE`: None. No status available.\n - `OK`: OK. Health is normal.\n - `WARNING`: Warning. Health is normal, however there is an issue that requires attention.\n - `ERROR`: Error. Not healthy.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.CreateSpec": { + "required": [ + "certificates", + "issuer", + "issuer_alias", + "principal" + ], + "type": "object", + "properties": { + "certificates": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe certificates used by the vCenter STS to sign tokens.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + }, + "issuer_alias": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA user-friendly alias of the service which created and signed the security token.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.authentication.trust.security-token-issuer`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.authentication.trust.security-token-issuer`." + }, + "issuer": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service which created and signed the security token.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "principal": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe principal used by the vCenter to retrieve tokens.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.StsPrincipal" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.CreateSpec schema contains the information necessary to establish trust between a workload vCenter and a Trust Authority Host.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.FilterSpec": { + "type": "object", + "properties": { + "id": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe unique identifier of a connection profile.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no filtration will be performed by ID.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.authentication.clientprofile`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.authentication.clientprofile`.", + "items": { + "type": "string" + } + }, + "principals": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe principal used by the vCenter to retrieve tokens.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no filtration will be performed by principals.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.StsPrincipal" + } + }, + "issuer": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service which created and signed the security token.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no filtration will be performed by issuer.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.esx.authentication.trust.security-token-issuer`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.esx.authentication.trust.security-token-issuer`.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.FilterSpec schema contains data which identifies a connection profile on the trusted vCenter.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.Info": { + "required": [ + "certificates", + "health", + "id", + "issuer", + "issuer_alias", + "principal" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe unique identifier of a connection profile.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.authentication.clientprofile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.authentication.clientprofile`." + }, + "principal": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe principal used by the vCenter to retrieve tokens. Currently this is the vCenter solution user.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.StsPrincipal" + } + ] + }, + "issuer_alias": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA user-friendly alias of the service which created and signed the security token.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.authentication.trust.security-token-issuer`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.authentication.trust.security-token-issuer`." + }, + "issuer": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service which created and signed the security token.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "certificates": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe certificates used by the vCenter STS to sign tokens.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe consistency of the profile across the hosts in the cluster.\n\nPossible values:\n - `NONE`: None. No status available.\n - `OK`: OK. Health is normal.\n - `WARNING`: Warning. Health is normal, however there is an issue that requires attention.\n - `ERROR`: Error. Not healthy.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "message": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA localizable message describing the health of the profile.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the certificates won't be updated.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.Info schema contains the information necessary to establish trust between a workload vCenter and a Trust Authority Host.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.Summary": { + "required": [ + "id", + "issuer", + "issuer_alias", + "principal" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe unique identifier of a connection profile.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.authentication.clientprofile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.authentication.clientprofile`." + }, + "principal": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe principal used by the vCenter to retrieve tokens. Currently this is the vCenter solution user.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.StsPrincipal" + } + ] + }, + "issuer_alias": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA user-friendly alias of the service which created and signed the security token.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.esx.authentication.trust.security-token-issuer`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.esx.authentication.trust.security-token-issuer`." + }, + "issuer": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service which created and signed the security token.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.ConsumerPrincipals.Summary schema contains a summary of the information necessary to establish trust between a workload vCenter and a Trust Authority Host.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus.Health enumerated type defines the possible service health states.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Service is functioning normally.\n - `WARNING`: Service is functioning, however there is an issue that requires attention.\n - `ERROR`: Service is not functioning.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus.Info": { + "required": [ + "details", + "health" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service health status.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Service is functioning normally.\n - `WARNING`: Service is functioning, however there is an issue that requires attention.\n - `ERROR`: Service is not functioning.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health of the service. \n\n When the service Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus.Health is not *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus.Health.OK* or *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus.Health.NONE*, this member will provide an actionable description of the issues present.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.ServiceStatus.Info schema contains information that describes the status of the service.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health enumerated type is indicator for the consistency of the hosts status in the cluster.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Summary": { + "required": [ + "display_name", + "health", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA unique ESX version number.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`." + }, + "display_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA unique ESX version formatted for display.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health indicator which indicates whether each host in the cluster has this version of the ESX base image.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Summary schema contains information that summarizes an ESX base image.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Info": { + "required": [ + "details", + "display_name", + "health" + ], + "type": "object", + "properties": { + "display_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA unique ESX version formatted for display.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "last_attested_time": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe last time that an attestation completed successfully using this ESX base image.\n\nThis property was added in __vSphere API 8.0.1.0__.\n\nIf missing or `null`, then there is no known last attestation time using this ESX base image.", + "format": "date-time" + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health indicator which indicates whether each host in the cluster has this version of the ESX base image.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health. \n\n When the Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health is not *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health.OK* or *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health.NONE*, this member will provide an actionable description of the issues present.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Info schema contains information that describes an ESX base image.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.FilterSpec": { + "type": "object", + "properties": { + "version": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSearch criteria by ESX base image version numbers.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nversion if missing or `null` return all ESX version numbers.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.os.esx.BaseImage`.", + "items": { + "type": "string" + } + }, + "display_name": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSearch criteria by ESX base image version version numbers.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\ndisplayName if missing or `null` return all ESX display version numbers.", + "items": { + "type": "string" + } + }, + "health": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSearch criteria by health indicator.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nhealth if missing or `null` return all health indicators.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Os.Esx.BaseImages.FilterSpec schema contains the data necessary for identifying a Trust Authority Host in a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Health enumerated type is indicator for the consistency of the hosts status in the cluster.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Summary": { + "required": [ + "health", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA unique name for the TPM CA certificate.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate`." + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health indicator which indicates whether each host in the cluster has the same CA certs.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Summary schema contains information that summarizes a TPM CA certificate.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Info": { + "required": [ + "cert_chain", + "details", + "health" + ], + "type": "object", + "properties": { + "cert_chain": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe CA certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health indicator which indicates whether each host in the cluster has the same CA certs.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health. \n\n When the Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Health is not *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Health.OK* or *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Health.NONE*, this member will provide an actionable description of the issues present.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.Info schema contains information that describes a TPM CA certificate.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.CreateSpec": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA unique name for the TPM CA certificate.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.CaCertificate`." + }, + "cert_chain": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe CA certificate chain. \n\n Certificates may either be added one at a time, or as a chain. Adding the certificates as a chain allows the group to be managed as a whole. For example, an entire chain can be deleted in one *DELETE /vcenter/trusted-infrastructure/trust-authority-clusters/{cluster}/attestation/tpm2/ca-certificates/{name}* operation. \n\n When certificates are added one at a time, the order must be root first, followed by any intermediates. The intermediates certificates must also be ordered in the direction from root to leaf. \n\n Similarly, when added as a chain the list must be ordered in the direction from root to leaf.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` creation will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.CaCertificates.CreateSpec schema contains information that describes a TPM CA certificate.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Health enumerated type is indicator for the consistency of the hosts status in the cluster.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Summary": { + "required": [ + "health", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA unique name for the TPM endorsement key.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey`." + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health indicator which indicates whether each host in the cluster has the same endorsement key.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Summary schema contains information that summarizes a TPM endorsement key.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Info": { + "required": [ + "details", + "health", + "public_key" + ], + "type": "object", + "properties": { + "public_key": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nTPM public endorsement key in PEM format.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health indicator which indicates whether each host in the cluster has the same endorsement key.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health. \n\n When the Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Health is not *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Health.OK* or *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Health.NONE*, this member will provide an actionable description of the issues present.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.Info schema contains information that describes a TPM endorsement key.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.CreateSpec": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA unique name for the TPM endorsement key. \n\n The unique name should be something that an administrator can use to easily identify the remote system. For example, the hostname, or hardware UUID.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.attestation.tpm2.EndorsementKey`." + }, + "public_key": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nTPM public endorsement key in PEM format.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.CreateSpec.certificate* must be set." + }, + "certificate": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nTPM endorsement key certificate in PEM format. \n\n When a endorsement key certificate is provided, it will be verified against the CA certificate list. Endorsement key certificates that are not signed by one of the CA certificates will be rejected. \n\n Using this format allows for failures to be caught during configuration rather than later during attestation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.CreateSpec.public_key* must be set." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.CreateSpec schema contains information that describes a TPM endorsement key. \n\n Only one of *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.CreateSpec.public_key* or *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.EndorsementKeys.CreateSpec.certificate* must be specified.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.Health enumerated type is indicator for the consistency of the hosts status in the cluster.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.Info": { + "required": [ + "details", + "health", + "require_certificate_validation", + "require_endorsement_keys" + ], + "type": "object", + "properties": { + "require_endorsement_keys": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRequire registered TPM endorsement keys. \n\n During attestation, the attested host will always send its endorsement key to the Attestation Service. With this option is set, the Attestation Service will only proceed with attestation if the endorsement key has been added to the list of configured trusted endorsement keys.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "require_certificate_validation": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRequire TPM endorsement key certificate validation. \n\n During attestation, the attested host will send its endorsement key certificate if one is available. With this option set, the Attestation Service will validate the endorsement key certificate against the list of configured trusted TPM CA certificates. Only endorsement key certificates that are signed by a trusted TPM CA certificate will be able to successfully attest.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health indicator which indicates whether each host in the cluster has the same attestation settings.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Each host in the cluster is in consistent state with the rest hosts in the cluster.\n - `WARNING`: Attestation is functioning, however there is an issue that requires attention.\n - `ERROR`: Not all hosts in the cluster are in consistent state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health. \n\n When the Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.Health is not *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.Health.OK* or *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.Health.NONE*, this member will provide an actionable description of the issues present.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.Info schema contains information that describes the TPM 2.0 protocol settings.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.UpdateSpec": { + "type": "object", + "properties": { + "require_endorsement_keys": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRequire registered TPM endorsement keys.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` the current state will remain unchanged." + }, + "require_certificate_validation": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nRequire TPM endorsement key certificate validation.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` the current state will remain unchanged." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Attestation.Tpm2.Settings.UpdateSpec schema contains information that describes changes to the TPM 2.0 protocol settings.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health enumerated type defines the possible health states.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Health is normal.\n - `WARNING`: Health is normal, however there is an issue that requires attention.\n - `ERROR`: Not healthy.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ServerInfo": { + "required": [ + "client_trust_server", + "details", + "health", + "name", + "server_trust_client" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe connection status health of the server.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Health is normal.\n - `WARNING`: Health is normal, however there is an issue that requires attention.\n - `ERROR`: Not healthy.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health of the server connection. \n\n When the service Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health is not *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health.OK*, this property will provide an actionable description of the issue.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "client_trust_server": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nWhether this client trusts the server.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "server_trust_client": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nWhether the server trusts this client.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nName of the server.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ServerInfo schema contains properties that describe the status of a key server.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Status": { + "required": [ + "details", + "health", + "servers" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe health of the provider.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Health is normal.\n - `WARNING`: Health is normal, however there is an issue that requires attention.\n - `ERROR`: Not healthy.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health of the provider. \n\n When the service Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health is not *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health.OK*, this property will provide an actionable description of the issue.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nHealth of the key servers.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ServerInfo" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Status schema contains properties that describe the status of the Key Provider.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Server": { + "required": [ + "address", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nName of the server. \n\n A unique string chosen by the client.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe server's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Server schema contains properties that describe a connection endpoint.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerCreateSpec": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nList of Key Management Interoperability Protocol (KMIP) compliant key servers. \n\n Key servers must be configured for active-active replication. If the server port is missing or `null`, a default value for KMIP's port will be used.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Server" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUsername for authentication.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, no username will be added." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerCreateSpec schema contains properties that describe Key Management Interoperability Protocol (KMIP) desired key server configuration.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerCreateSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nType of the key server.\n\nPossible values:\n - `KMIP`: Key Management Interoperability Protocol (KMIP) based key management server.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerCreateSpec.Type*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDescription of the key server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, description will not be added." + }, + "proxy_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nProxy server configuration.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the key server will not use a proxy server.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "connection_timeout": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nConnection timeout in seconds.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, connection timeout will not be set.", + "format": "int64" + }, + "kmip_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nConfiguration information for Key Management Interoperability Protocol (KMIP) based key server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerCreateSpec.Type.KMIP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerCreateSpec" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerCreateSpec schema contains properties that describe the desired configuration for the key server.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerCreateSpec.Type": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerCreateSpec.Type enumerated type lists the key server types.\n\nPossible values:\n - `KMIP`: Key Management Interoperability Protocol (KMIP) based key management server.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "KMIP" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CreateSpec": { + "required": [ + "key_server", + "master_key_id", + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nName of the provider. \n\n A unique string chosen by the client.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`." + }, + "master_key_id": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nMaster key ID created for the provider. \n\n A unique Key ID.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "key_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nKey server associated with this Provider.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerCreateSpec" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CreateSpec schema contains properties that describe the desired configuration for a new Key Provider.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerUpdateSpec": { + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nList of KMIP compliant key servers. \n\n Key servers must be configured for active-active replication. If the server port is missing or `null`, a default value for KMIP's port will be used. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, server configuration will remain unchanged.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Server" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUsername for authentication. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, username will remain unchanged." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerUpdateSpec schema contains properties that describe new configuration for KMIP based key server.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerUpdateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nType of the key server. \n\n\n\nPossible values:\n - `KMIP`: Key Management Interoperability Protocol (KMIP) based key management server.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerUpdateSpec.Type*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, key server type and configuration information will remain unchanged. In this case all key server configuration information fields (e.g KMIP) should be unset." + }, + "description": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDescription of the key server. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, description will remain unchanged." + }, + "proxy_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nProxy server configuration. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, proxy server configuration will remain unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "connection_timeout": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nConnection timeout in seconds. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, connection timeout will remain unchanged.", + "format": "int64" + }, + "kmip_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nConfiguration information for KMIP based key server. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, kmip server configuration will remain unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerUpdateSpec" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerUpdateSpec schema contains properties that describe new configuration for an existing key server.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerUpdateSpec.Type": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerUpdateSpec.Type enumerated type list the key server types.\n\nPossible values:\n - `KMIP`: Key Management Interoperability Protocol (KMIP) based key management server.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "KMIP" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.UpdateSpec": { + "type": "object", + "properties": { + "master_key_id": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nMaster key identifier created for the provider. \n\n A unique Key identifier. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, masterKeyId will remain unchanged." + }, + "key_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nKey server associated with this provider. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, key server configuration will remain unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerUpdateSpec" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.UpdateSpec schema contains properties that describe the new configuration for an existing provider.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Summary": { + "required": [ + "health", + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nName of the provider. \n\n A unique string chosen by the client.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.trust_authority_clusters.kms.Provider`." + }, + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nHealth of the provider in the cluster.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Health is normal.\n - `WARNING`: Health is normal, however there is an issue that requires attention.\n - `ERROR`: Not healthy.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Summary schema contains properties that summarize a provider.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerInfo": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nList of KMIP compliant key servers.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Server" + } + }, + "username": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nUsername for authentication. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, username will not be set." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerInfo schema contains properties that describe the current configuration of a KMIP based key server.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerInfo": { + "required": [ + "description", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nType of the key server.\n\nPossible values:\n - `KMIP`: Key Management Interoperability Protocol (KMIP) based key management server.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerInfo.Type*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "description": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDescription of the key server.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "proxy_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nProxy server configuration. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, proxy server configuration will not be set.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "connection_timeout": { + "type": "integer", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nConnection timeout in seconds. \n\n\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, connection timeout will be unset.", + "format": "int64" + }, + "kmip_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nConfiguration information for KMIP based key server.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerInfo.Type.KMIP*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KmipServerInfo" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerInfo schema contains properties that describe the current configuration of a key server.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerInfo.Type": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerInfo.Type enumerated type list the key server types.\n\nPossible values:\n - `KMIP`: Key Management Interoperability Protocol (KMIP) based key management server.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "KMIP" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Info": { + "required": [ + "key_server", + "master_key_id", + "status" + ], + "type": "object", + "properties": { + "master_key_id": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nMaster key identifier created for the provider. \n\n A unique Key identifier.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "key_server": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nKey server associated with this provider.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.KeyServerInfo" + } + ] + }, + "status": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nStatus of the provider in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Status" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.Info schema contains properties that describe the current configuration of a provider.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus.Health enumerated type defines the possible service health states.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Service is functioning normally.\n - `WARNING`: Service is functioning, however there is an issue that requires attention.\n - `ERROR`: Service is not functioning.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NONE", + "OK", + "WARNING", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus.Info": { + "required": [ + "details", + "health" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service health status.\n\nPossible values:\n - `NONE`: No status available.\n - `OK`: Service is functioning normally.\n - `WARNING`: Service is functioning, however there is an issue that requires attention.\n - `ERROR`: Service is not functioning.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus.Health*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health of the service. \n\n When the service Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus.Health is not *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus.Health.OK* or *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus.Health.NONE*, this member will provide an actionable description of the issues present.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.ServiceStatus.Info schema contains information that describes the status of the service.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Info": { + "required": [ + "certificate" + ], + "type": "object", + "properties": { + "certificate": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nPublic certificate\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Info schema contains the client certificate used by the hosts in a cluster for authenticating with the Provider.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.UpdateSpec": { + "required": [ + "certificate" + ], + "type": "object", + "properties": { + "certificate": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nPublic certificate used by every host in the cluster.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "private_key": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nPrivate part of the certificate.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the update request is for a public/private client certificate pair, not for a signed CSR.", + "format": "password" + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.UpdateSpec schema contains properties that describe the client certificate update for a Key Provider.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.Summary": { + "required": [ + "error_messages", + "server_name", + "trusted" + ], + "type": "object", + "properties": { + "server_name": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nName of the server.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "certificate": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nServer certificate.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the certificate cannot be retrieved from the remote system, and *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.Summary.trusted* is undefined. See *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.Summary.error_messages* for details." + }, + "error_messages": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nServer certificate retrieval errors. \n\n Specifies error details when retrieving the remote server certificate fails. This list will be empty when *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.Summary.certificate* is set.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "trusted": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nwhether server certificate is already trusted .\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.Summary schema contains a summary of the current key server certificates.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.FilterSpec": { + "type": "object", + "properties": { + "trusted": { + "type": "boolean", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nTrust status that server certificates must have to match the filter (see *Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.Summary.trusted*).\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, trusted and untrusted server certificates match the filter." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.CurrentPeerCertificates.FilterSpec schema contains properties used to filter the results when listing remote server certificates.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates.Info": { + "required": [ + "certificates" + ], + "type": "object", + "properties": { + "certificates": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nList of certificate strings, PEM format\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates.Info schema contains x509 certificate list.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates.UpdateSpec": { + "type": "object", + "properties": { + "certificates": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nPublic certificates of key server to trust.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the trusted server certificates will not be updated.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.TrustedPeerCertificates.UpdateSpec schema contains properties that describe the server certificate update for a Key Provider.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Csr.Info": { + "required": [ + "csr" + ], + "type": "object", + "properties": { + "csr": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nCertificate signing request.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityClusters.Kms.Providers.ClientCertificate.Csr.Info schema contains the certificate signing request.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe connection information could include the certificates or be a shorter summary.\n\nPossible values:\n - `FULL`: The full connection information, including certificates.\n - `NORMAL`: A summary containing only the hostname, port, and the group ID which determines the Attestation Services this Attestation Service can communicate with.\n - `BRIEF`: A brief summary, containing only the hostname for the Attestation Service.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "FULL", + "NORMAL", + "BRIEF" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.Summary": { + "required": [ + "summary_type" + ], + "type": "object", + "properties": { + "summary_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDefines the verbosity of the summary.\n\nPossible values:\n - `FULL`: The full connection information, including certificates.\n - `NORMAL`: A summary containing only the hostname, port, and the group ID which determines the Attestation Services this Attestation Service can communicate with.\n - `BRIEF`: A brief summary, containing only the hostname for the Attestation Service.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "host": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe trusted ESX on which the service runs.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is one of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.BRIEF*, *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.NORMAL*, or *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.FULL*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is one of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.BRIEF*, *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.NORMAL*, or *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.FULL*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group ID determines which Attestation Service instances this Attestation Service can communicate with.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is one of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.NORMAL* or *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.FULL*." + }, + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe opaque string identifier of the cluster in which the Attestation Service is part of.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is one of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.NORMAL* or *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.FULL*." + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.SummaryType.FULL*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.Summary schema contains all the stored information about a Attestation Service.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.Info": { + "required": [ + "address", + "cluster", + "group", + "host", + "trusted_ca" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe trusted ESX on which the service runs.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group ID determines which Attestation Service instances this Attestation Service can communicate with.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe opaque string identifier of the cluster in which the Attestation Service is part of.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.Info schema contains all the stored information about a Attestation Service.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.FilterSpec": { + "type": "object", + "properties": { + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of host IDs by which to filter the services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by the hosts on which they run.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of cluster IDs by which to filter the services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by the clusters on which they run.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "address": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by address.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + }, + "groups": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group IDs determines which Attestation Service instances this Attestation Service can communicate with.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by groupId.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Attestation.FilterSpec schema contains the data necessary for identifying a Attestation Service\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe connection information could include the certificates or be a shorter summary.\n\nPossible values:\n - `FULL`: The full connection information, including certificates.\n - `NORMAL`: A summary containing only the hostname, port, and the group which determines the Attestation Services this Key Provider Service can communicate with.\n - `BRIEF`: A brief summary, containing only the hostname for the Key Provider Service.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "FULL", + "NORMAL", + "BRIEF" + ] + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.Summary": { + "required": [ + "summary_type" + ], + "type": "object", + "properties": { + "summary_type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDefines the verbosity of the summary.\n\nPossible values:\n - `FULL`: The full connection information, including certificates.\n - `NORMAL`: A summary containing only the hostname, port, and the group which determines the Attestation Services this Key Provider Service can communicate with.\n - `BRIEF`: A brief summary, containing only the hostname for the Key Provider Service.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "host": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe trusted ESX on which the service runs.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is one of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.BRIEF*, *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.NORMAL*, or *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.FULL*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is one of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.BRIEF*, *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.NORMAL*, or *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.FULL*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group ID determines which Attestation Service instances this Key Provider Service can communicate with.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is one of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.NORMAL* or *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.FULL*." + }, + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe opaque string identifier of the cluster in which the Key Provider Service is part of.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is one of *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.NORMAL* or *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.FULL*." + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of summary_type is *Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.SummaryType.FULL*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.Summary schema contains all the stored information about a Key Provider Service.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.Info": { + "required": [ + "address", + "cluster", + "group", + "host", + "trusted_ca" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe trusted ESX on which the service runs.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group ID determines which Attestation Service instances this Key Provider Service can communicate with.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe opaque string identifier of the cluster in which the Key Provider Service is part of.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.Info schema contains all the stored information about a Key Provider Service.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.FilterSpec": { + "type": "object", + "properties": { + "hosts": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of host IDs by which to filter the services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by the hosts on which they run.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "items": { + "type": "string" + } + }, + "clusters": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of cluster IDs by which to filter the services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by the clusters on which they run.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "items": { + "type": "string" + } + }, + "address": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by address.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + }, + "groups": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines reports issued by which Attestation Service instances this Key Provider Service can accept.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by groupId.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustAuthorityHosts.Kms.FilterSpec schema contains the data necessary for identifying a Key Provider Service\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig.Health enumerated type is an indicator for the consistency of all applied Trust Authority Component configurations in a cluster with respect to the desired state.\n\nPossible values:\n - `NONE`: The consistency of some applied configurations is unknown.\n - `OK`: All the applied Trust Authority Component configurations are consistent with the desired state.\n - `ERROR`: Some applied Trust Authority Component configurations have diverged from the desired state.\n\n\nThis enumeration was added in __vSphere API 7.0.1.0__.", + "enum": [ + "NONE", + "OK", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig.Info": { + "required": [ + "details", + "health" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe health value which indicates whether the configuration applied to the cluster differs from the desired state.\n\nPossible values:\n - `NONE`: The consistency of some applied configurations is unknown.\n - `OK`: All the applied Trust Authority Component configurations are consistent with the desired state.\n - `ERROR`: Some applied Trust Authority Component configurations have diverged from the desired state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig.Health*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health. When the Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig.Health is not *Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig.Health.OK*, this member will provide a detailed description of the issues present.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.ServicesAppliedConfig.Info schema contains detailed information about the health of the applied Trust Authority Component configurations in a cluster.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.Summary": { + "required": [ + "address", + "group", + "service", + "trust_authority_cluster" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's unique identifier.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group specifies the Key Provider Service instances can accept reports issued by this Attestation Service instance.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Attestation Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.Summary schema contains basic information about a registered Attestation Service instance that is configured for a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.Info": { + "required": [ + "address", + "group", + "trust_authority_cluster", + "trusted_ca" + ], + "type": "object", + "properties": { + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines the Key Provider Service instances can accept reports issued by this Attestation Service instance.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Attestation Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.Info schema contains all the stored information about a registered Attestation Service instance that is configured for a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.CreateSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSource of truth for the configuration of the Attestation Service.\n\nPossible values:\n - `SERVICE`: The Attestation Service will be configured based on an ID of an specific Attestation Service.\n - `CLUSTER`: The Attestation Service will be configured based on an ID of a whole attestation cluster.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.CreateSpec.SourceType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's unique ID.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.CreateSpec.SourceType.SERVICE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe attestation cluster's unique ID.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.CreateSpec.SourceType.CLUSTER*." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.CreateSpec schema contains the data necessary for configuring a registered Attestation Service instance with a cluster in the environment.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.CreateSpec.SourceType": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.CreateSpec.SourceType enumerated type specifies the source of truth the Attestation Service will use for its configuration.\n\nPossible values:\n - `SERVICE`: The Attestation Service will be configured based on an ID of an specific Attestation Service.\n - `CLUSTER`: The Attestation Service will be configured based on an ID of a whole attestation cluster.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SERVICE", + "CLUSTER" + ] + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.FilterSpec": { + "type": "object", + "properties": { + "services": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of IDs by which to filter the services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by ID.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`.", + "items": { + "type": "string" + } + }, + "address": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by address.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + }, + "group": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group specifies the Key Provider Service instances can accept reports issued by this Attestation Service instance.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by group.", + "items": { + "type": "string" + } + }, + "trust_authority_cluster": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Attestation Service instance belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by trustAuthorityCluster.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.Services.FilterSpec schema contains the data necessary for identifying a Attestation service instance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Health enumerated type is an indicator for the consistency of the applied Attestation Service configuration in a cluster with respect to the desired state.\n\nPossible values:\n - `NONE`: The consistency of the applied configuration is unknown.\n - `OK`: The applied Attestation Service configuration is consistent with the desired state.\n - `ERROR`: The applied Attestation Service configuration has diverged from the desired state.\n\n\nThis enumeration was added in __vSphere API 7.0.1.0__.", + "enum": [ + "NONE", + "OK", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Summary": { + "required": [ + "address", + "health" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe health value indicates whether the configuration applied to the cluster differs from the desired state.\n\nPossible values:\n - `NONE`: The consistency of the applied configuration is unknown.\n - `OK`: The applied Attestation Service configuration is consistent with the desired state.\n - `ERROR`: The applied Attestation Service configuration has diverged from the desired state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Health*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe network address of the Attestation Service configured for use in the Trusted Cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe unique identifier of an Attestation Service configuration from the desired state.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, this Attestation Service is not registered within this vCenter and thus the applied configuration is not present in the desired state.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Summary schema contains basic information about the aggregated health status for a service.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.FilterSpec": { + "type": "object", + "properties": { + "health": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe health of the applied Attestation Service configuration.\n\nPossible values:\n - `NONE`: The consistency of the applied configuration is unknown.\n - `OK`: The applied Attestation Service configuration is consistent with the desired state.\n - `ERROR`: The applied Attestation Service configuration has diverged from the desired state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Health*.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, no filtration will be performed by health.", + "items": { + "type": "string" + } + }, + "address": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe network address of the Attestation Service configured for use in the Trusted Cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, no filtration will be performed by network address.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.FilterSpec schema specifies the matching criteria to be applied when filtering out Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Summary structures from the collection returned by the list method. Only Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Summary structures containing the values specified in this structure will be returned from the list method. If multiple members of the filter spec are set, all of them must match for a result to be filtered out and returned.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Info": { + "required": [ + "address", + "details", + "groups", + "health", + "trustedc_as" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health value which indicates whether the configuration applied to the cluster differs from the desired state.\n\nPossible values:\n - `NONE`: The consistency of the applied configuration is unknown.\n - `OK`: The applied Attestation Service configuration is consistent with the desired state.\n - `ERROR`: The applied Attestation Service configuration has diverged from the desired state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Health*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe network address of the Attestation Service configured for use in the Trusted Cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe unique identifier of an Attestation Service configuration from the desired state.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, this Attestation Service is not registered within this vCenter and thus the applied configuration is not present in the desired state.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.attestation.Service`." + }, + "groups": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe set of distinct groups found on the hosts in the cluster which differ from the desired state.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "type": "string" + } + }, + "trustedc_as": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA list of distinct trusted CA chains found on the hosts in the cluster which differ from the desired state.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health. When the Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Health is not *Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Health.OK*, this member will provide a detailed description of the issues present.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Attestation.ServicesAppliedConfig.Info schema contains detailed information about an applied Attestation Service configuration in a Trusted cluster.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.Summary": { + "required": [ + "address", + "group", + "service", + "trust_authority_cluster" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's unique identifier.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines the Attestation Service instances this Key Provider Service can accept reports from.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.Summary schema contains basic information about a registered Key Provider Service instance that is configured for a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.Info": { + "required": [ + "address", + "group", + "trust_authority_cluster", + "trusted_ca" + ], + "type": "object", + "properties": { + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "trusted_ca": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's TLS certificate chain.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + ] + }, + "group": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines the Attestation Service instances this Key Provider Service can accept reports from.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Key Provider Service belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.Info schema contains all the stored information about a registered Key Provider Service instance that is configured for a cluster.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.CreateSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nSource of truth for the configuration of the Key Provider Service.\n\nPossible values:\n - `SERVICE`: The Key Provider Service will be configured based on an ID of an specific Key Provider Service.\n - `CLUSTER`: The Key Provider Service will be configured based on an ID of a whole attestation cluster.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.CreateSpec.SourceType*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's unique ID.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.CreateSpec.SourceType.SERVICE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`." + }, + "trust_authority_cluster": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe attestation cluster's unique ID.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.CreateSpec.SourceType.CLUSTER*." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.CreateSpec schema contains the data necessary for configuring a registered Key Provider Service instance with a cluster in the environment.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.CreateSpec.SourceType": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.CreateSpec.SourceType enumerated type specifies source of truth the Key Provider Service will use for its configuration.\n\nPossible values:\n - `SERVICE`: The Key Provider Service will be configured based on an ID of an specific Key Provider Service.\n - `CLUSTER`: The Key Provider Service will be configured based on an ID of a whole attestation cluster.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "SERVICE", + "CLUSTER" + ] + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.FilterSpec": { + "type": "object", + "properties": { + "services": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA set of IDs by which to filter the services.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by ID.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`.", + "items": { + "type": "string" + } + }, + "address": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe service's address.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by address.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + }, + "group": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe group determines the Attestation Service instances this Key Provider Service can accept reports from.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by group.", + "items": { + "type": "string" + } + }, + "trust_authority_cluster": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe cluster specifies the Trust Authority Cluster this Key Provider Service instance belongs to.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null`, the services will not be filtered by trustAuthorityCluster.", + "items": { + "type": "string" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.Services.FilterSpec schema contains the data necessary for identifying a Key Provider service instance.\n\nThis schema was added in __vSphere API 7.0.0.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Health": { + "type": "string", + "description": "This enumeration is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Health enumerated type is an indicator for the consistency of the applied Key Provider Service configuration in a cluster with respect to the desired state.\n\nPossible values:\n - `NONE`: The consistency of the applied configuration is unknown.\n - `OK`: The applied Key Provider Service configuration is consistent with the desired state.\n - `ERROR`: The applied Key Provider Service configuration has diverged from the desired state.\n\n\nThis enumeration was added in __vSphere API 7.0.1.0__.", + "enum": [ + "NONE", + "OK", + "ERROR" + ] + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Summary": { + "required": [ + "address", + "health" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe health value indicates whether the configuration applied to the cluster differs from the desired state.\n\nPossible values:\n - `NONE`: The consistency of the applied configuration is unknown.\n - `OK`: The applied Key Provider Service configuration is consistent with the desired state.\n - `ERROR`: The applied Key Provider Service configuration has diverged from the desired state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Health*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe network address of the Key Provider Service configured for use in the Trusted Cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe unique identifier of a Key Provider Service configuration from the desired state.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, this Key Provider Service is not registered within this vCenter and thus the applied configuration is not present in the desired state.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`." + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Summary schema contains basic information about the aggregated health status for a service.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.FilterSpec": { + "type": "object", + "properties": { + "health": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe health of the applied Key Provider Service configuration.\n\nPossible values:\n - `NONE`: The consistency of the applied configuration is unknown.\n - `OK`: The applied Key Provider Service configuration is consistent with the desired state.\n - `ERROR`: The applied Key Provider Service configuration has diverged from the desired state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Health*.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, no filtration will be performed by health.", + "items": { + "type": "string" + } + }, + "address": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe network address of the Key Provider Service configured for use in the Trusted Cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, no filtration will be performed by network address.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.FilterSpec schema specifies the matching criteria to be applied when filtering out Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Summary structures from the collection returned by the list method. Only Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Summary structures containing the values specified in this structure will be returned from the list method. If multiple members of the filter spec are set, all of them must match for a result to be filtered out and returned.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Info": { + "required": [ + "address", + "details", + "groups", + "health", + "trustedc_as" + ], + "type": "object", + "properties": { + "health": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA health value which indicates whether the configuration applied to the cluster differs from the desired state.\n\nPossible values:\n - `NONE`: The consistency of the applied configuration is unknown.\n - `OK`: The applied Key Provider Service configuration is consistent with the desired state.\n - `ERROR`: The applied Key Provider Service configuration has diverged from the desired state.\n\n\nFor more information see: *Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Health*.\n\nThis property was added in __vSphere API 7.0.1.0__." + }, + "address": { + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe network address of the Key Provider Service configured for use in the Trusted Cluster.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.NetworkAddress" + } + ] + }, + "service": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe unique identifier of a Key Provider Service configuration from the desired state.\n\nThis property was added in __vSphere API 7.0.1.0__.\n\nIf missing or `null`, this Key Provider Service is not registered within this vCenter and thus the applied configuration is not present in the desired state.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.trusted_infrastructure.kms.Service`." + }, + "groups": { + "uniqueItems": true, + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe set of distinct groups found on the hosts in the cluster which differ from the desired state.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "type": "string" + } + }, + "trustedc_as": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nA list of distinct trusted CA chains found on the hosts in the cluster which differ from the desired state.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.TrustedInfrastructure.X509CertChain" + } + }, + "details": { + "type": "array", + "description": "This property is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nDetails regarding the health. When the Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Health is not *Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Health.OK*, this member will provide a detailed description of the issues present.\n\nThis property was added in __vSphere API 7.0.1.0__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "This schema is deprecated as of __vSphere API 8.0.3.0__ and removed in __vSphere API 9.0.0.0__.\n\nThe Vcenter.TrustedInfrastructure.TrustedClusters.Kms.ServicesAppliedConfig.Info schema contains detailed information about an applied Key Provider Service configuration in a Trusted cluster.\n\nThis schema was added in __vSphere API 7.0.1.0__.", + "deprecated": true + }, + "Vcenter.Utilization.Connections.TcpState": { + "type": "string", + "description": "The Vcenter.Utilization.Connections.TcpState enumerated type represents the possible states of a TCP connection as defined by Section 3.3.2 of Transmission Control Protocol [RFC 9293].\n\nPossible values:\n - `ESTABLISHED`: The connection is fully established and data can be exchanged.\n - `SYN_SENT`: The client sent a SYN packet to the server and is waiting for the SYN-ACK reply.\n - `SYN_RECV`: The server received the SYN packet from the client and sent a SYN-ACK packet back to the client.\n - `FIN_WAIT1`: One side of the connection sent a FIN packet to the other side to initiate the termination of the connection.\n - `FIN_WAIT2`: The side that sent the FIN packet received an ACK from the other side.\n - `TIME_WAIT`: One side waits for a period of time to ensure the other side has received the final ACK before transitioning to CLOSE.\n - `CLOSE`: The connection on this side is completely terminated, with no further data transfer possible, indicating that all cleanup has been completed.\n - `CLOSE_WAIT`: One side of the connection has received a FIN from its peer and is waiting for the local application to close the connection by sending its own FIN.\n - `LAST_ACK`: The side of the connection that sent the final FIN packet waits for the final ACK.\n - `LISTEN`: The server socket is passively waiting for incoming connection requests from clients.\n - `CLOSING`: Both endpoints have simultaneously sent FIN packets and each is waiting for the final ACK from the other to confirm complete connection termination.\n\n\nThis enumeration was added in __vSphere API 9.1.0.0__.", + "enum": [ + "ESTABLISHED", + "SYN_SENT", + "SYN_RECV", + "FIN_WAIT1", + "FIN_WAIT2", + "TIME_WAIT", + "CLOSE", + "CLOSE_WAIT", + "LAST_ACK", + "LISTEN", + "CLOSING" + ] + }, + "Vcenter.Utilization.Connections.PeerInfo": { + "required": [ + "address", + "port", + "tcp_state" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IP address of the remote client of the server.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "port": { + "type": "integer", + "description": "The port of the remote client of the server.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "tcp_state": { + "type": "string", + "description": "The TCP state of the connection.\n\nPossible values:\n - `ESTABLISHED`: The connection is fully established and data can be exchanged.\n - `SYN_SENT`: The client sent a SYN packet to the server and is waiting for the SYN-ACK reply.\n - `SYN_RECV`: The server received the SYN packet from the client and sent a SYN-ACK packet back to the client.\n - `FIN_WAIT1`: One side of the connection sent a FIN packet to the other side to initiate the termination of the connection.\n - `FIN_WAIT2`: The side that sent the FIN packet received an ACK from the other side.\n - `TIME_WAIT`: One side waits for a period of time to ensure the other side has received the final ACK before transitioning to CLOSE.\n - `CLOSE`: The connection on this side is completely terminated, with no further data transfer possible, indicating that all cleanup has been completed.\n - `CLOSE_WAIT`: One side of the connection has received a FIN from its peer and is waiting for the local application to close the connection by sending its own FIN.\n - `LAST_ACK`: The side of the connection that sent the final FIN packet waits for the final ACK.\n - `LISTEN`: The server socket is passively waiting for incoming connection requests from clients.\n - `CLOSING`: Both endpoints have simultaneously sent FIN packets and each is waiting for the final ACK from the other to confirm complete connection termination.\n\n\nFor more information see: *Vcenter.Utilization.Connections.TcpState*.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "The Vcenter.Utilization.Connections.PeerInfo schema defines information about a remote client that is connected to a server.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Connections.PortInfo": { + "required": [ + "open_connections", + "peers", + "port" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the server port, for example \"http\".\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIt is missing or `null` if the port has no standard name." + }, + "description": { + "type": "string", + "description": "Description of the server port.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIt is missing or `null` if the port has no description." + }, + "port": { + "type": "integer", + "description": "The server port number.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "open_connections": { + "type": "integer", + "description": "The count of open TCP connections to this server.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "peers": { + "type": "array", + "description": "The list of peers connected to this server port.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Utilization.Connections.PeerInfo" + } + } + }, + "description": "The Vcenter.Utilization.Connections.PortInfo schema defines the utilization of a vCenter TCP server port.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Connections.ServerInfo": { + "required": [ + "ports", + "service", + "total_connections" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "The name of the service which hosts the server.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.services.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.services.Service`." + }, + "ports": { + "type": "array", + "description": "List of listening ports of this server and their open TCP connections.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Utilization.Connections.PortInfo" + } + }, + "total_connections": { + "type": "integer", + "description": "The total amount of connections to the ports listed in *Vcenter.Utilization.Connections.ServerInfo.ports*.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "connection_limit": { + "type": "integer", + "description": "The limit for the connections this server is allowed to accept before it starts denying connection attempts. This limit is shared between all *Vcenter.Utilization.Connections.ServerInfo.ports*. This is the maximum value of *Vcenter.Utilization.Connections.ServerInfo.total_connections*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nOnly set if the server has a connection limit.", + "format": "int64" + } + }, + "description": "The Vcenter.Utilization.Connections.ServerInfo schema defines the utilization of listening ports for a server process.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Connections.FilterSpec": { + "type": "object", + "properties": { + "services": { + "uniqueItems": true, + "type": "array", + "description": "List of services to be included in the result.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null` or empty, the result will not be filtered by service.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.services.Service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.services.Service`.", + "items": { + "type": "string" + } + }, + "ports": { + "uniqueItems": true, + "type": "array", + "description": "List of port numbers to be included in the result.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null` or empty, the result will not be filtered by port.", + "items": { + "type": "integer", + "format": "int64" + } + } + }, + "description": "The Vcenter.Utilization.Connections.FilterSpec schema defines a filter for listing server connections information. The result will contain elements which meet all criteria at the same time.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Connections.ListResult": { + "required": [ + "servers" + ], + "type": "object", + "properties": { + "servers": { + "type": "array", + "description": "Utilization of listening ports for vCenter server processes.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Utilization.Connections.ServerInfo" + } + }, + "unknown_criteria": { + "description": "Filtering criteria that could not match any known properties.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif set, the filtering criteria which are unknown are returned.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Utilization.Connections.FilterSpec" + } + ] + } + }, + "description": "The Vcenter.Utilization.Connections.ListResult schema defines networking information about servers in the vCenter. This contains a list of connections made to each of the server's ports as well as connection limits.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Proxies.BackpressureInfo": { + "required": [ + "active_requests", + "max_outstanding_requests" + ], + "type": "object", + "properties": { + "active_requests": { + "type": "integer", + "description": "The count of active requests that the proxy is handling and are not backpressured.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + }, + "max_outstanding_requests": { + "type": "integer", + "description": "The count of active requests that the proxy allows before it starts rejecting requests.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Utilization.Proxies.BackpressureInfo schema defines the backpressure status of a proxy upstream.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Proxies.PeerInfo": { + "required": [ + "active_requests", + "address" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The IP address of the remote client of the server.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "active_requests": { + "type": "integer", + "description": "The count of active requests that this peer has issued.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Utilization.Proxies.PeerInfo schema defines information about a remote client that is connected to a server.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Proxies.RouteInfo": { + "required": [ + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The URI prefix for which this proxy route is responsible.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "peers": { + "type": "array", + "description": "The list of peers who are issuing requests to this route and the count of requests they have active.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null`, the peers issuing requests to this route could not be determined.", + "items": { + "$ref": "#/components/schemas/Vcenter.Utilization.Proxies.PeerInfo" + } + } + }, + "description": "The Vcenter.Utilization.Proxies.RouteInfo schema defines a route in an HTTP proxy server.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Proxies.UpstreamInfo": { + "required": [ + "name", + "requests_back_pressure", + "routes" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the upstream. This name should be treated as an opaque value. It allows observing the usage of this upstream across different proxies.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "routes": { + "type": "array", + "description": "The list of HTTP routes that are subject to backpressure restrictions.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Utilization.Proxies.RouteInfo" + } + }, + "requests_back_pressure": { + "description": "The backpressure status of the requests aimed towards those *Vcenter.Utilization.Proxies.UpstreamInfo.routes*. This tells whether the list of *Vcenter.Utilization.Proxies.UpstreamInfo.routes* can handle more HTTP requests or they are being backpressured.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Utilization.Proxies.BackpressureInfo" + } + ] + } + }, + "description": "The Vcenter.Utilization.Proxies.UpstreamInfo schema defines the backpressure status of a set of HTTP routes which share backpressure restrictions.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Proxies.ProxyInfo": { + "required": [ + "service", + "upstreams" + ], + "type": "object", + "properties": { + "service": { + "type": "string", + "description": "The vCenter service which proxies HTTP requests.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.services.Service`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.services.Service`." + }, + "upstreams": { + "type": "array", + "description": "The list of upstreams that are handled by this proxy.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Utilization.Proxies.UpstreamInfo" + } + } + }, + "description": "The Vcenter.Utilization.Proxies.ProxyInfo schema describes an HTTP proxy which handles traffic in vCenter.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Proxies.FilterSpec": { + "type": "object", + "properties": { + "services": { + "uniqueItems": true, + "type": "array", + "description": "List of services to be included in the final result.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif missing or `null` or empty, the result will not be filtered by service.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.services.Service`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.services.Service`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Utilization.Proxies.FilterSpec schema defines a filter for listing proxy information. The result will contain elements which meet all criteria at the same time.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Utilization.Proxies.ListResult": { + "required": [ + "proxies" + ], + "type": "object", + "properties": { + "proxies": { + "type": "array", + "description": "Utilization of vCenter proxies.\n\nThis property was added in __vSphere API 9.1.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Utilization.Proxies.ProxyInfo" + } + }, + "unknown_criteria": { + "description": "Filtering criteria that could not match any known properties.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nif set, the filtering criteria which are unknown are returned.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Utilization.Proxies.FilterSpec" + } + ] + } + }, + "description": "The Vcenter.Utilization.Proxies.ListResult schema defines usage statistics for routes served by vCenter proxies. This includes backpressure status to determine the load for each upstream and usage breakdown by remote peer.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Vcha.IpFamily": { + "type": "string", + "description": "The Vcenter.Vcha.IpFamily enumerated type defines the Ip address family.\n\nPossible values:\n - `IPV4`: IPV4 address family\n - `IPV6`: IPv6 address family\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "Vcenter.Vcha.NetworkType": { + "type": "string", + "description": "The Vcenter.Vcha.NetworkType enumerated type defines the type of a vCenter Server network.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "STANDARD_PORTGROUP", + "DISTRIBUTED_PORTGROUP" + ] + }, + "Vcenter.Vcha.CertificateInfo": { + "required": [ + "ssl_thumbprint" + ], + "type": "object", + "properties": { + "ssl_thumbprint": { + "type": "string", + "description": "The SHA-256 thumbprint of the SSL certificate for a management vCenter server.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "ssl_certificate": { + "type": "string", + "description": "PEM-encoded SSL certificate of the management vCenter server.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, empty ssl certificate is assumed." + } + }, + "description": "The Vcenter.Vcha.CertificateInfo Schema contains information about the SSL certificate for a management vCenter server.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.ConnectionSpec": { + "required": [ + "hostname" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "IP Address or DNS of the vCenter.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "port": { + "type": "integer", + "description": "Port number.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "ssl_thumbprint": { + "type": "string", + "description": "This property is deprecated as of __vSphere API 9.0.0.0__. this property is deprecated please use sslCertificate instead.\n\nSHA1 hash of the server SSL certificate.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, empty ssl thumbprint is assumed.", + "deprecated": true + }, + "ssl_certificate": { + "type": "string", + "description": "PEM-encoded server SSL certificate of vCenter. Note: `sslThumbprint` and `sslCertificate` parameters are mutually exclusive, and should never be used simultaneously.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null`, empty ssl certificate is assumed." + }, + "username": { + "type": "string", + "description": "Username to access the server.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is currently required. If missing or `null`, an error is returned. In the future, if this property is missing or `null`, the system will attempt to identify the user. If a user cannot be identified, then the requested operation will fail." + }, + "password": { + "type": "string", + "description": "Password for the specified user.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is currently required. If missing or `null`, an empty password is assumed. In the future, if this property is missing or `null`, the system will attempt to authenticate the user. If a user cannot be identified, then the requested operation will fail.", + "format": "password" + } + }, + "description": "The Vcenter.Vcha.ConnectionSpec schema contains information required to connect to a vCenter server. The connection to the vCenter server always uses the HTTPS protocol.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.CredentialsSpec": { + "required": [ + "active_location" + ], + "type": "object", + "properties": { + "active_location": { + "description": "Connection information for the management vCenter Server of the Active Node in a VCHA Cluster.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.ConnectionSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.CredentialsSpec schema contains information to connect to the vCenter server managing the VCHA nodes.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.DiskInfo": { + "required": [ + "datastore", + "datastore_name" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "The identifier of the datastore to put all the virtual disks on.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore:VCenter`." + }, + "datastore_name": { + "type": "string", + "description": "The name of the datastore.\n\nThis property was added in __vSphere API 6.7.1__." + } + }, + "description": "The Vcenter.Vcha.DiskInfo schema contains information to describe the storage configuration of a vCenter virtual machine.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.DiskSpec": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "The identifier of the datastore to put all the virtual disks on.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis field needs to be set. If missing or `null`, then see vim.vm.RelocateSpec.datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore:VCenter`." + } + }, + "description": "The Vcenter.Vcha.DiskSpec schema contains information to describe the storage configuration of a vCenter virtual machine.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.IpSpec": { + "required": [ + "ip_family" + ], + "type": "object", + "properties": { + "ip_family": { + "type": "string", + "description": "Family of the IP address to configure the interface.\n\nPossible values:\n - `IPV4`: IPV4 address family\n - `IPV6`: IPv6 address family\n\n\nFor more information see: *Vcenter.Vcha.IpFamily*.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "ipv4": { + "description": "If the family of the ip is IPV4, then this will point to IPv4 address specification.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional and it is only relevant when the value of ip_family is *Vcenter.Vcha.IpFamily.IP_v4*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Ipv4Spec" + } + ] + }, + "ipv6": { + "description": "If the family of the ip is IPV6, then this will point to IPv6 address specification.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional and it is only relevant when the value of ip_family is *Vcenter.Vcha.IpFamily.IP_v6*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Ipv6Spec" + } + ] + }, + "default_gateway": { + "type": "string", + "description": "The IP address of the Gateway for this interface.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, gateway will not be used for the network interface." + }, + "dns_servers": { + "type": "array", + "description": "The list of IP addresses of the DNS servers for this interface. This list is a comma separated list.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, DNS servers will not be used for the network interface.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Vcha.IpSpec schema contains IP information used to configure a network interface.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Ipv4Spec": { + "required": [ + "address" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "IPV4 address to be used to configure the interface.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "subnet_mask": { + "type": "string", + "description": "The subnet mask for the interface.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` and the prefix property is missing or `null`, then an error will be reported. \n If missing or `null` and the prefix property is set, then the prefix property will be used to create a subnet mask whose first prefix bits are 1 and the remaining bits 0. \n If both the subnet_mask property and the prefix property are set and they do not represent the same value, then an error will be reported." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix for the interface.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` and the subnet_mask property is missing or `null`, this an error will be reported. \n If missing or `null` and the subnet_mask property is set, then the subnet_mask property will be used. \n If both the subnet_mask property and the prefix property are set and they do not represent the same value, then an error will be reported.", + "format": "int64" + } + }, + "description": "The Vcenter.Vcha.Ipv4Spec schema contains IPV4 information used to configure a network interface.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Ipv6Spec": { + "required": [ + "address", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "IPv6 address to be used to configure the interface.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix for the interface.\n\nThis property was added in __vSphere API 6.7.1__.", + "format": "int64" + } + }, + "description": "The Vcenter.Vcha.Ipv6Spec schema contains IPV6 information used to configure a network interface.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.PlacementInfo": { + "required": [ + "datacenter", + "datacenter_name", + "host", + "host_name", + "management_network", + "management_network_name", + "management_network_type", + "management_vcenter_name", + "storage", + "vm_name" + ], + "type": "object", + "properties": { + "management_vcenter_name": { + "type": "string", + "description": "The hostname of the vCenter server that is managing the VCHA node.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "management_vcenter_server_guid": { + "type": "string", + "description": "The unique identifier of the vCenter server that is managing the VCHA node.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "vm_name": { + "type": "string", + "description": "The virtual machine name of the VCHA node.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "datacenter": { + "type": "string", + "description": "The identifier of the datacenter of the VCHA node.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datacenter:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datacenter:VCenter`." + }, + "datacenter_name": { + "type": "string", + "description": "The name of the datacenter of the VCHA node.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "host": { + "type": "string", + "description": "The identifier of the host of the VCHA node.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem:VCenter`." + }, + "host_name": { + "type": "string", + "description": "The name of the host of the VCHA node.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "cluster": { + "type": "string", + "description": "The identifier of the cluster of which host is member.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, host is a standalone host.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource:VCenter`." + }, + "cluster_name": { + "type": "string", + "description": "The name of the cluster of which host is member.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, host is a standalone host." + }, + "ha_network": { + "type": "string", + "description": "The identifier of the Network object used for the HA network.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, the information is currently unavailable or the haNetwork is not configured.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network:VCenter`." + }, + "ha_network_name": { + "type": "string", + "description": "The name of the Network object used for the HA network.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, the information is currently unavailable or the haNetwork is not configured." + }, + "ha_network_type": { + "type": "string", + "description": "The type of the Network object used for the HA network.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch.\n\n\nFor more information see: *Vcenter.Vcha.NetworkType*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, the information is currently unavailable or the haNetwork is not configured." + }, + "management_network": { + "type": "string", + "description": "The identifier of the Network object used for the Management network.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network:VCenter`." + }, + "management_network_name": { + "type": "string", + "description": "The name of the Network object used for the Management network.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "management_network_type": { + "type": "string", + "description": "The type of the Network object used for the Management network.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch.\n\n\nFor more information see: *Vcenter.Vcha.NetworkType*.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "storage": { + "description": "The storage information of the VCHA node.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.DiskInfo" + } + ] + }, + "bios_uuid": { + "type": "string", + "description": "BIOS UUID for the node.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, the information is currently unavailable." + } + }, + "description": "The Vcenter.Vcha.PlacementInfo schema contains information to describe the inventory placement of a single node of a VCHA cluster. \n The active node's management vCenter server credentials are required to populate all properties except biosUuid.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.PlacementSpec": { + "required": [ + "folder", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the VCHA node to be used for the virtual machine name.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "folder": { + "type": "string", + "description": "The identifier of the folder to deploy the VCHA node to.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder:VCenter`." + }, + "host": { + "type": "string", + "description": "The identifier of the host to deploy the VCHA node to.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, see vim.vm.RelocateSpec.host.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem:VCenter`." + }, + "resource_pool": { + "type": "string", + "description": "The identifier of the resource pool to deploy the VCHA node to.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the active node's resource pool will be used.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool:VCenter`." + }, + "ha_network_type": { + "type": "string", + "description": "The type of the Network object used by the HA network. \n If the *Vcenter.Vcha.PlacementSpec.ha_network* property is set, then the *Vcenter.Vcha.PlacementSpec.ha_network_type* field must be set. \n If the *Vcenter.Vcha.PlacementSpec.ha_network* property is missing or `null`, then the *Vcenter.Vcha.PlacementSpec.ha_network_type* property is ignored.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch.\n\n\nFor more information see: *Vcenter.Vcha.NetworkType*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` and the *Vcenter.Vcha.PlacementSpec.ha_network* property is unset, then the same network present on the Active node virtual machine is used to deploy the virtual machine with an assumption that the network is present on the destination. \n If missing or `null` and the *Vcenter.Vcha.PlacementSpec.ha_network* property is set, then an error is reported." + }, + "ha_network": { + "type": "string", + "description": "The identifier of the Network object used for the HA network. \n If the *Vcenter.Vcha.PlacementSpec.ha_network* property is set, then the {#link #haNetworkType} property must be set. \n If the *Vcenter.Vcha.PlacementSpec.ha_network* property is missing or `null`, then the *Vcenter.Vcha.PlacementSpec.ha_network_type* property is ignored.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` and the *Vcenter.Vcha.PlacementSpec.ha_network_type* property is unset, then the same network present on the Active node virtual machine is used to deploy the virtual machine with an assumption that the network is present on the destination. \n\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network:VCenter`." + }, + "management_network_type": { + "type": "string", + "description": "The type of the Network object used by the Management network. \n If the *Vcenter.Vcha.PlacementSpec.management_network* property is set, then the {#link #managementNetworkType} field must be set. \n If the *Vcenter.Vcha.PlacementSpec.management_network* property is missing or `null`, then the *Vcenter.Vcha.PlacementSpec.management_network_type* property is ignored.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch.\n\n\nFor more information see: *Vcenter.Vcha.NetworkType*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` and the *Vcenter.Vcha.PlacementSpec.management_network* property is unset, then the same network present on the Active node virtual machine is used to deploy the virtual machine with an assumption that the network is present on the destination. \n If missing or `null` and the *Vcenter.Vcha.PlacementSpec.management_network* property is set, then an error is reported." + }, + "management_network": { + "type": "string", + "description": "The identifier of the Network object used for the Management network. If the *Vcenter.Vcha.PlacementSpec.management_network* property is set, then the *Vcenter.Vcha.PlacementSpec.management_network_type* property must be set. \n If the *Vcenter.Vcha.PlacementSpec.management_network* property is missing or `null`, then the *Vcenter.Vcha.PlacementSpec.management_network_type* property is ignored.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` and the *Vcenter.Vcha.PlacementSpec.management_network_type* property is unset, then the same network present on the Active node virtual machine is used to deploy the virtual machine with an assumption that the network is present on the destination. \n\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network:VCenter`." + }, + "storage": { + "description": "The storage specification to deploy the VCHA node to.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, see vim.vm.RelocateSpec.datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.DiskSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.PlacementSpec schema contains information to describe the inventory placement of a single node of a VCHA cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Type": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.Type enumerated type defines the possible deployment types for a VCHA Cluster.\n\nPossible values:\n - `AUTO`: Passive and witness nodes are cloned automatically.\n - `MANUAL`: Passive and witness nodes are not cloned automatically. After deployment, the customer should clone the passive and witness virtual machines.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "AUTO", + "MANUAL" + ] + }, + "Vcenter.Vcha.Cluster.ClusterMode": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.ClusterMode enumerated type defines the possible modes for a VCHA Cluster.\n\nPossible values:\n - `ENABLED`: VCHA Cluster is enabled. State replication between the Active and Passive node is enabled and automatic failover is allowed.\n - `DISABLED`: VCHA Cluster is disabled. State replication between the Active and Passive node is disabled and automatic failover is not allowed.\n - `MAINTENANCE`: VCHA Cluster is in maintenance mode. State replication between the Active and Passive node is enabled but automatic failover is not allowed.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "ENABLED", + "DISABLED", + "MAINTENANCE" + ] + }, + "Vcenter.Vcha.Cluster.ClusterState": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.ClusterState enumerated type defines the possible for a VCHA Cluster.\n\nPossible values:\n - `HEALTHY`: All three nodes in a VCHA Cluster are healthy and connected. State replication between Active and Passive node is working and both nodes are in sync.\n - `DEGRADED`: A VCHA Cluster is said to be in a degraded state for either or all of the following reasons: \n - There is a node loss. \n - State replication between the Active and Passive node fails.\n \n - `ISOLATED`: All three nodes are isolated from each other.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "HEALTHY", + "DEGRADED", + "ISOLATED" + ] + }, + "Vcenter.Vcha.Cluster.NodeState": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.NodeState enumerated type defines possible state a node can be in a VCHA Cluster.\n\nPossible values:\n - `UP`: Node is up and has joined the VCHA Cluster.\n - `DOWN`: Node is down and has left the VCHA Cluster.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "UP", + "DOWN" + ] + }, + "Vcenter.Vcha.Cluster.NodeRole": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.NodeRole enumerated type defines the role node can be in a VCHA Cluster.\n\nPossible values:\n - `ACTIVE`: Node is having a role of Active. In this role, node runs a vCenter Server that serves client requests.\n - `PASSIVE`: Node is having a role of Passive. In this role node, runs as a standby for the Active vCenter Server and receives state updates. This node takes over the role of Active vCenter Server upon failover.\n - `WITNESS`: Node is having a role of Witness. In this role, node acts as a quorum node for avoiding the classic split-brain problem.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "ACTIVE", + "PASSIVE", + "WITNESS" + ] + }, + "Vcenter.Vcha.Cluster.ConfigState": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.ConfigState enumerated type defines the VCHA configuration state.\n\nPossible values:\n - `CONFIGURED`: VCHA cluster is configured.\n - `NOTCONFIGURED`: VCHA cluster is not configured.\n - `INVALID`: VCHA cluster is in an invalid/dirty state.\n - `PREPARED`: vCenter server appliance has been prepared for VCHA cluster configuration.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "CONFIGURED", + "NOTCONFIGURED", + "INVALID", + "PREPARED" + ] + }, + "Vcenter.Vcha.Cluster.IpFamily": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.IpFamily enumerated type defines the IP address family.\n\nPossible values:\n - `IPV4`: IPV4 address family.\n - `IPV6`: IPV6 address family.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "Vcenter.Vcha.Cluster.ActiveSpec": { + "required": [ + "ha_ip" + ], + "type": "object", + "properties": { + "ha_network_type": { + "type": "string", + "description": "The type of the Network object used by the HA network. \n If the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network* property is set, then the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network_type* field must be set. \n If the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network* property is missing or `null`, then the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network_type* property is ignored.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch.\n\n\nFor more information see: *Vcenter.Vcha.NetworkType*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` and the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network* property is unset, then the second NIC is assumed to be already configured. \n If missing or `null` and the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network* property is set, then an error is reported." + }, + "ha_network": { + "type": "string", + "description": "The identifier of the Network object used for the HA network. \n If the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network* property is set, then the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network_type* property must be set. \n If the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network* property is missing or `null`, then the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network_type* property is ignored.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` and the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network_type* property is unset, then the second NIC is assumed to be already configured. \n If missing or `null` and the *Vcenter.Vcha.Cluster.ActiveSpec.ha_network* property is set, then an error is reported.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network:VCenter`." + }, + "ha_ip": { + "description": "IP specification for the HA network.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.ActiveSpec schema contains the deploy specification for the Active Node of the VCHA cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.PassiveSpec": { + "required": [ + "ha_ip" + ], + "type": "object", + "properties": { + "placement": { + "description": "Contains the placement configuration of the node.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the it is assumed that the clone will be done manually by the customer. In this case, the placement configuration for the witness node should also be omitted. Only the network configuration will be setup. Once the passive and witness nodes are cloned from the active node, the VCHA high availability is turned on.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.PlacementSpec" + } + ] + }, + "ha_ip": { + "description": "IP specification for the HA network.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + }, + "failover_ip": { + "description": "IP specification for the management network.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then it will assume the public IP address of the Active vCenter Server.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.PassiveSpec schema contains the deploy specification for the Passive Node of the VCHA cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.WitnessSpec": { + "required": [ + "ha_ip" + ], + "type": "object", + "properties": { + "placement": { + "description": "Contains the placement configuration of the node.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then it is assumed that the clone will be done manually by the customer. In this case, the placement configuration for the witness node should also be omitted. Only the network configuration will be setup. Once the passive and witness nodes are cloned from the active node, the VCHA high availability is turned on.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.PlacementSpec" + } + ] + }, + "ha_ip": { + "description": "IP specification for the HA network.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.WitnessSpec schema contains the deploy specification for the Witness Node of the VCHA cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.DeploySpec": { + "required": [ + "active", + "deployment", + "passive", + "witness" + ], + "type": "object", + "properties": { + "vc_spec": { + "description": "Contains the active node's management vCenter server credentials.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.CredentialsSpec" + } + ] + }, + "deployment": { + "type": "string", + "description": "Contains the deployment type.\n\nPossible values:\n - `AUTO`: Passive and witness nodes are cloned automatically.\n - `MANUAL`: Passive and witness nodes are not cloned automatically. After deployment, the customer should clone the passive and witness virtual machines.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.Type*.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "active": { + "description": "Contains the active node's network configuration.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.ActiveSpec" + } + ] + }, + "passive": { + "description": "Contains the passive node's placement configuration.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.PassiveSpec" + } + ] + }, + "witness": { + "description": "Contains the witness node's placement configuration.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.WitnessSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.DeploySpec schema contains the deploy specification for the three nodes of a VCHA cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.NodeRuntimeInfo": { + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "Last known state of the node. \n The active node's management vCenter server credentials are not required to populate *Vcenter.Vcha.Cluster.NodeRuntimeInfo.state*.\n\nPossible values:\n - `UP`: Node is up and has joined the VCHA Cluster.\n - `DOWN`: Node is down and has left the VCHA Cluster.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.NodeState*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then information is unavailable or the passive and witness nodes are not cloned yet." + }, + "role": { + "type": "string", + "description": "Last known role of the node. \n The active node's management vCenter server credentials are not required to populate *Vcenter.Vcha.Cluster.NodeRuntimeInfo.role*.\n\nPossible values:\n - `ACTIVE`: Node is having a role of Active. In this role, node runs a vCenter Server that serves client requests.\n - `PASSIVE`: Node is having a role of Passive. In this role node, runs as a standby for the Active vCenter Server and receives state updates. This node takes over the role of Active vCenter Server upon failover.\n - `WITNESS`: Node is having a role of Witness. In this role, node acts as a quorum node for avoiding the classic split-brain problem.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.NodeRole*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then information is unavailable or the passive and witness nodes are not cloned yet." + }, + "placement": { + "description": "Placement information of the node. \n The active node's management vCenter server credentials are required to populate most properties of *Vcenter.Vcha.Cluster.NodeRuntimeInfo.placement*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable or the specified Active vCenter server management credentials are invalid or the node is not cloned yet or the VCHA cluster was deployed in a manual fashion.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.PlacementInfo" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.NodeRuntimeInfo schema describes a node's runtime information in a VCHA Cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Ipv4Info": { + "required": [ + "address", + "subnet_mask" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "IP address of the configured network interface.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "subnet_mask": { + "type": "string", + "description": "The subnet mask of the interface.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix of the interface.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` , then the subnet mask is invalid.", + "format": "int64" + } + }, + "description": "The Vcenter.Vcha.Cluster.Ipv4Info schema contains properties to describe IPV4 information of the configured network interface.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Ipv6Info": { + "required": [ + "address", + "prefix" + ], + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "IP address of the configured network interface.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "prefix": { + "type": "integer", + "description": "The CIDR prefix of the interface.\n\nThis property was added in __vSphere API 6.7.1__.", + "format": "int64" + } + }, + "description": "The Vcenter.Vcha.Cluster.Ipv6Info schema contains properties to describe IPV6 information of the configured network interface.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.IpInfo": { + "required": [ + "ip_family" + ], + "type": "object", + "properties": { + "ip_family": { + "type": "string", + "description": "Family of the ip.\n\nPossible values:\n - `IPV4`: IPV4 address family.\n - `IPV6`: IPV6 address family.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.IpFamily*.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "ipv4": { + "description": "If the type of the ip family is IPV4, then this will point to IPv4 address specification.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional and it is only relevant when the value of ip_family is *Vcenter.Vcha.Cluster.IpFamily.IP_v4*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Ipv4Info" + } + ] + }, + "ipv6": { + "description": "If the type of the ip family is IPV6, then this will point to IPv6 address specification.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional and it is only relevant when the value of ip_family is *Vcenter.Vcha.Cluster.IpFamily.IP_v6*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.Ipv6Info" + } + ] + }, + "gateway_ip": { + "type": "string", + "description": "Gateway IP address.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, no gateway is specified." + } + }, + "description": "The Vcenter.Vcha.Cluster.IpInfo schema contains properties related to an ip.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.NodeInfo": { + "required": [ + "ha_ip" + ], + "type": "object", + "properties": { + "failover_ip": { + "description": "Failover IP address that this node will assume after the failover to serve client requests. Each failover node can have a different failover IP address. \n The active node's management vCenter server credentials are not required to populate *Vcenter.Vcha.Cluster.NodeInfo.failover_ip*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then it will assume the public IP address of the Active vCenter Server.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.IpInfo" + } + ] + }, + "ha_ip": { + "description": "VCHA Cluster network configuration of the node. All cluster communication (state replication, heartbeat, cluster messages) happens over this network. \n The active node's management vCenter server credentials are not required to populate this *Vcenter.Vcha.Cluster.NodeInfo.ha_ip*.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.IpInfo" + } + ] + }, + "runtime": { + "description": "Runtime information for the node in the VCHA Cluster. \n The active node's management vCenter server credentials are required to populate some properties of *Vcenter.Vcha.Cluster.NodeInfo.runtime*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable or the specified Active vCenter server management credentials are invalid or the node is not cloned yet.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.NodeRuntimeInfo" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.NodeInfo schema defines the configuration information for the active and passive nodes in the cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.WitnessInfo": { + "required": [ + "ha_ip" + ], + "type": "object", + "properties": { + "ha_ip": { + "description": "VCHA Cluster network configuration of the node. All cluster communication (state replication, heartbeat, cluster messages) happens over this network. \n The active node's management vCenter server credentials are not required to populate *Vcenter.Vcha.Cluster.WitnessInfo.ha_ip*.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.IpInfo" + } + ] + }, + "runtime": { + "description": "Runtime information for the node in the VCHA Cluster. \n The active node's management vCenter server credentials are required to populate some properties of *Vcenter.Vcha.Cluster.WitnessInfo.runtime*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable or the node is not cloned yet.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.NodeRuntimeInfo" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.WitnessInfo schema defines the configuration and runtime information for the witness node in the cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.ErrorCondition": { + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "description": "Contains an error condition.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "recommendation": { + "description": "Contains a recommendation on handling the error condition.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, there is no tip for the error condition.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.ErrorCondition schema contains an error condition and a recommendation to handle the error condition.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Info": { + "type": "object", + "properties": { + "config_state": { + "type": "string", + "description": "Configuration state of the VCHA cluster. \n The active node's management vCenter server credentials are not required to populate this property.\n\nPossible values:\n - `CONFIGURED`: VCHA cluster is configured.\n - `NOTCONFIGURED`: VCHA cluster is not configured.\n - `INVALID`: VCHA cluster is in an invalid/dirty state.\n - `PREPARED`: vCenter server appliance has been prepared for VCHA cluster configuration.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.ConfigState*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable." + }, + "node1": { + "description": "Node configuration information for the VCHA cluster.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.NodeInfo" + } + ] + }, + "node2": { + "description": "Node configuration information for the VCHA cluster.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable or the node is not cloned yet.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.NodeInfo" + } + ] + }, + "witness": { + "description": "Node configuration information for the VCHA cluster.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable or the node is not cloned yet.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.WitnessInfo" + } + ] + }, + "mode": { + "type": "string", + "description": "Operational mode of the VCHA Cluster.\n\nPossible values:\n - `ENABLED`: VCHA Cluster is enabled. State replication between the Active and Passive node is enabled and automatic failover is allowed.\n - `DISABLED`: VCHA Cluster is disabled. State replication between the Active and Passive node is disabled and automatic failover is not allowed.\n - `MAINTENANCE`: VCHA Cluster is in maintenance mode. State replication between the Active and Passive node is enabled but automatic failover is not allowed.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.ClusterMode*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable or the node is not cloned yet." + }, + "health_state": { + "type": "string", + "description": "Last known state of the VCHA Cluster.\n\nPossible values:\n - `HEALTHY`: All three nodes in a VCHA Cluster are healthy and connected. State replication between Active and Passive node is working and both nodes are in sync.\n - `DEGRADED`: A VCHA Cluster is said to be in a degraded state for either or all of the following reasons: \n - There is a node loss. \n - State replication between the Active and Passive node fails.\n \n - `ISOLATED`: All three nodes are isolated from each other.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.ClusterState*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the information is unavailable or the node is not cloned yet." + }, + "health_exception": { + "type": "array", + "description": "Health warning messages if the health information is unavailable.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the cluster is in a healthy state.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "health_warnings": { + "type": "array", + "description": "A collection of messages describing the reason for a non-healthy Cluster.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the cluster is in a healthy state.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.ErrorCondition" + } + }, + "manual_failover_allowed": { + "type": "boolean", + "description": "Specifies if manual failover is allowed.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the cluster state healthy and manual failover allowance in accordance with the cluster mode." + }, + "auto_failover_allowed": { + "type": "boolean", + "description": "Specifies if automatic failover is allowed.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the cluster state healthy and automatic failover allowance in accordance with the cluster mode." + } + }, + "description": "The Vcenter.Vcha.Cluster.Info schema contains the configuration and health information of the three nodes in a VCHA Cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.NodeVmInfo": { + "required": [ + "bios_uuid", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "The identifier of the virtual machine of the VCHA node.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine:VCenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine:VCenter`." + }, + "bios_uuid": { + "type": "string", + "description": "BIOS UUID for the node.\n\nThis property was added in __vSphere API 6.7.1__." + } + }, + "description": "The Vcenter.Vcha.Cluster.NodeVmInfo schema contains information to describe the Virtual Machine of a node of a VCHA cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.VmInfo": { + "required": [ + "passive", + "witness" + ], + "type": "object", + "properties": { + "passive": { + "description": "The virtual machine information of the passive node.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.NodeVmInfo" + } + ] + }, + "witness": { + "description": "The virtual machine information of the witness node.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.NodeVmInfo" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.VmInfo schema contains information to describe the Virtual Machines of passive and witness nodes of a VCHA cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.UndeploySpec": { + "type": "object", + "properties": { + "vc_spec": { + "description": "Contains the active node's management vCenter server credentials.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.CredentialsSpec" + } + ] + }, + "force_delete": { + "type": "boolean", + "description": "Flag controlling in what circumstances the virtual machines will be deleted. For this flag to take effect, the VCHA cluster should have been successfully configured using automatic deployment. \n - If true, the *Vcenter.Vcha.Cluster.UndeploySpec.vms* property will be ignored, the VCHA cluster specific information is removed, and the passive and witness virtual machines will be deleted.\n - If false, the *Vcenter.Vcha.Cluster.UndeploySpec.vms* property contains the information identifying the passive and witness virtual machines.\n \n - If the *Vcenter.Vcha.Cluster.UndeploySpec.vms* property is set, then it will be validated prior to deleting the passive and witness virtual machines and VCHA cluster specific information is removed.\n - If the *Vcenter.Vcha.Cluster.UndeploySpec.vms* property is missing or `null`, then the passive and witness virtual machines will not be deleted. The customer should delete them in order to cleanup completely. VCHA cluster specific information is removed.\n \n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, the *Vcenter.Vcha.Cluster.UndeploySpec.vms* property contains the information identifying the passive and witness virtual machines. \n - If the *Vcenter.Vcha.Cluster.UndeploySpec.vms* property is set, then it will be validated prior to deleting the passive and witness virtual machines. VCHA cluster specific information is removed.\n - If the *Vcenter.Vcha.Cluster.UndeploySpec.vms* property is missing or `null`, then the passive and witness virtual machines will not be deleted. The customer should delete them in order to cleanup completely. VCHA cluster specific information is removed.\n " + }, + "vms": { + "description": "Contains virtual machine information for the passive and witness virtual machines. For this flag to take effect, the VCHA cluster should have been successfully configured using automatic deployment. \n\n If set, the *Vcenter.Vcha.Cluster.UndeploySpec.force_delete* property controls whether this information is validated. \n - If the *Vcenter.Vcha.Cluster.UndeploySpec.force_delete* property is true, then this information is ignored, VCHA cluster specific information is removed and the passive and witness virtual machines will be deleted.\n - If the *Vcenter.Vcha.Cluster.UndeploySpec.force_delete* property is missing or `null` or false, then this information is validated prior to deleting the passive and witness virtual machines. VCHA cluster specific information is removed.\n \n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, the *Vcenter.Vcha.Cluster.UndeploySpec.force_delete* property controls the deletion of the passive and witness virtual machines. \n - If the *Vcenter.Vcha.Cluster.UndeploySpec.force_delete* property is true, then the passive and witness virtual machines will be deleted. VCHA cluster specific information is removed. \n - If the *Vcenter.Vcha.Cluster.UndeploySpec.force_delete* property is missing or `null` or false, then the passive and witness virtual machines will not be deleted. The customer should delete them in order to cleanup completely. VCHA cluster specific information is removed. \n", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.Cluster.VmInfo" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.UndeploySpec schema contains the undeploy specification for a VCHA cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Operations.Info": { + "required": [ + "active", + "disabled" + ], + "type": "object", + "properties": { + "disabled": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the operations that are current disabled. These operation strings are one of *Vcenter.Vcha.Operations.CLUSTER_DEPLOY_OP*, *Vcenter.Vcha.Operations.CLUSTER_FAILOVER_OP*, *Vcenter.Vcha.Operations.PASSIVE_REDEPLOY_OP*, *Vcenter.Vcha.Operations.WITNESS_REDEPLOY_OP*, *Vcenter.Vcha.Operations.MODE_SET_OP*, *Vcenter.Vcha.Operations.CLUSTER_UNDEPLOY_OP* and *Vcenter.Vcha.Operations.CLUSTER_GET_OP*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vapi.operation`.", + "items": { + "type": "string" + } + }, + "active": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the operations that are currently running. These operation strings are one of *Vcenter.Vcha.Operations.CLUSTER_DEPLOY_OP*, *Vcenter.Vcha.Operations.CLUSTER_FAILOVER_OP*, *Vcenter.Vcha.Operations.PASSIVE_REDEPLOY_OP*, *Vcenter.Vcha.Operations.WITNESS_REDEPLOY_OP*, *Vcenter.Vcha.Operations.MODE_SET_OP*, and *Vcenter.Vcha.Operations.CLUSTER_UNDEPLOY_OP*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vapi.operation`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vapi.operation`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Vcha.Operations.Info schema contains information about which the VCHA operations cannot be invoked in the current state of the system and the list of currently active VCHA operations.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Active.Info": { + "required": [ + "management" + ], + "type": "object", + "properties": { + "management": { + "description": "IP specification for the Management network.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + }, + "ha": { + "description": "IP specification for the HA network.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the second NIC of the Active Node of the VCHA cluster is not configured.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + }, + "placement": { + "description": "Contains the placement information of the active node.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, the request specified that placement information of the active node should not be included.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.PlacementInfo" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.Active.Info schema contains the network and placement information of the active node of a VCHA Cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.DeploymentType.Type": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.DeploymentType.Type enumerated type defines the possible deployment types for a VCHA Cluster.\n\nPossible values:\n - `NONE`: VCHA Cluster is not configured.\n - `AUTO`: VCHA Cluster was deployed automatically.\n - `MANUAL`: VCHA Cluster was deployed manually.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "NONE", + "AUTO", + "MANUAL" + ] + }, + "Vcenter.Vcha.Cluster.DeploymentType.Info": { + "required": [ + "deployment_type" + ], + "type": "object", + "properties": { + "deployment_type": { + "type": "string", + "description": "Identifies the deployment type of the VCHA cluster.\n\nPossible values:\n - `NONE`: VCHA Cluster is not configured.\n - `AUTO`: VCHA Cluster was deployed automatically.\n - `MANUAL`: VCHA Cluster was deployed manually.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.DeploymentType.Type*.\n\nThis property was added in __vSphere API 6.7.1__." + } + }, + "description": "The Vcenter.Vcha.Cluster.DeploymentType.Info schema contains the deployment type of the VCHA Cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Mode.ClusterMode": { + "type": "string", + "description": "The Vcenter.Vcha.Cluster.Mode.ClusterMode enumerated type defines the possible modes for a VCHA Cluster.\n\nPossible values:\n - `ENABLED`: VCHA Cluster is enabled. State replication between the Active and Passive node is enabled and automatic failover is allowed.\n - `DISABLED`: VCHA Cluster is disabled. State replication between the Active and Passive node is disabled and automatic failover is not allowed.\n - `MAINTENANCE`: VCHA Cluster is in maintenance mode. State replication between the and Passive node is enabled but automatic failover is not allowed.\n\n\nThis enumeration was added in __vSphere API 6.7.1__.", + "enum": [ + "ENABLED", + "DISABLED", + "MAINTENANCE" + ] + }, + "Vcenter.Vcha.Cluster.Mode.Info": { + "required": [ + "mode" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Identifies the mode of the VCHA cluster.\n\nPossible values:\n - `ENABLED`: VCHA Cluster is enabled. State replication between the Active and Passive node is enabled and automatic failover is allowed.\n - `DISABLED`: VCHA Cluster is disabled. State replication between the Active and Passive node is disabled and automatic failover is not allowed.\n - `MAINTENANCE`: VCHA Cluster is in maintenance mode. State replication between the and Passive node is enabled but automatic failover is not allowed.\n\n\nFor more information see: *Vcenter.Vcha.Cluster.Mode.ClusterMode*.\n\nThis property was added in __vSphere API 6.7.1__." + } + }, + "description": "The Vcenter.Vcha.Cluster.Mode.Info schema contains the mode of the VCHA Cluster.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Passive.CheckSpec": { + "required": [ + "placement" + ], + "type": "object", + "properties": { + "vc_spec": { + "description": "Contains the active node's management vCenter server credentials.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.CredentialsSpec" + } + ] + }, + "placement": { + "description": "Contains the node's placement information for validation.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.PlacementSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.Passive.CheckSpec schema contains placement information for validation.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Passive.CheckResult": { + "required": [ + "errors", + "warnings" + ], + "type": "object", + "properties": { + "warnings": { + "type": "array", + "description": "A list of problems which may require attention, but which are not fatal.\n\nThis property was added in __vSphere API 6.7.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "errors": { + "type": "array", + "description": "A list of problems which are fatal to the operation and the operation will fail.\n\nThis property was added in __vSphere API 6.7.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.Vcha.Cluster.Passive.CheckResult schema contains the warnings and errors that will occur during the clone operation.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Passive.RedeploySpec": { + "required": [ + "placement" + ], + "type": "object", + "properties": { + "vc_spec": { + "description": "Contains the active node's management vCenter server credentials.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.CredentialsSpec" + } + ] + }, + "placement": { + "description": "Contains the node's placement information.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.PlacementSpec" + } + ] + }, + "ha_ip": { + "description": "Contains the VCHA HA network configuration of the node. All cluster communication (state replication, heartbeat, cluster messages) happens over this network.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the stored network configuration for the VCHA HA network for the passive node will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + }, + "failover_ip": { + "description": "Failover IP address that this node must assume after the failover to serve client requests.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the public IP address of the Active vCenter Server is assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.Passive.RedeploySpec schema contains the redeploy specification.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Witness.CheckSpec": { + "required": [ + "placement" + ], + "type": "object", + "properties": { + "vc_spec": { + "description": "Contains the active node's management vCenter server credentials.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.CredentialsSpec" + } + ] + }, + "placement": { + "description": "Contains the node's placement information for validation.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.PlacementSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.Witness.CheckSpec schema contains placement information for validation.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Witness.CheckResult": { + "required": [ + "errors", + "warnings" + ], + "type": "object", + "properties": { + "warnings": { + "type": "array", + "description": "A list of problems which may require attention, but which are not fatal.\n\nThis property was added in __vSphere API 6.7.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "errors": { + "type": "array", + "description": "A list of problems which are fatal to the operation and the operation will fail.\n\nThis property was added in __vSphere API 6.7.1__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.Vcha.Cluster.Witness.CheckResult schema contains the warnings and errors that will occur during the clone operation.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vcha.Cluster.Witness.RedeploySpec": { + "required": [ + "placement" + ], + "type": "object", + "properties": { + "vc_spec": { + "description": "Contains the active node's management vCenter server credentials.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the active vCenter Server instance is assumed to be either self-managed or else in enhanced linked mode and managed by a linked vCenter Server instance.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.CredentialsSpec" + } + ] + }, + "placement": { + "description": "Contains the node's placement information.\n\nThis property was added in __vSphere API 6.7.1__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.PlacementSpec" + } + ] + }, + "ha_ip": { + "description": "Contains the VCHA HA network configuration of the node. All cluster communication (state replication, heartbeat, cluster messages) happens over this network.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, then the stored network configuration for the VCHA HA network for the witness node will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vcha.IpSpec" + } + ] + } + }, + "description": "The Vcenter.Vcha.Cluster.Witness.RedeploySpec schema contains the redeploy specification.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vm.GuestOS": { + "type": "string", + "description": "The Vcenter.Vm.GuestOS enumerated type defines the valid guest operating system types used for configuring a virtual machine.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n", + "enum": [ + "DOS", + "WIN_31", + "WIN_95", + "WIN_98", + "WIN_ME", + "WIN_NT", + "WIN_2000_PRO", + "WIN_2000_SERV", + "WIN_2000_ADV_SERV", + "WIN_XP_HOME", + "WIN_XP_PRO", + "WIN_XP_PRO_64", + "WIN_NET_WEB", + "WIN_NET_STANDARD", + "WIN_NET_ENTERPRISE", + "WIN_NET_DATACENTER", + "WIN_NET_BUSINESS", + "WIN_NET_STANDARD_64", + "WIN_NET_ENTERPRISE_64", + "WIN_LONGHORN", + "WIN_LONGHORN_64", + "WIN_NET_DATACENTER_64", + "WIN_VISTA", + "WIN_VISTA_64", + "WINDOWS_7", + "WINDOWS_7_64", + "WINDOWS_7_SERVER_64", + "WINDOWS_8", + "WINDOWS_8_64", + "WINDOWS_8_SERVER_64", + "WINDOWS_9", + "WINDOWS_9_64", + "WINDOWS_9_SERVER_64", + "WINDOWS_11_64", + "WINDOWS_12_64", + "WINDOWS_HYPERV", + "WINDOWS_SERVER_2019", + "WINDOWS_SERVER_2021", + "WINDOWS_SERVER_2025", + "FREEBSD", + "FREEBSD_64", + "FREEBSD_11", + "FREEBSD_12", + "FREEBSD_13", + "FREEBSD_14", + "FREEBSD_15", + "FREEBSD_11_64", + "FREEBSD_12_64", + "FREEBSD_13_64", + "FREEBSD_14_64", + "FREEBSD_15_64", + "REDHAT", + "RHEL_2", + "RHEL_3", + "RHEL_3_64", + "RHEL_4", + "RHEL_4_64", + "RHEL_5", + "RHEL_5_64", + "RHEL_6", + "RHEL_6_64", + "RHEL_7", + "RHEL_7_64", + "RHEL_8_64", + "RHEL_9_64", + "RHEL_10_64", + "CENTOS", + "CENTOS_64", + "CENTOS_6", + "CENTOS_6_64", + "CENTOS_7", + "CENTOS_7_64", + "CENTOS_8_64", + "CENTOS_9_64", + "ORACLE_LINUX", + "ORACLE_LINUX_64", + "ORACLE_LINUX_6", + "ORACLE_LINUX_6_64", + "ORACLE_LINUX_7", + "ORACLE_LINUX_7_64", + "ORACLE_LINUX_8_64", + "ORACLE_LINUX_9_64", + "ORACLE_LINUX_10_64", + "SUSE", + "SUSE_64", + "SLES", + "SLES_64", + "SLES_10", + "SLES_10_64", + "SLES_11", + "SLES_11_64", + "SLES_12", + "SLES_12_64", + "SLES_15_64", + "SLES_16_64", + "NLD_9", + "OES", + "SJDS", + "MANDRAKE", + "MANDRIVA", + "MANDRIVA_64", + "TURBO_LINUX", + "TURBO_LINUX_64", + "UBUNTU", + "UBUNTU_64", + "DEBIAN_4", + "DEBIAN_4_64", + "DEBIAN_5", + "DEBIAN_5_64", + "DEBIAN_6", + "DEBIAN_6_64", + "DEBIAN_7", + "DEBIAN_7_64", + "DEBIAN_8", + "DEBIAN_8_64", + "DEBIAN_9", + "DEBIAN_9_64", + "DEBIAN_10", + "DEBIAN_10_64", + "DEBIAN_11", + "DEBIAN_11_64", + "DEBIAN_12", + "DEBIAN_12_64", + "DEBIAN_13", + "DEBIAN_13_64", + "ASIANUX_3", + "ASIANUX_3_64", + "ASIANUX_4", + "ASIANUX_4_64", + "ASIANUX_5_64", + "ASIANUX_7_64", + "ASIANUX_8_64", + "ASIANUX_9_64", + "MIRACLELINUX_64", + "PARDUS_64", + "OPENSUSE", + "OPENSUSE_64", + "FEDORA", + "FEDORA_64", + "COREOS_64", + "VMWARE_PHOTON_64", + "OTHER_24X_LINUX", + "OTHER_24X_LINUX_64", + "OTHER_26X_LINUX", + "OTHER_26X_LINUX_64", + "OTHER_3X_LINUX", + "OTHER_3X_LINUX_64", + "OTHER_4X_LINUX", + "OTHER_4X_LINUX_64", + "OTHER_5X_LINUX", + "OTHER_5X_LINUX_64", + "OTHER_6X_LINUX", + "OTHER_6X_LINUX_64", + "OTHER_7X_LINUX", + "OTHER_7X_LINUX_64", + "OTHER_LINUX", + "GENERIC_LINUX", + "OTHER_LINUX_64", + "SOLARIS_6", + "SOLARIS_7", + "SOLARIS_8", + "SOLARIS_9", + "SOLARIS_10", + "SOLARIS_10_64", + "SOLARIS_11_64", + "FUSIONOS_64", + "PROLINUX_64", + "KYLINLINUX_64", + "OS2", + "ECOMSTATION", + "ECOMSTATION_2", + "NETWARE_4", + "NETWARE_5", + "NETWARE_6", + "OPENSERVER_5", + "OPENSERVER_6", + "UNIXWARE_7", + "DARWIN", + "DARWIN_64", + "DARWIN_10", + "DARWIN_10_64", + "DARWIN_11", + "DARWIN_11_64", + "DARWIN_12_64", + "DARWIN_13_64", + "DARWIN_14_64", + "DARWIN_15_64", + "DARWIN_16_64", + "DARWIN_17_64", + "DARWIN_18_64", + "DARWIN_19_64", + "DARWIN_20_64", + "DARWIN_21_64", + "DARWIN_22_64", + "DARWIN_23_64", + "VMKERNEL", + "VMKERNEL_5", + "VMKERNEL_6", + "VMKERNEL_65", + "VMKERNEL_7", + "VMKERNEL_8", + "VMKERNEL_9", + "AMAZONLINUX2_64", + "AMAZONLINUX3_64", + "CRXPOD_1", + "CRXSYS_1", + "ROCKYLINUX_64", + "ALMALINUX_64", + "OTHER", + "OTHER_64" + ] + }, + "Vcenter.Vm.GuestOSFamily": { + "type": "string", + "description": "The Vcenter.Vm.GuestOSFamily enumerated type defines the valid guest operating system family types reported by a virtual machine.\n\nPossible values:\n - `WINDOWS`: Windows operating system\n - `LINUX`: Linux operating system\n - `NETWARE`: Novell Netware\n - `SOLARIS`: Solaris operating system\n - `DARWIN`: Mac OS operating system\n - `OTHER`: Other operating systems\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "WINDOWS", + "LINUX", + "NETWARE", + "SOLARIS", + "DARWIN", + "OTHER" + ] + }, + "Vcenter.Vm.DataSets.Access": { + "type": "string", + "description": "Possible Entry access modes.\n\nPossible values:\n - `NONE`: No access is allowed for data set Entries.\n - `READ_ONLY`: Only read access is allowed for data set Entries.\n - `READ_WRITE`: Full read, write and delete access is allowed on data set Entries.\n\n\nThis enumeration was added in __vSphere API 8.0.0.0__.", + "enum": [ + "NONE", + "READ_ONLY", + "READ_WRITE" + ] + }, + "Vcenter.Vm.DataSets.Info": { + "required": [ + "description", + "guest", + "host", + "name", + "omit_from_snapshot_and_clone", + "used" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the data set.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "description": { + "type": "string", + "description": "A description of how the data set is used by its creator.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "host": { + "type": "string", + "description": "Host access control. \n\n Controls access to the data set by the *Vcenter.Vm.DataSets.Entries* operations.\n\nPossible values:\n - `NONE`: No access is allowed for data set Entries.\n - `READ_ONLY`: Only read access is allowed for data set Entries.\n - `READ_WRITE`: Full read, write and delete access is allowed on data set Entries.\n\n\nFor more information see: *Vcenter.Vm.DataSets.Access*.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "guest": { + "type": "string", + "description": "Guest access control. \n\n Controls access to the data set from in-guest APIs.\n\nPossible values:\n - `NONE`: No access is allowed for data set Entries.\n - `READ_ONLY`: Only read access is allowed for data set Entries.\n - `READ_WRITE`: Full read, write and delete access is allowed on data set Entries.\n\n\nFor more information see: *Vcenter.Vm.DataSets.Access*.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "used": { + "type": "integer", + "description": "The total size in bytes of the Entry data in use by this data set.\n\nThis property was added in __vSphere API 8.0.0.0__.", + "format": "int64" + }, + "omit_from_snapshot_and_clone": { + "type": "boolean", + "description": "If set, the data set is considered a property of the virtual machine, and is not included in a snapshot operation or when the virtual machine is cloned. When a virtual machine is reverted to a snapshot, any data set with {@link #omitFromSnapshotAndClone) {@term set} will be destroyed. Any data set with {@link #omitFromSnapshotAndClone} {@term unset} will be restored to the state when the snapshot was created.\n\nThis property was added in __vSphere API 8.0.0.0__." + } + }, + "description": "The Vcenter.Vm.DataSets.Info schema describes a data set.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Vm.DataSets.CreateSpec": { + "required": [ + "description", + "guest", + "host", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the data set. __ It is recommended that this value take the form \"com.company.project\" to avoid conflict with other uses.__\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "description": { + "type": "string", + "description": "A description of how the data set is used by its creator. This field can contain up to 1024 bytes.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "host": { + "type": "string", + "description": "Host access control. \n\n Controls access to the data set by the *Vcenter.Vm.DataSets.Entries* operations.\n\nPossible values:\n - `NONE`: No access is allowed for data set Entries.\n - `READ_ONLY`: Only read access is allowed for data set Entries.\n - `READ_WRITE`: Full read, write and delete access is allowed on data set Entries.\n\n\nFor more information see: *Vcenter.Vm.DataSets.Access*.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "guest": { + "type": "string", + "description": "Guest access control. \n\n Controls access to the data set from the in-guest APIs.\n\nPossible values:\n - `NONE`: No access is allowed for data set Entries.\n - `READ_ONLY`: Only read access is allowed for data set Entries.\n - `READ_WRITE`: Full read, write and delete access is allowed on data set Entries.\n\n\nFor more information see: *Vcenter.Vm.DataSets.Access*.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "omit_from_snapshot_and_clone": { + "type": "boolean", + "description": "If set, the data set is considered a property of the virtual machine, and is not included in a snapshot operation or when the virtual machine is cloned. When a virtual machine is reverted to a snapshot, any data set with {@link #omitFromSnapshotAndClone) {@term set} will be destroyed. Any data set with {@link #omitFromSnapshotAndClone} {@term unset} will be restored to the state when the snapshot was created.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf missing or `null`, the data set is copied when a virtual machine is cloned or a snapshot is taken." + } + }, + "description": "The Vcenter.Vm.DataSets.CreateSpec schema describes a data set to be created.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Vm.DataSets.UpdateSpec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of how the data set is used by its creator. This field can contain up to 1024 bytes.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf set, the value is changed." + }, + "host": { + "type": "string", + "description": "The access control from the host.\n\nPossible values:\n - `NONE`: No access is allowed for data set Entries.\n - `READ_ONLY`: Only read access is allowed for data set Entries.\n - `READ_WRITE`: Full read, write and delete access is allowed on data set Entries.\n\n\nFor more information see: *Vcenter.Vm.DataSets.Access*.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf set, the value is changed." + }, + "guest": { + "type": "string", + "description": "The access control from the guest.\n\nPossible values:\n - `NONE`: No access is allowed for data set Entries.\n - `READ_ONLY`: Only read access is allowed for data set Entries.\n - `READ_WRITE`: Full read, write and delete access is allowed on data set Entries.\n\n\nFor more information see: *Vcenter.Vm.DataSets.Access*.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf set, the value is changed." + }, + "omit_from_snapshot_and_clone": { + "type": "boolean", + "description": "If set, the data set is considered a property of the virtual machine, and is not included in a snapshot operation or when the virtual machine is cloned. When a virtual machine is reverted to a snapshot, any data set with {@link #omitFromSnapshotAndClone) {@term set} will be destroyed. Any data set with {@link #omitFromSnapshotAndClone} {@term unset} will be restored to the state when the snapshot was created.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nIf set, the value is changed." + } + }, + "description": "The Vcenter.Vm.DataSets.UpdateSpec schema describes attributes of a data set that can be modified.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Vm.DataSets.Summary": { + "required": [ + "data_set", + "description", + "name" + ], + "type": "object", + "properties": { + "data_set": { + "type": "string", + "description": "The identifier of the data set.\n\nThis property was added in __vSphere API 8.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.DataSet`." + }, + "name": { + "type": "string", + "description": "The name of the data set.\n\nThis property was added in __vSphere API 8.0.0.0__." + }, + "description": { + "type": "string", + "description": "The description of the data set.\n\nThis property was added in __vSphere API 8.0.0.0__." + } + }, + "description": "Basic data set information.\n\nThis schema was added in __vSphere API 8.0.0.0__." + }, + "Vcenter.Vm.EvcMode.SetSpec": { + "type": "object", + "properties": { + "evc_mode": { + "description": "The EvcMode to configure on the VM.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf the field is missing or `null`, EvcMode is reset for the VM.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.EvcMode.EvcMode" + } + ] + } + }, + "description": "Information about how to enable EvcMode for a virtual machine.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Vm.EvcMode.Info": { + "type": "object", + "properties": { + "evc_mode": { + "description": "The EvcMode configured on the cluster.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif missing or `null`, then the VM's EvcMode is unset.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.EvcMode.EvcMode" + } + ] + } + }, + "description": "The Vcenter.Vm.EvcMode.Info {term structure} contains information about the EvcMode configured for the VM.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Vm.Hardware.Version": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Version enumerated type defines the valid virtual hardware versions for a virtual machine. See https://kb.vmware.com/s/article/1003746 (Virtual machine hardware versions (1003746)).\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n", + "enum": [ + "VMX_03", + "VMX_04", + "VMX_06", + "VMX_07", + "VMX_08", + "VMX_09", + "VMX_10", + "VMX_11", + "VMX_12", + "VMX_13", + "VMX_14", + "VMX_15", + "VMX_16", + "VMX_17", + "VMX_18", + "VMX_19", + "VMX_20", + "VMX_21", + "VMX_22" + ] + }, + "Vcenter.Vm.Hardware.UpgradePolicy": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.UpgradePolicy enumerated type defines the valid virtual hardware upgrade policies for a virtual machine.\n\nPossible values:\n - `NEVER`: Do not upgrade the virtual machine when it is powered on.\n - `AFTER_CLEAN_SHUTDOWN`: Run scheduled upgrade when the virtual machine is powered on after a clean shutdown of the guest operating system.\n - `ALWAYS`: Run scheduled upgrade when the virtual machine is powered on.\n", + "enum": [ + "NEVER", + "AFTER_CLEAN_SHUTDOWN", + "ALWAYS" + ] + }, + "Vcenter.Vm.Hardware.UpgradeStatus": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.UpgradeStatus enumerated type defines the valid virtual hardware upgrade statuses for a virtual machine.\n\nPossible values:\n - `NONE`: No scheduled upgrade has been attempted.\n - `PENDING`: Upgrade is scheduled but has not yet been run.\n - `SUCCESS`: The most recent scheduled upgrade was successful.\n - `FAILED`: The most recent scheduled upgrade was not successful.\n", + "enum": [ + "NONE", + "PENDING", + "SUCCESS", + "FAILED" + ] + }, + "Vcenter.Vm.Hardware.Info": { + "required": [ + "upgrade_policy", + "upgrade_status", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Virtual hardware version.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*." + }, + "upgrade_policy": { + "type": "string", + "description": "Scheduled upgrade policy.\n\nPossible values:\n - `NEVER`: Do not upgrade the virtual machine when it is powered on.\n - `AFTER_CLEAN_SHUTDOWN`: Run scheduled upgrade when the virtual machine is powered on after a clean shutdown of the guest operating system.\n - `ALWAYS`: Run scheduled upgrade when the virtual machine is powered on.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradePolicy*." + }, + "upgrade_version": { + "type": "string", + "description": "Target hardware version to be used on the next scheduled virtual hardware upgrade.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nThis property is optional and it is only relevant when the value of upgrade_policy is one of *Vcenter.Vm.Hardware.UpgradePolicy.AFTER_CLEAN_SHUTDOWN* or *Vcenter.Vm.Hardware.UpgradePolicy.ALWAYS*." + }, + "upgrade_status": { + "type": "string", + "description": "Scheduled upgrade status.\n\nPossible values:\n - `NONE`: No scheduled upgrade has been attempted.\n - `PENDING`: Upgrade is scheduled but has not yet been run.\n - `SUCCESS`: The most recent scheduled upgrade was successful.\n - `FAILED`: The most recent scheduled upgrade was not successful.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradeStatus*." + }, + "upgrade_error": { + "type": "object", + "description": "Reason for the scheduled upgrade failure.\n\nThis property is optional and it is only relevant when the value of upgrade_status is *Vcenter.Vm.Hardware.UpgradeStatus.FAILED*." + } + }, + "description": "The Vcenter.Vm.Hardware.Info schema contains information related to the virtual hardware of a virtual machine." + }, + "Vcenter.Vm.Hardware.UpdateSpec": { + "type": "object", + "properties": { + "upgrade_policy": { + "type": "string", + "description": "Scheduled upgrade policy. \n\n If set to *Vcenter.Vm.Hardware.UpgradePolicy.NEVER*, the *Vcenter.Vm.Hardware.Info.upgrade_version* property will be reset to missing or `null`.\n\nPossible values:\n - `NEVER`: Do not upgrade the virtual machine when it is powered on.\n - `AFTER_CLEAN_SHUTDOWN`: Run scheduled upgrade when the virtual machine is powered on after a clean shutdown of the guest operating system.\n - `ALWAYS`: Run scheduled upgrade when the virtual machine is powered on.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradePolicy*.\n\nIf missing or `null`, the value is unchanged." + }, + "upgrade_version": { + "type": "string", + "description": "Target hardware version to be used on the next scheduled virtual hardware upgrade. \n\n If specified, this property must represent a newer virtual hardware version than the current virtual hardware version reported in *Vcenter.Vm.Hardware.Info.version*.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nIf *Vcenter.Vm.Hardware.UpdateSpec.upgrade_policy* is set to *Vcenter.Vm.Hardware.UpgradePolicy.NEVER*, this property must be missing or `null`. Otherwise, if this property is missing or `null`, default to the most recent virtual hardware version supported by the server." + } + }, + "description": "The Vcenter.Vm.Hardware.UpdateSpec schema describes the updates to virtual hardware settings of a virtual machine." + }, + "Vcenter.Vm.Identity.Info": { + "required": [ + "bios_uuid", + "instance_uuid", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Virtual machine name.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "bios_uuid": { + "type": "string", + "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "instance_uuid": { + "type": "string", + "description": "VirtualCenter-specific 128-bit UUID of a virtual machine, represented as a hexadecimal string. This identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID.\n\nThis property was added in __vSphere API 6.7.1__." + } + }, + "description": "The Vcenter.Vm.Identity.Info schema contains information about the identity of a virtual machine.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Vm.LibraryItem.Info": { + "type": "object", + "properties": { + "check_out": { + "description": "Information about the checked out virtual machine.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null`, the virtual machine is not checked out from a library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.LibraryItem.CheckOutInfo" + } + ] + } + }, + "description": "The Vcenter.Vm.LibraryItem.Info schema contains information about the library item associated with a virtual machine.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.Vm.LibraryItem.CheckOutInfo": { + "required": [ + "library_item" + ], + "type": "object", + "properties": { + "library_item": { + "type": "string", + "description": "Identifier of the library item that the virtual machine is checked out from.\n\nThis property was added in __vSphere API 6.9.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + } + }, + "description": "The Vcenter.Vm.LibraryItem.CheckOutInfo schema contains information about a virtual machine checked out of a content library item.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.Vm.Power.State": { + "type": "string", + "description": "The Vcenter.Vm.Power.State enumerated type defines the valid power states for a virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n", + "enum": [ + "POWERED_OFF", + "POWERED_ON", + "SUSPENDED" + ] + }, + "Vcenter.Vm.Power.Info": { + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." + }, + "clean_power_off": { + "type": "boolean", + "description": "Flag indicating whether the virtual machine was powered off cleanly. This property may be used to detect that the virtual machine crashed unexpectedly and should be restarted.\n\nThis property is optional and it is only relevant when the value of state is *Vcenter.Vm.Power.State.POWERED_OFF*." + } + }, + "description": "The Vcenter.Vm.Power.Info schema contains information about the power state of a virtual machine." + }, + "Vcenter.Vm.Tools.RunState": { + "type": "string", + "description": "Current run state of VMware Tools in the guest operating system.\n\nPossible values:\n - `NOT_RUNNING`: VMware Tools is not running.\n - `RUNNING`: VMware Tools is running.\n - `EXECUTING_SCRIPTS`: VMware Tools is running scripts as part of a state transition.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NOT_RUNNING", + "RUNNING", + "EXECUTING_SCRIPTS" + ] + }, + "Vcenter.Vm.Tools.UpgradePolicy": { + "type": "string", + "description": "The Vcenter.Vm.Tools.UpgradePolicy enumerated type defines when Tools are auto-upgraded for a virtual machine.\n\nPossible values:\n - `MANUAL`: No auto-upgrades for Tools will be performed for this virtual machine. Users must manually invoke the *POST /vcenter/vm/{vm}/tools?action=upgrade* operation to update Tools.\n - `UPGRADE_AT_POWER_CYCLE`: When the virtual machine is power-cycled, the system checks for a newer version of Tools when the virtual machine is powered on. If it is available, a Tools upgrade is automatically performed on the virtual machine and it is rebooted if necessary.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "MANUAL", + "UPGRADE_AT_POWER_CYCLE" + ] + }, + "Vcenter.Vm.Tools.VersionStatus": { + "type": "string", + "description": "The Vcenter.Vm.Tools.VersionStatus enumerated type defines the version status types of VMware Tools installed in the guest operating system.\n\nPossible values:\n - `NOT_INSTALLED`: VMware Tools has never been installed.\n - `CURRENT`: VMware Tools is installed, and the version is current.\n - `UNMANAGED`: VMware Tools is installed, but it is not managed by VMware. This includes open-vm-tools or OSPs which should be managed by the guest operating system.\n - `TOO_OLD_UNSUPPORTED`: VMware Tools is installed, but the version is too old.\n - `SUPPORTED_OLD`: VMware Tools is installed, supported, but a newer version is available.\n - `SUPPORTED_NEW`: VMware Tools is installed, supported, and newer than the version available on the host.\n - `TOO_NEW`: VMware Tools is installed, and the version is known to be too new to work correctly with this virtual machine.\n - `BLACKLISTED`: VMware Tools is installed, but the installed version is known to have a grave bug and should be immediately upgraded.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "NOT_INSTALLED", + "CURRENT", + "UNMANAGED", + "TOO_OLD_UNSUPPORTED", + "SUPPORTED_OLD", + "SUPPORTED_NEW", + "TOO_NEW", + "BLACKLISTED" + ] + }, + "Vcenter.Vm.Tools.ToolsInstallType": { + "type": "string", + "description": "The Vcenter.Vm.Tools.ToolsInstallType enumerated type defines the installation type of the Tools in the guest operating system.\n\nPossible values:\n - `UNKNOWN`: Installation type is not known. Most likely tools have been installed by OSPs or open-vm-tools, but a version that does not report its install type or an install type that we do not recognize.\n - `MSI`: MSI is the installation type used for VMware Tools on Windows.\n - `TAR`: Tools have been installed by the tar installer.\n - `OSP`: OSPs are RPM or Debian packages tailored for the OS in the VM. See http://packages.vmware.com\n - `OPEN_VM_TOOLS`: open-vm-tools are the open-source version of VMware Tools, may have been packaged by the OS vendor.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "UNKNOWN", + "MSI", + "TAR", + "OSP", + "OPEN_VM_TOOLS" + ] + }, + "Vcenter.Vm.Tools.GuestRebootStatus": { + "required": [ + "reboot_requested" + ], + "type": "object", + "properties": { + "reboot_requested": { + "type": "boolean", + "description": "Indicates whether a VMware Tools install, upgrade, or uninstall requires a reboot of the guest operating system. Set to true when a VMware Tools install, upgrade, or uninstall has requested the guest operating system to be rebooted and no reboot has been performed since the request. It is set to false as soon as the guest operating system completes a reboot following the request.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "requesting_components": { + "type": "array", + "description": "List of VMware Tools and/or system components that have requested the guest OS be rebooted to complete a VMware Tools install, upgrade, or uninstall. See the VMware Tools Administration Guide for the details of the components reported by the install operation.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` no reboot is pending, or the reboot components list information is not available. For older versions of VMware Tools or ESXi, the information is not available. For uninstall operations, the information is not available.", + "items": { + "type": "string" + } + }, + "request_timestamp": { + "type": "string", + "description": "The time when the reboot request was generated.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null` no reboot is pending, or the reboot request time is not available. For older versions of VMware Tools or ESXi, the information is not available. For uninstall operations, the information is not available.", + "format": "date-time" + } + }, + "description": "The Vcenter.Vm.Tools.GuestRebootStatus schema describes the guest operating system reboot status resulting from a VMware Tools install, upgrade, or uninstall.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Vm.Tools.Info": { + "required": [ + "auto_update_supported", + "run_state", + "upgrade_policy" + ], + "type": "object", + "properties": { + "auto_update_supported": { + "type": "boolean", + "description": "Set if the virtual machine supports auto-upgrading Tools via *Vcenter.Vm.Tools.UpgradePolicy*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "install_attempt_count": { + "type": "integer", + "description": "Number of attempts that have been made to install or upgrade the version of Tools installed on this virtual machine.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if there have been no Tools install or upgrade attempt.", + "format": "int64" + }, + "error": { + "type": "object", + "description": "Error that happened, if any, during last attempt to upgrade or install Tools.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if a the last Tools install or upgrade attempt succeeded." + }, + "version_number": { + "type": "integer", + "description": "Version of VMware Tools installed on the guest operating system.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if VMware Tools is not installed. This is an integer constructed as follows: (((MJR) << 10) + ((MNR) << 5) + (REV)) Where MJR is the major version, MNR is the minor version and REV is the revision. Tools version = T Tools Version Major = MJR = (T / 1024) Tools Version Minor = MNR = ((T % 1024) / 32) Tools Version Revision = BASE = ((T % 1024) % 32) Tools actual version = MJR.MNR.REV", + "format": "int64" + }, + "version": { + "type": "string", + "description": "Version of VMware Tools installed on the guest operating system. This is a human-readable value that should not be parsed.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if VMware Tools is not installed." + }, + "upgrade_policy": { + "type": "string", + "description": "Tools upgrade policy setting for the virtual machine. *Vcenter.Vm.Tools.UpgradePolicy*\n\nPossible values:\n - `MANUAL`: No auto-upgrades for Tools will be performed for this virtual machine. Users must manually invoke the *POST /vcenter/vm/{vm}/tools?action=upgrade* operation to update Tools.\n - `UPGRADE_AT_POWER_CYCLE`: When the virtual machine is power-cycled, the system checks for a newer version of Tools when the virtual machine is powered on. If it is available, a Tools upgrade is automatically performed on the virtual machine and it is rebooted if necessary.\n\n\nFor more information see: *Vcenter.Vm.Tools.UpgradePolicy*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "version_status": { + "type": "string", + "description": "Current version status of VMware Tools in the guest operating system, if known.\n\nPossible values:\n - `NOT_INSTALLED`: VMware Tools has never been installed.\n - `CURRENT`: VMware Tools is installed, and the version is current.\n - `UNMANAGED`: VMware Tools is installed, but it is not managed by VMware. This includes open-vm-tools or OSPs which should be managed by the guest operating system.\n - `TOO_OLD_UNSUPPORTED`: VMware Tools is installed, but the version is too old.\n - `SUPPORTED_OLD`: VMware Tools is installed, supported, but a newer version is available.\n - `SUPPORTED_NEW`: VMware Tools is installed, supported, and newer than the version available on the host.\n - `TOO_NEW`: VMware Tools is installed, and the version is known to be too new to work correctly with this virtual machine.\n - `BLACKLISTED`: VMware Tools is installed, but the installed version is known to have a grave bug and should be immediately upgraded.\n\n\nFor more information see: *Vcenter.Vm.Tools.VersionStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if the version status is not known, for example if VMware Tools is too old to report the information." + }, + "install_type": { + "type": "string", + "description": "Current installation type of VMware Tools in the guest operating system.\n\nPossible values:\n - `UNKNOWN`: Installation type is not known. Most likely tools have been installed by OSPs or open-vm-tools, but a version that does not report its install type or an install type that we do not recognize.\n - `MSI`: MSI is the installation type used for VMware Tools on Windows.\n - `TAR`: Tools have been installed by the tar installer.\n - `OSP`: OSPs are RPM or Debian packages tailored for the OS in the VM. See http://packages.vmware.com\n - `OPEN_VM_TOOLS`: open-vm-tools are the open-source version of VMware Tools, may have been packaged by the OS vendor.\n\n\nFor more information see: *Vcenter.Vm.Tools.ToolsInstallType*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if the installation type is not known, for example if VMware Tools is too old to report the information." + }, + "run_state": { + "type": "string", + "description": "Current run state of VMware Tools in the guest operating system.\n\nPossible values:\n - `NOT_RUNNING`: VMware Tools is not running.\n - `RUNNING`: VMware Tools is running.\n - `EXECUTING_SCRIPTS`: VMware Tools is running scripts as part of a state transition.\n\n\nFor more information see: *Vcenter.Vm.Tools.RunState*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "guest_reboot_status": { + "description": "Reboot status of the guest operating system.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is missing or `null` if the reboot status information is not known. For older versions of VMware Tools or ESXi, the information is not available. For uninstall operations, the information is not available. For virtual machines that are not powered on, the information is not available.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Tools.GuestRebootStatus" + } + ] + } + }, + "description": "The Vcenter.Vm.Tools.Info schema describes the VMware Tools properties of a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Tools.UpdateSpec": { + "type": "object", + "properties": { + "upgrade_policy": { + "type": "string", + "description": "Tools upgrade policy setting for the virtual machine. *Vcenter.Vm.Tools.UpgradePolicy*\n\nPossible values:\n - `MANUAL`: No auto-upgrades for Tools will be performed for this virtual machine. Users must manually invoke the *POST /vcenter/vm/{vm}/tools?action=upgrade* operation to update Tools.\n - `UPGRADE_AT_POWER_CYCLE`: When the virtual machine is power-cycled, the system checks for a newer version of Tools when the virtual machine is powered on. If it is available, a Tools upgrade is automatically performed on the virtual machine and it is rebooted if necessary.\n\n\nFor more information see: *Vcenter.Vm.Tools.UpgradePolicy*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` the upgrade policy will not be modified." + } + }, + "description": "The (@name UpdateSpec} schema describes the VMware Tools properties of a virtual machine that can be updated.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Compute.Policies.Info": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The compliance status of the policy on a specified object.\n\nPossible values:\n - `UNKNOWN`: The object has an unknown compliance state.\n - `NOT_APPLICABLE`: The object is in a state for which the policy does not apply.\n - `COMPLIANT`: The policy is in compliance on the object.\n - `NOT_COMPLIANT`: The policy is not in compliance on the object.\n\n\nFor more information see: *Vcenter.Compute.Policies.ObjectCompliance*.\n\nThis property was added in __vSphere API 7.0.3.0__." + } + }, + "description": "The Vcenter.Vm.Compute.Policies.Info schema contains information about the compliance of a virtual machine with a compute policy.\n\nThis schema was added in __vSphere API 7.0.3.0__." + }, + "Vcenter.Vm.Console.Tickets.Type": { + "type": "string", + "description": "The Vcenter.Vm.Console.Tickets.Type enumerated type defines the types of console tickets.\n\nPossible values:\n - `VMRC`: Virtual machine remote console ticket\n\nThis constant was added in __vSphere API 7.0.0.2__.\n - `WEBMKS`: Web socket console ticket\n\n\nThis enumeration was added in __vSphere API 7.0.0.2__.", + "enum": [ + "VMRC", + "WEBMKS" + ] + }, + "Vcenter.Vm.Console.Tickets.CreateSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of virtual machine console ticket\n\nPossible values:\n - `VMRC`: Virtual machine remote console ticket\n\nThis constant was added in __vSphere API 7.0.0.2__.\n - `WEBMKS`: Web socket console ticket\n\n\nFor more information see: *Vcenter.Vm.Console.Tickets.Type*.\n\nThis property was added in __vSphere API 7.0.0.2__." + } + }, + "description": "The Vcenter.Vm.Console.Tickets.CreateSpec schema defines the information used to create the virtual machine console ticket.\n\nThis schema was added in __vSphere API 7.0.0.2__." + }, + "Vcenter.Vm.Console.Tickets.Summary": { + "required": [ + "ticket" + ], + "type": "object", + "properties": { + "ticket": { + "type": "string", + "description": "Console ticket URI\n\nThis property was added in __vSphere API 7.0.0.2__.", + "format": "uri" + } + }, + "description": "The Vcenter.Vm.Console.Tickets.Summary schema contains commonly used information about the virtual machine console ticket.\n\nThis schema was added in __vSphere API 7.0.0.2__." + }, + "Vcenter.Vm.Guest.Credentials": { + "required": [ + "interactive_session", + "type" + ], + "type": "object", + "properties": { + "interactive_session": { + "type": "boolean", + "description": "If set, the operation will interact with the logged-in desktop session in the guest. This requires that the logged-on user matches the user specified by the *Vcenter.Vm.Guest.Credentials*. This is currently only supported for *Vcenter.Vm.Guest.Credentials.Type.USERNAME_PASSWORD*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "type": { + "type": "string", + "description": "The guest credentials type\n\nPossible values:\n - `USERNAME_PASSWORD`: USERNAME_PASSWORD credentials contains the information necessary to authenticate within a guest using a username and password. This method of authentication is stateless. \n\n To use USERNAME_PASSWORD, populate userName and password with the appropriate login information. \n\n Once populated, you can use USERNAME_PASSWORD in any guest operations operation.\n - `SAML_BEARER_TOKEN`: SAML_BEARER_TOKEN contains the information necessary to authenticate within a guest using a SAML token. SAML Bearer token credentials relies on a guest alias that associates a guest account with the subject and certificate encoded in a SAML Bearer token obtained from the VMware SSO Server.\n\n\nFor more information see: *Vcenter.Vm.Guest.Credentials.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "user_name": { + "type": "string", + "description": "For *Vcenter.Vm.Guest.Credentials.Type.SAML_BEARER_TOKEN*, this is the guest user to be associated with the credentials. For *Vcenter.Vm.Guest.Credentials.Type.USERNAME_PASSWORD* this is the guest username.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf no user is specified for *Vcenter.Vm.Guest.Credentials.Type.SAML_BEARER_TOKEN*, a guest dependent mapping will decide what guest user account is applied." + }, + "password": { + "type": "string", + "description": "password\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Guest.Credentials.Type.USERNAME_PASSWORD*.", + "format": "password" + }, + "saml_token": { + "type": "string", + "description": "SAML Bearer Token\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Guest.Credentials.Type.SAML_BEARER_TOKEN*.", + "format": "password" + } + }, + "description": "The Vcenter.Vm.Guest.Credentials schema defines the guest credentials used for guest operation authentication.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Credentials.Type": { + "type": "string", + "description": "Types of guest credentials\n\nPossible values:\n - `USERNAME_PASSWORD`: USERNAME_PASSWORD credentials contains the information necessary to authenticate within a guest using a username and password. This method of authentication is stateless. \n\n To use USERNAME_PASSWORD, populate userName and password with the appropriate login information. \n\n Once populated, you can use USERNAME_PASSWORD in any guest operations operation.\n - `SAML_BEARER_TOKEN`: SAML_BEARER_TOKEN contains the information necessary to authenticate within a guest using a SAML token. SAML Bearer token credentials relies on a guest alias that associates a guest account with the subject and certificate encoded in a SAML Bearer token obtained from the VMware SSO Server.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "USERNAME_PASSWORD", + "SAML_BEARER_TOKEN" + ] + }, + "Vcenter.Vm.Guest.DnsAssignedValues": { + "required": [ + "domain_name", + "host_name" + ], + "type": "object", + "properties": { + "host_name": { + "type": "string", + "description": "The host name portion of DNS name. For example, \"esx01\" part of esx01.example.com.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "domain_name": { + "type": "string", + "description": "The domain name portion of the DNS name. \"example.com\" part of esx01.example.com.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The {@name DnsAssignedValues) {@term structure} describes values assigned by a Domain Name Server (DNS).\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.DnsConfigInfo": { + "required": [ + "ip_addresses", + "search_domains" + ], + "type": "object", + "properties": { + "ip_addresses": { + "type": "array", + "description": "The IP addresses of the DNS servers in order of use. IPv4 addresses are specified using dotted decimal notation. For example, \"192.0.2.1\". IPv6 addresses are 128-bit addresses represented as eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + }, + "search_domains": { + "type": "array", + "description": "The domain in which to search for hosts, placed in order of preference. These are the domain name portion of the DNS names.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Vm.Guest.DnsConfigInfo schema describes the configuration of RFC 1034 DNS settings.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.DhcpConfigInfo": { + "required": [ + "ipv4_enabled", + "ipv6_enabled" + ], + "type": "object", + "properties": { + "ipv4_enabled": { + "type": "boolean", + "description": "True if IPv4 DHCP is enabled, false otherwise.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "ipv6_enabled": { + "type": "boolean", + "description": "True if IPv6 DHCP is enabled, false otherwise.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Vm.Guest.DhcpConfigInfo schema specifies when Dynamic Host Configuration Protocol is enabled.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.Customization.SetSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the customization specification that has be retrieved from the virtual center inventory and applied for the virtual machine. Either one of name or spec or none of them should be specified.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` and spec is also missing or `null` when executing *PUT /vcenter/vm/{vm}/guest/customization* operation, then any pending customization for the virtual machine will be cleared." + }, + "spec": { + "description": "The customization specification that has to be applied for the virtual machine. Either one of name or spec or none of them should be specified.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` and name is also missing or `null` when executing *PUT /vcenter/vm/{vm}/guest/customization* operation, then any pending customization for the virtual machine will be cleared.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpec" + } + ] + } + }, + "description": "The Vcenter.Vm.Guest.Customization.SetSpec schema contains specification information that has to be applied to a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.Customization.Info": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the customization operation.\n\nPossible values:\n - `IDLE`: No customization spec is applied to the guest operating system.\n\nThis constant was added in __vSphere API 7.0.3.0__.\n - `PENDING`: The customization process has not yet started inside the guest operating system.\n - `RUNNING`: The customization process is currently running inside the guest operating system.\n - `SUCCEEDED`: The customization process has completed successfully inside the guest operating system.\n - `FAILED`: The customizatio process has failed inside the guest operating system.\n\n\nFor more information see: *Vcenter.Vm.Guest.Customization.Info.Status*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "error": { + "type": "string", + "description": "Description of the error if the *Vcenter.Vm.Guest.Customization.Info.status* of customization operation is *Vcenter.Vm.Guest.Customization.Info.Status.FAILED*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if the status is not FAILED or there is no information available for the error." + }, + "start_time": { + "type": "string", + "description": "Time when the customization process has started inside the guest operating system.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if the status is PENDING.", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the customization process has completed inside the guest operating system.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property will be missing or `null` if the status is not SUCCEEDED or FAILED.", + "format": "date-time" + } + }, + "description": "The Vcenter.Vm.Guest.Customization.Info schema contains the status of a customization operation applied to a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.Customization.Info.Status": { + "type": "string", + "description": "The Vcenter.Vm.Guest.Customization.Info.Status enumerated type defines the status values that can be reported for the customization operation.\n\nPossible values:\n - `IDLE`: No customization spec is applied to the guest operating system.\n\nThis constant was added in __vSphere API 7.0.3.0__.\n - `PENDING`: The customization process has not yet started inside the guest operating system.\n - `RUNNING`: The customization process is currently running inside the guest operating system.\n - `SUCCEEDED`: The customization process has completed successfully inside the guest operating system.\n - `FAILED`: The customizatio process has failed inside the guest operating system.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "IDLE", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ] + }, + "Vcenter.Vm.Guest.Customization.CheckInfo": { + "required": [ + "check_status" + ], + "type": "object", + "properties": { + "check_status": { + "type": "string", + "description": "The status of the customization check operation.\n\nPossible values:\n - `SUPPORTED`: Applying customization operation on a virtual machine is supported, a virtual machine is customizable.\n - `NOT_SUPPORTED`: Applying customization operation on a virtual machine is not supported, a virtual machine is not customizable.\n\n\nFor more information see: *Vcenter.Vm.Guest.Customization.CheckInfo.CheckStatus*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "supported_guest_os": { + "type": "boolean", + "description": "Whether or not the guest OS is supported by customization operation. If supported_guest_os is false in the status of a customization check operation, the virtual machine is not customizable due to the guest OS is not supported by customization operation.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the customization check operation has not reached the step of checking guest OS." + }, + "supported_power_state": { + "type": "boolean", + "description": "Whether or not customization operation is supported in the current power state. If supported_power_state is false in the status of a customization check operation, the virtual machine is not customizable due to customization operation is not supported in the current power state.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the customization check operation has not reached the step of checking power state." + } + }, + "description": "The Vcenter.Vm.Guest.Customization.CheckInfo schema contains the status of a customization check operation applied to a virtual machine.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Vm.Guest.Customization.CheckInfo.CheckStatus": { + "type": "string", + "description": "The Vcenter.Vm.Guest.Customization.CheckInfo.CheckStatus enumerated type defines the status values that can be reported for the customization check operation.\n\nPossible values:\n - `SUPPORTED`: Applying customization operation on a virtual machine is supported, a virtual machine is customizable.\n - `NOT_SUPPORTED`: Applying customization operation on a virtual machine is not supported, a virtual machine is not customizable.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "SUPPORTED", + "NOT_SUPPORTED" + ] + }, + "Vcenter.Vm.Guest.CustomizationLive.GuestAuthentication": { + "required": [ + "password", + "user_name" + ], + "type": "object", + "properties": { + "user_name": { + "type": "string", + "description": "The guest username\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "password": { + "type": "string", + "description": "The guest password\n\nThis property was added in __vSphere API 9.0.0.0__.", + "format": "password" + } + }, + "description": "The Vcenter.Vm.Guest.CustomizationLive.GuestAuthentication schema contains the information necessary to authenticate within a guest using a userName and password.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Vm.Guest.CustomizationLive.RunSpec": { + "required": [ + "auth" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the customization specification that has been retrieved from the virtual center inventory and applied for the virtual machine. Either name or spec should be specified, name and spec can not be missing or `null` at the same time. If both name and spec are specified, name will be used by default.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif spec is missing or `null` when executing *POST /vcenter/vm/{vm}/guest/customization-live?action=run* operation, then name should be specified.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`." + }, + "spec": { + "description": "The customization specification that has to be applied for the virtual machine. Either name or spec should be specified. name and spec can not be missing or `null` at the same time. If name and spec are specified, name will be used by default.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nif name is missing or `null` when executing *POST /vcenter/vm/{vm}/guest/customization-live?action=run* operation, then spec should be specified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpec" + } + ] + }, + "auth": { + "description": "The guest authentication data.\n\nThis property was added in __vSphere API 9.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.CustomizationLive.GuestAuthentication" + } + ] + } + }, + "description": "The Vcenter.Vm.Guest.CustomizationLive.RunSpec schema contains specification information and authentication that have to be applied to a running virtual machine in the *POST /vcenter/vm/{vm}/guest/customization-live?action=run* operation \n\n name or spec only supports to be configured as *Vcenter.Guest.ConfigurationSpec.linux_config*, also the *Vcenter.Guest.LinuxConfiguration.script_text* is not supported yet.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Vm.Guest.CustomizationLive.Info": { + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The status of the customization operation.\n\nPossible values:\n - `NOT_AVAILABLE`: No customization spec has ever been applied to the guest operating system.\n - `RUNNING`: The customization process is currently running inside the guest operating system.\n - `SUCCEEDED`: The customization process has completed successfully inside the guest operating system.\n - `FAILED`: The customization process has failed inside the guest operating system.\n\n\nFor more information see: *Vcenter.Vm.Guest.CustomizationLive.Info.Status*.\n\nThis property was added in __vSphere API 9.0.0.0__." + }, + "error": { + "description": "Description of the error if the *Vcenter.Vm.Guest.CustomizationLive.Info.status* of customization operation is *Vcenter.Vm.Guest.CustomizationLive.Info.Status.FAILED*.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the status is not FAILED or there is no information available for the error.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "start_time": { + "type": "string", + "description": "Time when the customization process has started inside the guest operating system.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the status is NOT_AVAILABLE .", + "format": "date-time" + }, + "end_time": { + "type": "string", + "description": "Time when the customization process has completed inside the guest operating system.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property will be missing or `null` if the status is not SUCCEEDED or FAILED.", + "format": "date-time" + } + }, + "description": "The Vcenter.Vm.Guest.CustomizationLive.Info schema contains the status of a customization operation applied to a virtual machine.\n\nThis schema was added in __vSphere API 9.0.0.0__." + }, + "Vcenter.Vm.Guest.CustomizationLive.Info.Status": { + "type": "string", + "description": "The Vcenter.Vm.Guest.CustomizationLive.Info.Status enumerated type defines the status values that can be reported for the customization operation.\n\nPossible values:\n - `NOT_AVAILABLE`: No customization spec has ever been applied to the guest operating system.\n - `RUNNING`: The customization process is currently running inside the guest operating system.\n - `SUCCEEDED`: The customization process has completed successfully inside the guest operating system.\n - `FAILED`: The customization process has failed inside the guest operating system.\n\n\nThis enumeration was added in __vSphere API 9.0.0.0__.", + "enum": [ + "NOT_AVAILABLE", + "RUNNING", + "SUCCEEDED", + "FAILED" + ] + }, + "Vcenter.Vm.Guest.Identity.Info": { + "required": [ + "family", + "full_name", + "host_name", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Guest operating system identifier (short name).\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*.\n\nThis property was added in __vSphere API 6.7__." + }, + "family": { + "type": "string", + "description": "Guest operating system family.\n\nPossible values:\n - `WINDOWS`: Windows operating system\n - `LINUX`: Linux operating system\n - `NETWARE`: Novell Netware\n - `SOLARIS`: Solaris operating system\n - `DARWIN`: Mac OS operating system\n - `OTHER`: Other operating systems\n\n\nFor more information see: *Vcenter.Vm.GuestOSFamily*.\n\nThis property was added in __vSphere API 6.7__." + }, + "full_name": { + "description": "Guest operating system full name.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "host_name": { + "type": "string", + "description": "Hostname of the guest operating system.\n\nThis property was added in __vSphere API 6.7__." + }, + "ip_address": { + "type": "string", + "description": "IP address assigned by the guest operating system.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the guest does not have an IP address." + } + }, + "description": "The Vcenter.Vm.Guest.Identity.Info schema contains information describing the guest operating system identification.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Guest.LocalFilesystem.VirtualDiskMapping": { + "required": [ + "disk" + ], + "type": "object", + "properties": { + "disk": { + "type": "string", + "description": "The virtual disk.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "Describes the virtual disk backing a local guest disk.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.LocalFilesystem.Info": { + "required": [ + "capacity", + "free_space" + ], + "type": "object", + "properties": { + "capacity": { + "type": "integer", + "description": "Total capacity of the file system, in bytes.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "free_space": { + "type": "integer", + "description": "Free space on the file system, in bytes.\n\nThis property was added in __vSphere API 6.7__.", + "format": "int64" + }, + "filesystem": { + "type": "string", + "description": "Filesystem type, if known. For example, ext3 or NTFS.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nset if VMware Tools reports a value." + }, + "mappings": { + "type": "array", + "description": "VirtualDisks backing the guest partition, if known.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.LocalFilesystem.VirtualDiskMapping" + } + } + }, + "description": "The Vcenter.Vm.Guest.LocalFilesystem.Info schema contains information about a local file system configured in the guest operating system.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Guest.Networking.Info": { + "type": "object", + "properties": { + "dns_values": { + "description": "Client DNS values. Data assigned by DNS.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` no DNS assigned value exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.DnsAssignedValues" + } + ] + }, + "dns": { + "description": "Client DNS configuration. How DNS queries are resolved.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` no DNS assigned value exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.DnsConfigInfo" + } + ] + } + }, + "description": "The Vcenter.Vm.Guest.Networking.Info schema contains information about networking as configured in the guest operating system.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.Operations.Info": { + "required": [ + "guest_operations_ready", + "interactive_guest_operations_ready" + ], + "type": "object", + "properties": { + "guest_operations_ready": { + "type": "boolean", + "description": "Guest operations availability. Whether or not the virtual machine is ready to process guest operations.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "interactive_guest_operations_ready": { + "type": "boolean", + "description": "Interactive guest operations availability. Whether or not the virtual machine is ready to process interactive guest operations.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "Guest operating system operation status information.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Power.State": { + "type": "string", + "description": "Possible guest power states.\n\nPossible values:\n - `RUNNING`: The guest OS is running.\n - `SHUTTING_DOWN`: The guest OS is shutting down\n - `RESETTING`: The guest OS is resetting\n - `STANDBY`: The guest OS is in standby.\n - `NOT_RUNNING`: The guest OS is not running.\n - `UNAVAILABLE`: The guest OS power state is unknown.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "RUNNING", + "SHUTTING_DOWN", + "RESETTING", + "STANDBY", + "NOT_RUNNING", + "UNAVAILABLE" + ] + }, + "Vcenter.Vm.Guest.Power.Info": { + "required": [ + "operations_ready", + "state" + ], + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "The power state of the guest operating system.\n\nPossible values:\n - `RUNNING`: The guest OS is running.\n - `SHUTTING_DOWN`: The guest OS is shutting down\n - `RESETTING`: The guest OS is resetting\n - `STANDBY`: The guest OS is in standby.\n - `NOT_RUNNING`: The guest OS is not running.\n - `UNAVAILABLE`: The guest OS power state is unknown.\n\n\nFor more information see: *Vcenter.Vm.Guest.Power.State*.\n\nThis property was added in __vSphere API 6.7__." + }, + "operations_ready": { + "type": "boolean", + "description": "Flag indicating if the virtual machine is ready to process soft power operations.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "Information about the guest operating system power state.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Guest.Processes.ProcessErrorDetails": { + "required": [ + "pid" + ], + "type": "object", + "properties": { + "pid": { + "type": "integer", + "description": "The process associated with the error.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Guest.Processes.ProcessErrorDetails schema describes additional error information for process operations.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Processes.CreateSpec": { + "required": [ + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The absolute path to the program to start. \n\n For Linux guest operating systems, /bin/bash is used to start the program. \n\n For Solaris guest operating systems, if /bin/bash exists, its used to start the program, otherwise /bin/sh is used. If /bin/sh is used, then the process ID returned by *POST /vcenter/vm/{vm}/guest/processes?action=create* will be that of the shell used to start the program, rather than the program itself, due to the differences in how /bin/sh and /bin/bash work. This PID will still be usable for watching the process with *POST /vcenter/vm/{vm}/guest/processes?action=list* to find its exit code and elapsed time. \n\n For Windows, no shell is used. Using a simple batch file instead by prepending ```c:\\windows\\system32\\cmd.exe /c``` will allow stdio redirection to work if passed in the arguments parameter.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "arguments": { + "type": "string", + "description": "The arguments to the program. \n\n Characters which must be escaped to the shell should also be escaped in arguments. \n\n In Linux and Solaris guest operating systems, stdio redirection arguments may be used. \n\n For Windows, stdio redirection can be added to the arguments if path is prefixed with ```c:\\windows\\system32\\cmd.exe /c```.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` no arguments are passed to the program." + }, + "working_directory": { + "type": "string", + "description": "The absolute path of the working directory for the program to be run. VMware recommends explicitly setting the working directory for the program to be run.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\n If missing or `null` or is an empty string, the behavior depends on the guest operating system. For Linux guest operating systems, if missing or `null` or is an empty string, the working directory will be the home directory of the user associated with the guest authentication. For other guest operating systems, if missing or `null`, the behavior is unspecified." + }, + "environment_variables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of environment variables, specified using the guest OS rules (for example ```PATH, c:\\bin;c:\\windows\\system32``` or ```LD_LIBRARY_PATH,/usr/lib:/lib```), to be set for the program being run. Note that these are not additions to the default environment variables; they define the complete set available to the program.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the environment variables used are guest dependent defaults." + }, + "start_minimized": { + "type": "boolean", + "description": "Makes any program window start minimized in Windows operating systems. Returns an error if set for non-Windows guests.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nDefaults to false." + } + }, + "description": "The Vcenter.Vm.Guest.Processes.CreateSpec schema describes the arguments to *POST /vcenter/vm/{vm}/guest/processes?action=create*.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Processes.Info": { + "required": [ + "command", + "name", + "owner", + "started" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The process name.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "owner": { + "type": "string", + "description": "The process owner.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "command": { + "type": "string", + "description": "The full command line of the process.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "started": { + "type": "string", + "description": "The start time of the process.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "date-time" + }, + "finished": { + "type": "string", + "description": "If the process was started using *POST /vcenter/vm/{vm}/guest/processes?action=create* then the process completion time will be available if queried within 5 minutes after it completes.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nSet if the process was started with *POST /vcenter/vm/{vm}/guest/processes?action=create* and has recently exited.", + "format": "date-time" + }, + "exit_code": { + "type": "integer", + "description": "If the process was started using *POST /vcenter/vm/{vm}/guest/processes?action=create* then the process exit code will be available if queried within 5 minutes after it completes.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nSet if the process was started with *POST /vcenter/vm/{vm}/guest/processes?action=create* and has recently exited.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Guest.Processes.Info schema describes the state of a guest process.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Processes.Summary": { + "required": [ + "command", + "name", + "owner", + "pid", + "started" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The process name.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "pid": { + "type": "integer", + "description": "The process ID.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "int64" + }, + "owner": { + "type": "string", + "description": "The process owner.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "command": { + "type": "string", + "description": "The full command line of the process.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "started": { + "type": "string", + "description": "The start time of the process.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "date-time" + } + }, + "description": "The Vcenter.Vm.Guest.Processes.Summary schema describes the state of a guest process.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.ErrorReason": { + "type": "string", + "description": "The Vcenter.Vm.Guest.Filesystem.ErrorReason enumerated type defines the reasons a file or directory operation failed.\n\nPossible values:\n - `NOT_A_FILE`: An argument is not a file.\n - `NOT_A_DIRECTORY`: The argument is not a directory.\n - `PATH_TOO_LONG`: The file path is too long.\n - `FILE_NOT_FOUND`: The file is not found.\n - `FILE_TOO_LARGE`: The file is too large.\n - `NO_DISK_SPACE`: There is insufficient disk space.\n - `DIRECTORY_NOT_EMPTY`: Directory not empty.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "NOT_A_FILE", + "NOT_A_DIRECTORY", + "PATH_TOO_LONG", + "FILE_NOT_FOUND", + "FILE_TOO_LARGE", + "NO_DISK_SPACE", + "DIRECTORY_NOT_EMPTY" + ] + }, + "Vcenter.Vm.Guest.Filesystem.FileErrorDetails": { + "required": [ + "file_path", + "reason" + ], + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the error.\n\nPossible values:\n - `NOT_A_FILE`: An argument is not a file.\n - `NOT_A_DIRECTORY`: The argument is not a directory.\n - `PATH_TOO_LONG`: The file path is too long.\n - `FILE_NOT_FOUND`: The file is not found.\n - `FILE_TOO_LARGE`: The file is too large.\n - `NO_DISK_SPACE`: There is insufficient disk space.\n - `DIRECTORY_NOT_EMPTY`: Directory not empty.\n\n\nFor more information see: *Vcenter.Vm.Guest.Filesystem.ErrorReason*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "file_path": { + "type": "string", + "description": "The file path associated with the error.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.FileErrorDetails schema describes additional error information for file and directory operations.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.FilesystemFamily": { + "type": "string", + "description": "The Vcenter.Vm.Guest.Filesystem.Files.FilesystemFamily enumerated type defines the types of guest operating fllesystem.\n\nPossible values:\n - `WINDOWS`: The guest OS is a Windows variant.\n - `POSIX`: Linux, Solaris, etc.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "WINDOWS", + "POSIX" + ] + }, + "Vcenter.Vm.Guest.Filesystem.Files.Type": { + "type": "string", + "description": "The Vcenter.Vm.Guest.Filesystem.Files.Type enumerated type defines the valid types of files.\n\nPossible values:\n - `FILE`: normal file\n - `DIRECTORY`: directory\n - `SYMLINK`: symbolic link\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "FILE", + "DIRECTORY", + "SYMLINK" + ] + }, + "Vcenter.Vm.Guest.Filesystem.Files.LastIterationStatus": { + "type": "string", + "description": "The last status for the iterator. A field of this type is returned as part of the result and indicates to the caller of the API whether it can continue to make requests for more data. The last status only reports on the state of the iteration at the time data was last returned. As a result, it not does guarantee if the next call will succeed in getting more data or not. Failures to retrieve results will be returned as Error responses. These last statuses are only returned when the iterator is operating as expected.\n\nPossible values:\n - `READY`: Iterator has more data pending and is ready to provide it. The caller can request the next page of data at any time. The number of results returned may be less than the requested size. In other words, the iterator may not fill the page. The iterator has returned at least 1 result.\n - `END_OF_DATA`: Iterator has finished iterating through its inventory. There are currently no more entities to return and the caller can terminate iteration. If the iterator returned some data, the marker may be set to allow the iterator to continue from where it left off when additional data does become available. This value is used to indicate that all available data has been returned by the iterator.\n\n\nThis enumeration was added in __vSphere API 7.0.2.0__.", + "enum": [ + "READY", + "END_OF_DATA" + ] + }, + "Vcenter.Vm.Guest.Filesystem.Files.WindowsFileAttributesInfo": { + "required": [ + "created", + "hidden", + "read_only" + ], + "type": "object", + "properties": { + "hidden": { + "type": "boolean", + "description": "The file is hidden.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "read_only": { + "type": "boolean", + "description": "The file is read-only.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "created": { + "type": "string", + "description": "The date and time the file was created.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "date-time" + } + }, + "description": "The {@name WindowsFileAttributesInfo) {@term structure} describes file attributes specific to Windows Guest operating systems.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.PosixFileAttributesInfo": { + "required": [ + "group", + "owner", + "permissions" + ], + "type": "object", + "properties": { + "owner": { + "type": "integer", + "description": "The owner ID.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "int64" + }, + "group": { + "type": "integer", + "description": "The group ID.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "int64" + }, + "permissions": { + "type": "string", + "description": "The file permissions in chmod(2) format. This property is presented as octal.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.PosixFileAttributesInfo schema describes information about file attributes specific to Posix Guest operating systems.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.FileAttributesInfo": { + "required": [ + "filesystem_family", + "last_accessed", + "last_modified" + ], + "type": "object", + "properties": { + "last_modified": { + "type": "string", + "description": "The date and time the file was last modified.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "date-time" + }, + "last_accessed": { + "type": "string", + "description": "The date and time the file was last accessed.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "date-time" + }, + "symlink_target": { + "type": "string", + "description": "The target for the file if it's a symbolic link. This is currently only set for Posix guest operating systems, but may be supported in the future on Windows guest operating systems that support symbolic links.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nSet if the file is a symbolic link." + }, + "filesystem_family": { + "type": "string", + "description": "The type of guest filesystem.\n\nPossible values:\n - `WINDOWS`: The guest OS is a Windows variant.\n - `POSIX`: Linux, Solaris, etc.\n\n\nFor more information see: *Vcenter.Vm.Guest.Filesystem.Files.FilesystemFamily*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "win_attributes": { + "description": "Windows-specific file information.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of filesystem_family is *Vcenter.Vm.Guest.Filesystem.Files.FilesystemFamily.WINDOWS*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.WindowsFileAttributesInfo" + } + ] + }, + "posix_attributes": { + "description": "Posix-specific file information.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nThis property is optional and it is only relevant when the value of filesystem_family is *Vcenter.Vm.Guest.Filesystem.Files.FilesystemFamily.POSIX*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.PosixFileAttributesInfo" + } + ] + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.FileAttributesInfo schema describes the attributes of a file in a guest operating system.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.WindowsFileAttributesUpdateSpec": { + "type": "object", + "properties": { + "hidden": { + "type": "boolean", + "description": "The file is hidden.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf {term unset} the value will not be changed." + }, + "read_only": { + "type": "boolean", + "description": "The file is read-only.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf {term unset} the value will not be changed." + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.WindowsFileAttributesUpdateSpec schema describes attributes that can be changed for a Windows file.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.PosixFileAttributesUpdateSpec": { + "type": "object", + "properties": { + "owner_id": { + "type": "integer", + "description": "The owner ID.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the value will not be changed.", + "format": "int64" + }, + "group_id": { + "type": "integer", + "description": "The group ID.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the value will not be changed.", + "format": "int64" + }, + "permissions": { + "type": "string", + "description": "The file permissions in chmod(2) format. This property is interpreted as octal.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the value will not be changed." + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.PosixFileAttributesUpdateSpec schema describes attributes that can be changed for a Posix file.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.FileAttributesUpdateSpec": { + "type": "object", + "properties": { + "last_modified": { + "type": "string", + "description": "The date and time the file was last modified.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the value will not be changed.", + "format": "date-time" + }, + "last_accessed": { + "type": "string", + "description": "The date and time the file was last accessed.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the value will not be changed.", + "format": "date-time" + }, + "windows": { + "description": "Windows-specific file update information.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nSet if the guest operating system is Windows.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.WindowsFileAttributesUpdateSpec" + } + ] + }, + "posix": { + "description": "Posix-specific file update information.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nSet if the guest operating system is Posix.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.PosixFileAttributesUpdateSpec" + } + ] + } + }, + "description": "File attributes used for updating an existing file with *POST /vcenter/vm/{vm}/guest/filesystem/files?action=update*\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.Info": { + "required": [ + "attributes", + "size", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of file.\n\nPossible values:\n - `FILE`: normal file\n - `DIRECTORY`: directory\n - `SYMLINK`: symbolic link\n\n\nFor more information see: *Vcenter.Vm.Guest.Filesystem.Files.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "size": { + "type": "integer", + "description": "The file size in bytes.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "int64" + }, + "attributes": { + "description": "Attributes of a file.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.FileAttributesInfo" + } + ] + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.Info schema describes a file or directory in the guest operating system. Returned by *POST /vcenter/vm/{vm}/guest/filesystem/files/{path}?action=get*.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.Summary": { + "required": [ + "filename", + "size", + "type" + ], + "type": "object", + "properties": { + "filename": { + "type": "string", + "description": "The name of the file or directory with any leading directories removed.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "type": { + "type": "string", + "description": "The type of file.\n\nPossible values:\n - `FILE`: normal file\n - `DIRECTORY`: directory\n - `SYMLINK`: symbolic link\n\n\nFor more information see: *Vcenter.Vm.Guest.Filesystem.Files.Type*.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "size": { + "type": "integer", + "description": "The file size in bytes.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.Summary schema describes a file or directory in the guest operating system returned by a *POST /vcenter/vm/{vm}/guest/filesystem/files?action=list* operation.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.IterationSpec": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "Specifies the maximum number of results to return.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` information about at most 50 files will be returned.", + "format": "int64" + }, + "index": { + "type": "integer", + "description": "Which result to start the list with. If this value exceeds the number of results, an empty list will be returned.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the start of the list of files will be returned.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.IterationSpec schema contains properties used to break results into pages when listing files. See *POST /vcenter/vm/{vm}/guest/filesystem/files?action=list*).\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.FilterSpec": { + "type": "object", + "properties": { + "match_pattern": { + "type": "string", + "description": "The perl-compatible regular expression used to filter the returned files.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the pattern __'.*'__ (match everything) is used." + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.FilterSpec schema contains information used to filter the results when listing files (see *POST /vcenter/vm/{vm}/guest/filesystem/files?action=list*).\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Files.ListResult": { + "required": [ + "files", + "status", + "total" + ], + "type": "object", + "properties": { + "files": { + "type": "array", + "description": "A list of *Vcenter.Vm.Guest.Filesystem.Files.Summary* schemas containing information for all the matching files.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Files.Summary" + } + }, + "total": { + "type": "integer", + "description": "The total number of results from the *POST /vcenter/vm/{vm}/guest/filesystem/files?action=list*. This is a hint to the user of the iterator regarding how many items are available to be retrieved. The total could change if the inventory of items are being changed.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "int64" + }, + "start_index": { + "type": "integer", + "description": "Positional index into the logical item list of the first item returned in the list of results. The first item in the logical item list has an index of 0. This is a hint to the user of the iterator regarding the logical position in the iteration. For example, this can be used to display to the user which page of the iteration is being shown. The total could change if the inventory of items are being changed.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` no items were returned.", + "format": "int64" + }, + "end_index": { + "type": "integer", + "description": "Positional index into the logical item list of the last item returned in the list of results. The first item in the logical item list has an index of 0. This is a hint to the user of the iterator regarding the logical position in the iteration. For example, this can be used to display to the user which page of the iteration is being shown. The total could change if the inventory of items are being changed.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` no items were returned.", + "format": "int64" + }, + "status": { + "type": "string", + "description": "The last status for the iterator that indicates whether any more results can be expected if the caller continues to make requests for more data using the iterator.\n\nPossible values:\n - `READY`: Iterator has more data pending and is ready to provide it. The caller can request the next page of data at any time. The number of results returned may be less than the requested size. In other words, the iterator may not fill the page. The iterator has returned at least 1 result.\n - `END_OF_DATA`: Iterator has finished iterating through its inventory. There are currently no more entities to return and the caller can terminate iteration. If the iterator returned some data, the marker may be set to allow the iterator to continue from where it left off when additional data does become available. This value is used to indicate that all available data has been returned by the iterator.\n\n\nFor more information see: *Vcenter.Vm.Guest.Filesystem.Files.LastIterationStatus*.\n\nThis property was added in __vSphere API 7.0.2.0__." + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Files.ListResult schema describes the results of a *POST /vcenter/vm/{vm}/guest/filesystem/files?action=list* operation.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Transfers.WindowsFileAttributesCreateSpec": { + "type": "object", + "properties": { + "hidden": { + "type": "boolean", + "description": "The file is hidden.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the file will not be hidden." + }, + "read_only": { + "type": "boolean", + "description": "The file is read-only.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the file will be writeable." + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Transfers.WindowsFileAttributesCreateSpec schema describes creation information about file attributes specific to Windows guest operating systems.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Transfers.PosixFileAttributesCreateSpec": { + "type": "object", + "properties": { + "owner_id": { + "type": "integer", + "description": "The owner ID. If this property is not specified when passing a *Vcenter.Vm.Guest.Filesystem.Transfers.PosixFileAttributesCreateSpec* object to *POST /vcenter/vm/{vm}/guest/filesystem?action=create*, the default value will be the owner Id of the user who invoked the file transfer operation.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nDefaults to uid of user invoking the operation.", + "format": "int64" + }, + "group_id": { + "type": "integer", + "description": "The group ID. If this property is not specified when passing a *Vcenter.Vm.Guest.Filesystem.Transfers.PosixFileAttributesCreateSpec* object to *POST /vcenter/vm/{vm}/guest/filesystem?action=create*, the default value will be the group Id of the user who invoked the file transfer operation.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nDefaults to gid of user invoking the operation.", + "format": "int64" + }, + "permissions": { + "type": "string", + "description": "The file permissions in chmod(2) format. If this property is not specified when passing a *Vcenter.Vm.Guest.Filesystem.Transfers.PosixFileAttributesCreateSpec* object to *POST /vcenter/vm/{vm}/guest/filesystem?action=create*, the file will be created with 0644 permissions. This property is interpreted as octal.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nDefaults to 0644." + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Transfers.PosixFileAttributesCreateSpec schema describes creation information about file attributes specific to Posix guest operating systems.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Transfers.FileCreationAttributes": { + "required": [ + "size" + ], + "type": "object", + "properties": { + "size": { + "type": "integer", + "description": "The size in bytes of the file to be transferred into the guest.\n\nThis property was added in __vSphere API 7.0.2.0__.", + "format": "int64" + }, + "overwrite": { + "type": "boolean", + "description": "Whether an existing file should be overwritten.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` any existing file will not be overwritten." + }, + "last_modified": { + "type": "string", + "description": "The date and time the file was last modified.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the value will be the time when the file is transferred into the guest.", + "format": "date-time" + }, + "last_accessed": { + "type": "string", + "description": "The date and time the file was last accessed.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null` the value will be the time when the file is transferred into the guest.", + "format": "date-time" + }, + "windows": { + "description": "Windows-specific file creation information.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Vm.Guest.Filesystem.Transfers.WindowsFileAttributesCreateSpec* with all properties missing or `null` which means the defaults are used. May only be set if the guest operating system is Windows.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Transfers.WindowsFileAttributesCreateSpec" + } + ] + }, + "posix": { + "description": "Posix-specific file creation information.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Vm.Guest.Filesystem.Transfers.PosixFileAttributesCreateSpec* with all properties missing or `null` which means the defaults are used. May only be set if the guest operating system is Posix.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Transfers.PosixFileAttributesCreateSpec" + } + ] + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Transfers.FileCreationAttributes schema describes file attributes used when transferring a file into the guest.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec": { + "required": [ + "path" + ], + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The complete destination path in the guest to transfer the file to or from the client. It cannot be a path to a directory or a symbolic link.\n\nThis property was added in __vSphere API 7.0.2.0__." + }, + "attributes": { + "description": "Details about the file to be transferred into the guest.\n\nThis property was added in __vSphere API 7.0.2.0__.\n\nMust be set if the file is being transferred to the guest. Must not be set if the file is being transferred from the guest.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Filesystem.Transfers.FileCreationAttributes" + } + ] + } + }, + "description": "The Vcenter.Vm.Guest.Filesystem.Transfers.CreateSpec schema describes the details of a file transfer operation.\n\nThis schema was added in __vSphere API 7.0.2.0__." + }, + "Vcenter.Vm.Guest.Networking.Interfaces.IpAddressOrigin": { + "type": "string", + "description": "The Vcenter.Vm.Guest.Networking.Interfaces.IpAddressOrigin enumerated type specifies how an IP address was obtained for an interface. See RFC 4293 IpAddressOriginTC.\n\nPossible values:\n - `OTHER`: Any other type of address configuration other than the below mentioned ones will fall under this category. For e.g., automatic address configuration for the link local address falls under this type.\n - `MANUAL`: The address is configured manually.\n - `DHCP`: The address is configured through dhcp.\n - `LINKLAYER`: The address is obtained through stateless autoconfiguration (autoconf). See RFC 4862, IPv6 Stateless Address Autoconfiguration.\n - `RANDOM`: The address is chosen by the system at random e.g., an IPv4 address within 169.254/16, or an RFC 3041 privacy address.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "OTHER", + "MANUAL", + "DHCP", + "LINKLAYER", + "RANDOM" + ] + }, + "Vcenter.Vm.Guest.Networking.Interfaces.IpAddressStatus": { + "type": "string", + "description": "The Vcenter.Vm.Guest.Networking.Interfaces.IpAddressStatus enumerated type defines the present status of an address on an interface. See RFC 4293 IpAddressStatusTC.\n\nPossible values:\n - `PREFERRED`: Indicates that this is a valid address.\n - `DEPRECATED`: Indicates that this is a valid but deprecated address that should no longer be used as a source address.\n - `INVALID`: Indicates that this isn't a valid address.\n - `INACCESSIBLE`: Indicates that the address is not accessible because interface is not operational.\n - `UNKNOWN`: Indicates that the status cannot be determined.\n - `TENTATIVE`: Indicates that the uniqueness of the address on the link is presently being verified.\n - `DUPLICATE`: Indicates the address has been determined to be non-unique on the link, this address will not be reachable.\n\n\nThis enumeration was added in __vSphere API 7.0.0.0__.", + "enum": [ + "PREFERRED", + "DEPRECATED", + "INVALID", + "INACCESSIBLE", + "UNKNOWN", + "TENTATIVE", + "DUPLICATE" + ] + }, + "Vcenter.Vm.Guest.Networking.Interfaces.IpAddressInfo": { + "required": [ + "ip_address", + "prefix_length", + "state" + ], + "type": "object", + "properties": { + "ip_address": { + "type": "string", + "description": "IPv4 address is specified using dotted decimal notation. For example, \"192.0.2.1\". IPv6 addresses are 128-bit addresses specified using eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "prefix_length": { + "type": "integer", + "description": "Denotes the length of a generic Internet network address prefix. Prefix length: the valid range of values is 0-32 for IPv4, and 0-128 for IPv6. A value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB), with all other bits set to 0. A value of zero is valid only if the calling context defines it.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "origin": { + "type": "string", + "description": "How this address was configured.\n\nPossible values:\n - `OTHER`: Any other type of address configuration other than the below mentioned ones will fall under this category. For e.g., automatic address configuration for the link local address falls under this type.\n - `MANUAL`: The address is configured manually.\n - `DHCP`: The address is configured through dhcp.\n - `LINKLAYER`: The address is obtained through stateless autoconfiguration (autoconf). See RFC 4862, IPv6 Stateless Address Autoconfiguration.\n - `RANDOM`: The address is chosen by the system at random e.g., an IPv4 address within 169.254/16, or an RFC 3041 privacy address.\n\n\nFor more information see: *Vcenter.Vm.Guest.Networking.Interfaces.IpAddressOrigin*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` the data was not available." + }, + "state": { + "type": "string", + "description": "The state of this ipAddress.\n\nPossible values:\n - `PREFERRED`: Indicates that this is a valid address.\n - `DEPRECATED`: Indicates that this is a valid but deprecated address that should no longer be used as a source address.\n - `INVALID`: Indicates that this isn't a valid address.\n - `INACCESSIBLE`: Indicates that the address is not accessible because interface is not operational.\n - `UNKNOWN`: Indicates that the status cannot be determined.\n - `TENTATIVE`: Indicates that the uniqueness of the address on the link is presently being verified.\n - `DUPLICATE`: Indicates the address has been determined to be non-unique on the link, this address will not be reachable.\n\n\nFor more information see: *Vcenter.Vm.Guest.Networking.Interfaces.IpAddressStatus*.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Vm.Guest.Networking.Interfaces.IpAddressInfo schema describes a specific IP Address.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.Networking.Interfaces.IpConfigInfo": { + "required": [ + "ip_addresses" + ], + "type": "object", + "properties": { + "ip_addresses": { + "type": "array", + "description": "IP addresses configured on the interface.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Networking.Interfaces.IpAddressInfo" + } + }, + "dhcp": { + "description": "Client side DHCP for an interface.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` the IP was not configured by DHCP.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.DhcpConfigInfo" + } + ] + } + }, + "description": "The Vcenter.Vm.Guest.Networking.Interfaces.IpConfigInfo schema describes the protocol version independent address reporting data object for network interfaces.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.Networking.Interfaces.Info": { + "type": "object", + "properties": { + "dns_values": { + "description": "Client DNS values. Data assigned by DNS.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` no DNS assigned value exists.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.DnsAssignedValues" + } + ] + }, + "mac_address": { + "type": "string", + "description": "MAC address of the adapter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` then not supported by the Guest OS." + }, + "dns": { + "description": "DNS configuration of the adapter. See *Vcenter.Vm.Guest.Networking.Info.dns* for system wide settings.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` then not assigned by the Guest OS.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.DnsConfigInfo" + } + ] + }, + "ip": { + "description": "IP configuration settings of the adapter\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` then not supported by the Guest OS.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Networking.Interfaces.IpConfigInfo" + } + ] + }, + "wins_servers": { + "type": "array", + "description": "The IP addresses of any WINS name servers for the adapter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` then not supported by the Guest OS.", + "items": { + "type": "string" + } + }, + "nic": { + "type": "string", + "description": "Link to the corresponding virtual device.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` then the interface is not backed by a virtual device.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + } + }, + "description": "The Vcenter.Vm.Guest.Networking.Interfaces.Info schema describes a virtual network adapter configured in the guest operating system.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Guest.Networking.Routes.Info": { + "required": [ + "network", + "prefix_length" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "IP Address of the destination IP network. IPv4 address is specified using dotted decimal notation. For example, \"192.0.2.1\". IPv6 addresses are 128-bit specified using as eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "prefix_length": { + "type": "integer", + "description": "The prefix length. For IPv4 the value range is 0-32. For IPv6 prefixLength is a decimal value range 0-128. The property represents the number of contiguous, higher-order bits of the address that make up the network portion of the IP address.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "gateway_address": { + "type": "string", + "description": "Where to send the packets for this route. Unicast IP Address of the next hop router. IPv4 address is specified using dotted decimal notation. For example, \"192.0.2.1\". IPv6 addresses are 128-bit specified using as eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` no gateway is set for the route." + }, + "interface_index": { + "type": "integer", + "description": "The network interface associated with this route. This is an index into the result of *GET /vcenter/vm/{vm}/guest/networking/interfaces* The index refers to the relative position of an element in a list. For example, an index of 0 refers to the first element in the list while an index of 1 refers to the second element.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nIf missing or `null` the route is not associated with a network interface.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Guest.Networking.Routes.Info schema describes an individual host, network or default destination network reachable through a gateway.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Hardware.ConnectionState": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.ConnectionState enumerated type defines the valid states for a removable device that is configured to be connected.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n", + "enum": [ + "CONNECTED", + "RECOVERABLE_ERROR", + "UNRECOVERABLE_ERROR", + "NOT_CONNECTED", + "UNKNOWN" + ] + }, + "Vcenter.Vm.Hardware.IdeAddressInfo": { + "required": [ + "master", + "primary" + ], + "type": "object", + "properties": { + "primary": { + "type": "boolean", + "description": "Flag specifying whether the device is attached to the primary or secondary IDE adapter of the virtual machine." + }, + "master": { + "type": "boolean", + "description": "Flag specifying whether the device is the master or slave device on the IDE adapter." + } + }, + "description": "The Vcenter.Vm.Hardware.IdeAddressInfo schema contains information about the address of a virtual device that is attached to a virtual IDE adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.ScsiAddressInfo": { + "required": [ + "bus", + "unit" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device is attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.ScsiAddressInfo schema contains information about the address of a virtual device that is attached to a virtual SCSI adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.SataAddressInfo": { + "required": [ + "bus", + "unit" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device is attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.SataAddressInfo schema contains information about the address of a virtual device that is attached to a virtual SATA adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.NvmeAddressInfo": { + "required": [ + "bus", + "unit" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device is attached.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.NvmeAddressInfo schema contains information about the address of a virtual device that is attached to a virtual NVMe adapter of a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.IdeAddressSpec": { + "type": "object", + "properties": { + "primary": { + "type": "boolean", + "description": "Flag specifying whether the device should be attached to the primary or secondary IDE adapter of the virtual machine.\n\nIf missing or `null`, the server will choose a adapter with an available connection. If no IDE connections are available, the request will be rejected." + }, + "master": { + "type": "boolean", + "description": "Flag specifying whether the device should be the master or slave device on the IDE adapter.\n\nIf missing or `null`, the server will choose an available connection type. If no IDE connections are available, the request will be rejected." + } + }, + "description": "The Vcenter.Vm.Hardware.IdeAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual IDE adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.ScsiAddressSpec": { + "required": [ + "bus" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.ScsiAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual SCSI adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.SataAddressSpec": { + "required": [ + "bus" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.SataAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual SATA adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.NvmeAddressSpec": { + "required": [ + "bus" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.NvmeAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual NVMe adapter of a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.ConnectionInfo": { + "required": [ + "allow_guest_control", + "start_connected", + "state" + ], + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.ConnectionInfo schema provides information about the state and configuration of a removable virtual device." + }, + "Vcenter.Vm.Hardware.ConnectionCreateSpec": { + "type": "object", + "properties": { + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.Vm.Hardware.ConnectionCreateSpec schema provides a specification for the configuration of a newly-created removable device." + }, + "Vcenter.Vm.Hardware.ConnectionUpdateSpec": { + "type": "object", + "properties": { + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.ConnectionUpdateSpec schema describes the updates to be made to the configuration of a removable virtual device." + }, + "Vcenter.Vm.Hardware.Boot.Type": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Boot.Type enumerated type defines the valid firmware types for a virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n", + "enum": [ + "BIOS", + "EFI" + ] + }, + "Vcenter.Vm.Hardware.Boot.NetworkProtocol": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Boot.NetworkProtocol enumerated type defines the valid network boot protocols supported when booting a virtual machine with *Vcenter.Vm.Hardware.Boot.Type.EFI* firmware over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "Vcenter.Vm.Hardware.Boot.Info": { + "required": [ + "delay", + "enter_setup_mode", + "retry", + "retry_delay", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Firmware type used by the virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Type*." + }, + "efi_legacy_boot": { + "type": "boolean", + "description": "Flag indicating whether to use EFI legacy boot mode.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Type.EFI*." + }, + "network_protocol": { + "type": "string", + "description": "Protocol to use when attempting to boot the virtual machine over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.NetworkProtocol*.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Type.EFI*." + }, + "delay": { + "type": "integer", + "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.", + "format": "int64" + }, + "retry": { + "type": "boolean", + "description": "Flag indicating whether the virtual machine will automatically retry the boot process after a failure." + }, + "retry_delay": { + "type": "integer", + "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when *Vcenter.Vm.Hardware.Boot.Info.retry* is true.", + "format": "int64" + }, + "enter_setup_mode": { + "type": "boolean", + "description": "Flag indicating whether the firmware boot process will automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode." + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.Info schema contains information about the virtual machine boot process." + }, + "Vcenter.Vm.Hardware.Boot.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Firmware type to be used by the virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Type*.\n\nIf missing or `null`, defaults to value that is recommended for the guest OS and is supported for the virtual hardware version." + }, + "efi_legacy_boot": { + "type": "boolean", + "description": "Flag indicating whether to use EFI legacy boot mode.\n\nIf missing or `null`, defaults to value that is recommended for the guest OS and is supported for the virtual hardware version." + }, + "network_protocol": { + "type": "string", + "description": "Protocol to use when attempting to boot the virtual machine over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.NetworkProtocol*.\n\nIf missing or `null`, defaults to a system defined default value." + }, + "delay": { + "type": "integer", + "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.\n\nIf missing or `null`, default value is 0.", + "format": "int64" + }, + "retry": { + "type": "boolean", + "description": "Flag indicating whether the virtual machine should automatically retry the boot process after a failure.\n\nIf missing or `null`, default value is false." + }, + "retry_delay": { + "type": "integer", + "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when *Vcenter.Vm.Hardware.Boot.Info.retry* is true.\n\nIf missing or `null`, default value is 10000.", + "format": "int64" + }, + "enter_setup_mode": { + "type": "boolean", + "description": "Flag indicating whether the firmware boot process should automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.CreateSpec schema describes settings used when booting a virtual machine." + }, + "Vcenter.Vm.Hardware.Boot.UpdateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Firmware type to be used by the virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Type*.\n\nIf missing or `null`, the value is unchanged." + }, + "efi_legacy_boot": { + "type": "boolean", + "description": "Flag indicating whether to use EFI legacy boot mode.\n\nIf missing or `null`, the value is unchanged." + }, + "network_protocol": { + "type": "string", + "description": "Protocol to use when attempting to boot the virtual machine over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.NetworkProtocol*.\n\nIf missing or `null`, the value is unchanged." + }, + "delay": { + "type": "integer", + "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "retry": { + "type": "boolean", + "description": "Flag indicating whether the virtual machine should automatically retry the boot process after a failure.\n\nIf missing or `null`, the value is unchanged." + }, + "retry_delay": { + "type": "integer", + "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when *Vcenter.Vm.Hardware.Boot.Info.retry* is true.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "enter_setup_mode": { + "type": "boolean", + "description": "Flag indicating whether the firmware boot process should automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.UpdateSpec schema describes the updates to the settings used when booting a virtual machine." + }, + "Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType enumerated type defines the valid types of host bus adapters that may be used for attaching a Cdrom to a virtual machine.\n\nPossible values:\n - `IDE`: Cdrom is attached to an IDE adapter.\n - `SATA`: Cdrom is attached to a SATA adapter.\n", + "enum": [ + "IDE", + "SATA" + ] + }, + "Vcenter.Vm.Hardware.Cdrom.BackingType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Cdrom.BackingType enumerated type defines the valid backing types for a virtual CD-ROM device.\n\nPossible values:\n - `ISO_FILE`: Virtual CD-ROM device is backed by an ISO file.\n - `HOST_DEVICE`: Virtual CD-ROM device is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual CD-ROM device is backed by a device on the client that is connected to the virtual machine console.\n", + "enum": [ + "ISO_FILE", + "HOST_DEVICE", + "CLIENT_DEVICE" + ] + }, + "Vcenter.Vm.Hardware.Cdrom.DeviceAccessType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Cdrom.DeviceAccessType enumerated type defines the valid device access types for a physical device packing of a virtual CD-ROM device.\n\nPossible values:\n - `EMULATION`: ATAPI or SCSI device emulation.\n - `PASSTHRU`: Raw passthru device access.\n - `PASSTHRU_EXCLUSIVE`: Raw passthru device access, with exclusive access to the device.\n", + "enum": [ + "EMULATION", + "PASSTHRU", + "PASSTHRU_EXCLUSIVE" + ] + }, + "Vcenter.Vm.Hardware.Cdrom.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual CD-ROM device.\n\nPossible values:\n - `ISO_FILE`: Virtual CD-ROM device is backed by an ISO file.\n - `HOST_DEVICE`: Virtual CD-ROM device is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual CD-ROM device is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.BackingType*." + }, + "iso_file": { + "type": "string", + "description": "Path of the image file backing the virtual CD-ROM device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.BackingType.ISO_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the host device backing the virtual CD-ROM device. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual CD-ROM device is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual CD-ROM device is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.BackingType.HOST_DEVICE*." + }, + "device_access_type": { + "type": "string", + "description": "Access type for the device backing.\n\nPossible values:\n - `EMULATION`: ATAPI or SCSI device emulation.\n - `PASSTHRU`: Raw passthru device access.\n - `PASSTHRU_EXCLUSIVE`: Raw passthru device access, with exclusive access to the device.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.DeviceAccessType*.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Cdrom.BackingType.HOST_DEVICE* or *Vcenter.Vm.Hardware.Cdrom.BackingType.CLIENT_DEVICE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.BackingInfo schema contains information about the physical resource backing a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cdrom.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual CD-ROM device.\n\nPossible values:\n - `ISO_FILE`: Virtual CD-ROM device is backed by an ISO file.\n - `HOST_DEVICE`: Virtual CD-ROM device is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual CD-ROM device is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.BackingType*." + }, + "iso_file": { + "type": "string", + "description": "Path of the image file that should be used as the virtual CD-ROM device backing.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.BackingType.ISO_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device that should be used as the virtual CD-ROM device backing.\n\nIf missing or `null`, the virtual CD-ROM device will be configured to automatically detect a suitable host device." + }, + "device_access_type": { + "type": "string", + "description": "Access type for the device backing.\n\nPossible values:\n - `EMULATION`: ATAPI or SCSI device emulation.\n - `PASSTHRU`: Raw passthru device access.\n - `PASSTHRU_EXCLUSIVE`: Raw passthru device access, with exclusive access to the device.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.DeviceAccessType*.\n\nIf missing or `null`, defaults to *Vcenter.Vm.Hardware.Cdrom.DeviceAccessType.EMULATION*." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.BackingSpec schema provides a specification of the physical resource backing a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cdrom.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device is attached.\n\nPossible values:\n - `IDE`: Cdrom is attached to an IDE adapter.\n - `SATA`: Cdrom is attached to a SATA adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType*." + }, + "label": { + "type": "string", + "description": "Device label." + }, + "ide": { + "description": "Address of device attached to a virtual IDE adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType.IDE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressInfo" + } + ] + }, + "sata": { + "description": "Address of device attached to a virtual SATA adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType.SATA*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressInfo" + } + ] + }, + "backing": { + "description": "Physical resource backing for the virtual CD-ROM device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.Info schema contains information about a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cdrom.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device should be attached.\n\nPossible values:\n - `IDE`: Cdrom is attached to an IDE adapter.\n - `SATA`: Cdrom is attached to a SATA adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType*.\n\nIf missing or `null`, guest-specific default values will be used" + }, + "ide": { + "description": "Address for attaching the device to a virtual IDE adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressSpec" + } + ] + }, + "sata": { + "description": "Address for attaching the device to a virtual SATA adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressSpec" + } + ] + }, + "backing": { + "description": "Physical resource backing for the virtual CD-ROM device.\n\nIf missing or `null`, defaults to automatic detection of a suitable host device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.CreateSpec schema provides a specification for the configuration of a newly-created virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cdrom.UpdateSpec": { + "type": "object", + "properties": { + "backing": { + "description": "Physical resource backing for the virtual CD-ROM device. \n\n This property may only be modified if the virtual machine is not powered on or the virtual CD-ROM device is not connected.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.UpdateSpec schema describes the updates to be made to the configuration of a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cdrom.Summary": { + "required": [ + "cdrom" + ], + "type": "object", + "properties": { + "cdrom": { + "type": "string", + "description": "Identifier of the virtual CD-ROM device.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.Summary schema contains commonly used information about a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cpu.Info": { + "required": [ + "cores_per_socket", + "count", + "hot_add_enabled", + "hot_remove_enabled" + ], + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "Number of CPU cores.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "Number of CPU cores per socket.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled." + }, + "hot_remove_enabled": { + "type": "boolean", + "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled." + } + }, + "description": "The Vcenter.Vm.Hardware.Cpu.Info schema contains CPU-related information about a virtual machine." + }, + "Vcenter.Vm.Hardware.Cpu.UpdateSpec": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "New number of CPU cores. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket. \n\n The supported range of CPU counts is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, the number of CPU cores may only be increased if *Vcenter.Vm.Hardware.Cpu.Info.hot_add_enabled* is true, and may only be decreased if *Vcenter.Vm.Hardware.Cpu.Info.hot_remove_enabled* is true.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "New number of CPU cores per socket. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled. \n\n This property may only be modified if the virtual machine is powered off.\n\nIf missing or `null`, the value is unchanged." + }, + "hot_remove_enabled": { + "type": "boolean", + "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled. \n\n This property may only be modified if the virtual machine is powered off.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Cpu.UpdateSpec schema describes the updates to be made to the CPU-related settings of a virtual machine." + }, + "Vcenter.Vm.Hardware.Disk.HostBusAdapterType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Disk.HostBusAdapterType enumerated type defines the valid types of host bus adapters that may be used for attaching a virtual storage device to a virtual machine.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n", + "enum": [ + "IDE", + "SCSI", + "SATA", + "NVME" + ] + }, + "Vcenter.Vm.Hardware.Disk.BackingType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Disk.BackingType enumerated type defines the valid backing types for a virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n", + "enum": [ + "VMDK_FILE" + ] + }, + "Vcenter.Vm.Hardware.Disk.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.BackingType*." + }, + "vmdk_file": { + "type": "string", + "description": "Path of the VMDK file backing the virtual disk.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.BackingType.VMDK_FILE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.BackingInfo schema contains information about the physical resource backing a virtual disk." + }, + "Vcenter.Vm.Hardware.Disk.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.BackingType*." + }, + "vmdk_file": { + "type": "string", + "description": "Path of the VMDK file backing the virtual disk.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.BackingType.VMDK_FILE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.BackingSpec schema provides a specification of the physical resource backing a virtual disk." + }, + "Vcenter.Vm.Hardware.Disk.VmdkCreateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Base name of the VMDK file. The name should not include the '.vmdk' file extension.\n\nIf missing or `null`, a name (derived from the name of the virtual machine) will be chosen by the server." + }, + "capacity": { + "type": "integer", + "description": "Capacity of the virtual disk backing in bytes.\n\nIf missing or `null`, defaults to a guest-specific capacity.", + "format": "int64" + }, + "storage_policy": { + "description": "The Vcenter.Vm.Hardware.Disk.StoragePolicySpec schema contains information about the storage policy that is to be associated the with VMDK file.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the default storage policy of the target datastore (if applicable) is applied. Currently a default storage policy is only supported by object based datastores : VVol & vSAN. For non- object datastores, if missing or `null` then no storage policy would be associated with the VMDK file.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.StoragePolicySpec" + } + ] + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.VmdkCreateSpec schema provides a specification for creating a new VMDK file to be used as a backing for a virtual disk. The virtual disk will be stored in the same directory as the virtual machine's configuration file." + }, + "Vcenter.Vm.Hardware.Disk.Info": { + "required": [ + "backing", + "label", + "type" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device is attached.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.HostBusAdapterType*." + }, + "ide": { + "description": "Address of device attached to a virtual IDE adapter.\n\nWorkaround for PR1459646", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressInfo" + } + ] + }, + "scsi": { + "description": "Address of device attached to a virtual SCSI adapter.\n\nWorkaround for PR1459646", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressInfo" + } + ] + }, + "sata": { + "description": "Address of device attached to a virtual SATA adapter.\n\nWorkaround for PR1459646", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressInfo" + } + ] + }, + "nvme": { + "description": "Address of device attached to a virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.HostBusAdapterType.NVME*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.NvmeAddressInfo" + } + ] + }, + "backing": { + "description": "Physical resource backing for the virtual disk.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingInfo" + } + ] + }, + "capacity": { + "type": "integer", + "description": "Capacity of the virtual disk in bytes.\n\nIf missing or `null`, virtual disk is inaccessible or disk capacity is 0.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.Info schema contains information about a virtual disk." + }, + "Vcenter.Vm.Hardware.Disk.StoragePolicySpec": { + "required": [ + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the storage policy which should be associated with the VMDK file.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.StoragePolicySpec schema contains information about the storage policy be associated with a VMDK file.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Hardware.Disk.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device should be attached.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.HostBusAdapterType*.\n\nIf missing or `null`, guest-specific default values will be used" + }, + "ide": { + "description": "Address for attaching the device to a virtual IDE adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressSpec" + } + ] + }, + "scsi": { + "description": "Address for attaching the device to a virtual SCSI adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressSpec" + } + ] + }, + "sata": { + "description": "Address for attaching the device to a virtual SATA adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressSpec" + } + ] + }, + "nvme": { + "description": "Address for attaching the device to a virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.NvmeAddressSpec" + } + ] + }, + "backing": { + "description": "Existing physical resource backing for the virtual disk. Exactly one of backing or new_vmdk must be specified.\n\nIf missing or `null`, the virtual disk will not be connected to an existing backing.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingSpec" + } + ] + }, + "new_vmdk": { + "description": "Specification for creating a new VMDK backing for the virtual disk. Exactly one of backing or new_vmdk must be specified.\n\nIf missing or `null`, a new VMDK backing will not be created.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.VmdkCreateSpec" + } + ] + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.CreateSpec schema provides a specification for the configuration of a newly-created virtual disk." + }, + "Vcenter.Vm.Hardware.Disk.UpdateSpec": { + "type": "object", + "properties": { + "backing": { + "description": "Physical resource backing for the virtual disk. \n\n This property may only be modified if the virtual machine is not powered on.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingSpec" + } + ] + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.UpdateSpec schema describes the updates to be made to the configuration of a virtual disk." + }, + "Vcenter.Vm.Hardware.Disk.Summary": { + "required": [ + "disk" + ], + "type": "object", + "properties": { + "disk": { + "type": "string", + "description": "Identifier of the virtual Disk.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.Summary schema contains commonly used information about a virtual disk." + }, + "Vcenter.Vm.Hardware.Ethernet.EmulationType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Ethernet.EmulationType enumerated type defines the valid emulation types for a virtual Ethernet adapter.\n\nPossible values:\n - `E1000`: E1000 ethernet adapter.\n - `E1000E`: E1000e ethernet adapter.\n - `PCNET32`: AMD Lance PCNet32 Ethernet adapter.\n - `VMXNET`: VMware Vmxnet virtual Ethernet adapter.\n - `VMXNET2`: VMware Vmxnet2 virtual Ethernet adapter.\n - `VMXNET3`: VMware Vmxnet3 virtual Ethernet adapter.\n", + "enum": [ + "E1000", + "E1000E", + "PCNET32", + "VMXNET", + "VMXNET2", + "VMXNET3" + ] + }, + "Vcenter.Vm.Hardware.Ethernet.MacAddressType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Ethernet.MacAddressType enumerated type defines the valid MAC address origins for a virtual Ethernet adapter.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n", + "enum": [ + "MANUAL", + "GENERATED", + "ASSIGNED" + ] + }, + "Vcenter.Vm.Hardware.Ethernet.BackingType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Ethernet.BackingType enumerated type defines the valid backing types for a virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n", + "enum": [ + "STANDARD_PORTGROUP", + "HOST_DEVICE", + "DISTRIBUTED_PORTGROUP", + "OPAQUE_NETWORK" + ] + }, + "Vcenter.Vm.Hardware.Ethernet.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.BackingType*." + }, + "network": { + "type": "string", + "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nIf missing or `null`, the identifier of the network backing could not be determined.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "network_name": { + "type": "string", + "description": "Name of the standard portgroup backing the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.STANDARD_PORTGROUP*." + }, + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.HOST_DEVICE*." + }, + "distributed_switch_uuid": { + "type": "string", + "description": "UUID of the distributed virtual switch that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.DISTRIBUTED_PORTGROUP*." + }, + "distributed_port": { + "type": "string", + "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter.\n\nThis property will be missing or `null` if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected." + }, + "connection_cookie": { + "type": "integer", + "description": "Server-generated cookie that identifies the connection to the port. This cookie may be used to verify that the virtual machine is the rightful owner of the port.\n\nThis property will be missing or `null` if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected.", + "format": "int64" + }, + "opaque_network_type": { + "type": "string", + "description": "Type of the opaque network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*." + }, + "opaque_network_id": { + "type": "string", + "description": "Identifier of the opaque network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.BackingInfo schema contains information about the physical resource backing a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Ethernet.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.BackingType*." + }, + "network": { + "type": "string", + "description": "Identifier of the network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Ethernet.BackingType.STANDARD_PORTGROUP*, *Vcenter.Vm.Hardware.Ethernet.BackingType.DISTRIBUTED_PORTGROUP*, or *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "distributed_port": { + "type": "string", + "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter. Depending on the type of the Portgroup, the port may be specified using this field. If the portgroup type is early-binding (also known as static), a port is assigned when the Ethernet adapter is configured to use the port. The port may be either automatically or specifically assigned based on the value of this property. If the portgroup type is ephemeral, the port is created and assigned to a virtual machine when it is powered on and the Ethernet adapter is connected. This property cannot be specified as no free ports exist before use.\n\nMay be used to specify a port when the network specified on the network property is a static or early binding distributed portgroup. If missing or `null`, the port will be automatically assigned to the Ethernet adapter based on the policy embodied by the portgroup type." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.BackingSpec schema provides a specification of the physical resource that backs a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Ethernet.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "mac_type", + "start_connected", + "state", + "type", + "wake_on_lan_enabled" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Ethernet adapter emulation type.\n\nPossible values:\n - `E1000`: E1000 ethernet adapter.\n - `E1000E`: E1000e ethernet adapter.\n - `PCNET32`: AMD Lance PCNet32 Ethernet adapter.\n - `VMXNET`: VMware Vmxnet virtual Ethernet adapter.\n - `VMXNET2`: VMware Vmxnet2 virtual Ethernet adapter.\n - `VMXNET3`: VMware Vmxnet3 virtual Ethernet adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.EmulationType*." + }, + "upt_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility is enabled on this virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "upt_v2_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicates whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "mac_type": { + "type": "string", + "description": "MAC address type.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*." + }, + "mac_address": { + "type": "string", + "description": "MAC address.\n\nMay be missing or `null` if *Vcenter.Vm.Hardware.Ethernet.Info.mac_type* is *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL* and has not been specified, or if *Vcenter.Vm.Hardware.Ethernet.Info.mac_type* is *Vcenter.Vm.Hardware.Ethernet.MacAddressType.GENERATED* and the virtual machine has never been powered on since the Ethernet adapter was created." + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + }, + "wake_on_lan_enabled": { + "type": "boolean", + "description": "Flag indicating whether wake-on-LAN is enabled on this virtual Ethernet adapter." + }, + "backing": { + "description": "Physical resource backing for the virtual Ethernet adapter.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.Info schema contains information about a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Ethernet.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Ethernet adapter emulation type.\n\nPossible values:\n - `E1000`: E1000 ethernet adapter.\n - `E1000E`: E1000e ethernet adapter.\n - `PCNET32`: AMD Lance PCNet32 Ethernet adapter.\n - `VMXNET`: VMware Vmxnet virtual Ethernet adapter.\n - `VMXNET2`: VMware Vmxnet2 virtual Ethernet adapter.\n - `VMXNET3`: VMware Vmxnet3 virtual Ethernet adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.EmulationType*.\n\nIf missing or `null`, defaults to a guest-specific type." + }, + "upt_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility is enabled on this virtual Ethernet adapter.\n\nIf missing or `null`, UPT will not be enabled on the newly-created virtual Ethernet adapter." + }, + "upt_v2_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter. To enable this feature, the network adapter must connect to a network backed by DPU (Data Processing Unit) and network offloading must be enabled on the network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, UPTv2 will not be enabled on the newly-created virtual Ethernet adapter." + }, + "mac_type": { + "type": "string", + "description": "MAC address type.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*.\n\nIf missing or `null`, defaults to *Vcenter.Vm.Hardware.Ethernet.MacAddressType.GENERATED*." + }, + "mac_address": { + "type": "string", + "description": "MAC address.\n\nWorkaround for PR1459647" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change when it the VM is started or as the device is hot added.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" + }, + "wake_on_lan_enabled": { + "type": "boolean", + "description": "Flag indicating whether wake-on-LAN is enabled on this virtual Ethernet adapter.\n\nDefaults to false if missing or `null`." + }, + "backing": { + "description": "Physical resource backing for the virtual Ethernet adapter.\n\nIf missing or `null`, the system may try to find an appropriate backing. If one is not found, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.CreateSpec schema provides a specification for the configuration of a newly-created virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Ethernet.UpdateSpec": { + "type": "object", + "properties": { + "upt_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility should be enabled on this virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged. Must be missing or `null` if the emulation type of the virtual Ethernet adapter is not *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "upt_v2_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicates whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter. To enable this feature, the network adapter must connect to a network backed by DPU (Data Processing Unit) and network offloading must be enabled on the network. This property can be only modified when virtual machine is powered off.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the value is unchanged. Must be missing or `null` if the emulation type of the virtual Ethernet adapter is not *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "mac_type": { + "type": "string", + "description": "MAC address type. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*.\n\nIf missing or `null`, the value is unchanged." + }, + "mac_address": { + "type": "string", + "description": "MAC address. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged. Must be specified if *Vcenter.Vm.Hardware.Ethernet.UpdateSpec.mac_type* is *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL*. Must be missing or `null` if the MAC address type is not *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL*." + }, + "wake_on_lan_enabled": { + "type": "boolean", + "description": "Flag indicating whether wake-on-LAN should be enabled on this virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "backing": { + "description": "Physical resource backing for the virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.UpdateSpec schema describes the updates to be made to the configuration of a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Ethernet.Summary": { + "required": [ + "nic" + ], + "type": "object", + "properties": { + "nic": { + "type": "string", + "description": "Identifier of the virtual Ethernet adapter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.Summary schema contains commonly used information about a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Floppy.BackingType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Floppy.BackingType enumerated type defines the valid backing types for a virtual floppy drive.\n\nPossible values:\n - `IMAGE_FILE`: Virtual floppy drive is backed by an image file.\n - `HOST_DEVICE`: Virtual floppy drive is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual floppy drive is backed by a device on the client that is connected to the virtual machine console.\n", + "enum": [ + "IMAGE_FILE", + "HOST_DEVICE", + "CLIENT_DEVICE" + ] + }, + "Vcenter.Vm.Hardware.Floppy.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual floppy drive.\n\nPossible values:\n - `IMAGE_FILE`: Virtual floppy drive is backed by an image file.\n - `HOST_DEVICE`: Virtual floppy drive is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual floppy drive is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Floppy.BackingType*." + }, + "image_file": { + "type": "string", + "description": "Path of the image file backing the virtual floppy drive.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.IMAGE_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the host device backing the virtual floppy drive. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual floppy drive is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual floppy drive is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.HOST_DEVICE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Floppy.BackingInfo schema contains information about the physical resource backing a virtual floppy drive." + }, + "Vcenter.Vm.Hardware.Floppy.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual floppy drive.\n\nPossible values:\n - `IMAGE_FILE`: Virtual floppy drive is backed by an image file.\n - `HOST_DEVICE`: Virtual floppy drive is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual floppy drive is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Floppy.BackingType*." + }, + "image_file": { + "type": "string", + "description": "Path of the image file that should be used as the virtual floppy drive backing.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.IMAGE_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device that should be used as the virtual floppy drive backing.\n\nIf missing or `null`, the virtual floppy drive will be configured to automatically detect a suitable host device." + } + }, + "description": "The Vcenter.Vm.Hardware.Floppy.BackingSpec schema provides a specification of the physical resource backing a virtual floppy drive." + }, + "Vcenter.Vm.Hardware.Floppy.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "backing": { + "description": "Physical resource backing for the virtual floppy drive.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Floppy.Info schema contains information about a virtual floppy drive." + }, + "Vcenter.Vm.Hardware.Floppy.CreateSpec": { + "type": "object", + "properties": { + "backing": { + "description": "Physical resource backing for the virtual floppy drive.\n\nIf missing or `null`, defaults to automatic detection of a suitable host device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.Vm.Hardware.Floppy.CreateSpec schema provides a specification for the configuration of a newly-created virtual floppy drive." + }, + "Vcenter.Vm.Hardware.Floppy.UpdateSpec": { + "type": "object", + "properties": { + "backing": { + "description": "Physical resource backing for the virtual floppy drive. \n\n This property may only be modified if the virtual machine is not powered on or the virtual floppy drive is not connected.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Floppy.UpdateSpec schema describes the updates to be made to the configuration of a virtual floppy drive." + }, + "Vcenter.Vm.Hardware.Floppy.Summary": { + "required": [ + "floppy" + ], + "type": "object", + "properties": { + "floppy": { + "type": "string", + "description": "Identifier of the virtual floppy drive.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`." + } + }, + "description": "The Vcenter.Vm.Hardware.Floppy.Summary schema contains commonly used information about a virtual floppy drive." + }, + "Vcenter.Vm.Hardware.Memory.Info": { + "required": [ + "hot_add_enabled", + "size_mib" + ], + "type": "object", + "properties": { + "size_mib": { + "type": "integer", + "description": "Memory size in mebibytes.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding memory while the virtual machine is running is enabled. \n\n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running." + }, + "hot_add_increment_size_mib": { + "type": "integer", + "description": "Only set when *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true and the virtual machine is running.", + "format": "int64" + }, + "hot_add_limit_mib": { + "type": "integer", + "description": "The maximum amount of memory, in mebibytes, that can be added to a running virtual machine.\n\nOnly set when *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true and the virtual machine is running.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Memory.Info schema contains memory-related information about a virtual machine." + }, + "Vcenter.Vm.Hardware.Memory.UpdateSpec": { + "type": "object", + "properties": { + "size_mib": { + "type": "integer", + "description": "New memory size in mebibytes. \n\n The supported range of memory sizes is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, this value may only be changed if *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true, and the new memory size must satisfy the constraints specified by *Vcenter.Vm.Hardware.Memory.Info.hot_add_increment_size_MiB* and *Vcenter.Vm.Hardware.Memory.Info.hot_add_limit_MiB*.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding memory while the virtual machine is running should be enabled. \n\n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running. \n\n This property may only be modified if the virtual machine is not powered on.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Memory.UpdateSpec schema describes the updates to be made to the memory-related settings of a virtual machine." + }, + "Vcenter.Vm.Hardware.Parallel.BackingType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Parallel.BackingType enumerated type defines the valid backing types for a virtual parallel port.\n\nPossible values:\n - `FILE`: Virtual parallel port is backed by a file.\n - `HOST_DEVICE`: Virtual parallel port is backed by a device on the host where the virtual machine is running.\n", + "enum": [ + "FILE", + "HOST_DEVICE" + ] + }, + "Vcenter.Vm.Hardware.Parallel.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual parallel port.\n\nPossible values:\n - `FILE`: Virtual parallel port is backed by a file.\n - `HOST_DEVICE`: Virtual parallel port is backed by a device on the host where the virtual machine is running.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Parallel.BackingType*." + }, + "file": { + "type": "string", + "description": "Path of the file backing the virtual parallel port.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual parallel port. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual parallel port is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual parallel port is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.HOST_DEVICE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.BackingInfo schema contains information about the physical resource backing a virtual parallel port." + }, + "Vcenter.Vm.Hardware.Parallel.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual parallel port.\n\nPossible values:\n - `FILE`: Virtual parallel port is backed by a file.\n - `HOST_DEVICE`: Virtual parallel port is backed by a device on the host where the virtual machine is running.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Parallel.BackingType*." + }, + "file": { + "type": "string", + "description": "Path of the file that should be used as the virtual parallel port backing.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device that should be used as the virtual parallel port backing.\n\nIf missing or `null`, the virtual parallel port will be configured to automatically detect a suitable host device." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.BackingSpec schema provides a specification of the physical resource backing a virtual parallel port." + }, + "Vcenter.Vm.Hardware.Parallel.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "backing": { + "description": "Physical resource backing for the virtual parallel port.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.Info schema contains information about a virtual parallel port." + }, + "Vcenter.Vm.Hardware.Parallel.CreateSpec": { + "type": "object", + "properties": { + "backing": { + "description": "Physical resource backing for the virtual parallel port.\n\nIf missing or `null`, defaults to automatic detection of a suitable host device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.CreateSpec schema provides a specification for the configuration of a newly-created virtual parallel port." + }, + "Vcenter.Vm.Hardware.Parallel.UpdateSpec": { + "type": "object", + "properties": { + "backing": { + "description": "Physical resource backing for the virtual parallel port. \n\n This property may only be modified if the virtual machine is not powered on or the virtual parallel port is not connected.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.UpdateSpec schema describes the updates to be made to the configuration of a virtual parallel port." + }, + "Vcenter.Vm.Hardware.Parallel.Summary": { + "required": [ + "port" + ], + "type": "object", + "properties": { + "port": { + "type": "string", + "description": "Identifier of the virtual parallel port.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.Summary schema contains commonly used information about a virtual parallel port." + }, + "Vcenter.Vm.Hardware.Serial.BackingType": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Serial.BackingType enumerated type defines the valid backing types for a virtual serial port.\n\nPossible values:\n - `FILE`: Virtual serial port is backed by a file.\n - `HOST_DEVICE`: Virtual serial port is backed by a device on the host where the virtual machine is running.\n - `PIPE_SERVER`: Virtual serial port is backed by a named pipe server. The virtual machine will accept a connection from a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `PIPE_CLIENT`: Virtual serial port is backed by a named pipe client. The virtual machine will connect to the named pipe provided by a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `NETWORK_SERVER`: Virtual serial port is backed by a network server. This backing may be used to create a network-accessible serial port on the virtual machine, accepting a connection from a remote system.\n - `NETWORK_CLIENT`: Virtual serial port is backed by a network client. This backing may be used to create a network-accessible serial port on the virtual machine, initiating a connection to a remote system.\n", + "enum": [ + "FILE", + "HOST_DEVICE", + "PIPE_SERVER", + "PIPE_CLIENT", + "NETWORK_SERVER", + "NETWORK_CLIENT" + ] + }, + "Vcenter.Vm.Hardware.Serial.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual serial port.\n\nPossible values:\n - `FILE`: Virtual serial port is backed by a file.\n - `HOST_DEVICE`: Virtual serial port is backed by a device on the host where the virtual machine is running.\n - `PIPE_SERVER`: Virtual serial port is backed by a named pipe server. The virtual machine will accept a connection from a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `PIPE_CLIENT`: Virtual serial port is backed by a named pipe client. The virtual machine will connect to the named pipe provided by a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `NETWORK_SERVER`: Virtual serial port is backed by a network server. This backing may be used to create a network-accessible serial port on the virtual machine, accepting a connection from a remote system.\n - `NETWORK_CLIENT`: Virtual serial port is backed by a network client. This backing may be used to create a network-accessible serial port on the virtual machine, initiating a connection to a remote system.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Serial.BackingType*." + }, + "file": { + "type": "string", + "description": "Path of the file backing the virtual serial port.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Serial.BackingType.FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual serial port. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual serial port is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual serial port is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Serial.BackingType.HOST_DEVICE*." + }, + "pipe": { + "type": "string", + "description": "Name of the pipe backing the virtual serial port.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_CLIENT*." + }, + "no_rx_loss": { + "type": "boolean", + "description": "Flag that enables optimized data transfer over the pipe. When the value is true, the host buffers data to prevent data overrun. This allows the virtual machine to read all of the data transferred over the pipe with no data loss.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_CLIENT*." + }, + "network_location": { + "type": "string", + "description": "URI specifying the location of the network service backing the virtual serial port. \n - If *Vcenter.Vm.Hardware.Serial.BackingInfo.type* is *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_SERVER*, this property is the location used by clients to connect to this server. The hostname part of the URI should either be empty or should specify the address of the host on which the virtual machine is running.\n - If *Vcenter.Vm.Hardware.Serial.BackingInfo.type* is *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_CLIENT*, this property is the location used by the virtual machine to connect to the remote server.\n \n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_CLIENT*.", + "format": "uri" + }, + "proxy": { + "type": "string", + "description": "Proxy service that provides network access to the network backing. If set, the virtual machine initiates a connection with the proxy service and forwards the traffic to the proxy.\n\nIf missing or `null`, no proxy service is configured.", + "format": "uri" + } + }, + "description": "The Vcenter.Vm.Hardware.Serial.BackingInfo schema contains information about the physical resource backing a virtual serial port." + }, + "Vcenter.Vm.Hardware.Serial.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual serial port.\n\nPossible values:\n - `FILE`: Virtual serial port is backed by a file.\n - `HOST_DEVICE`: Virtual serial port is backed by a device on the host where the virtual machine is running.\n - `PIPE_SERVER`: Virtual serial port is backed by a named pipe server. The virtual machine will accept a connection from a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `PIPE_CLIENT`: Virtual serial port is backed by a named pipe client. The virtual machine will connect to the named pipe provided by a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `NETWORK_SERVER`: Virtual serial port is backed by a network server. This backing may be used to create a network-accessible serial port on the virtual machine, accepting a connection from a remote system.\n - `NETWORK_CLIENT`: Virtual serial port is backed by a network client. This backing may be used to create a network-accessible serial port on the virtual machine, initiating a connection to a remote system.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Serial.BackingType*." + }, + "file": { + "type": "string", + "description": "Path of the file backing the virtual serial port.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Serial.BackingType.FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual serial port. \n\n\n\nIf missing or `null`, the virtual serial port will be configured to automatically detect a suitable host device." + }, + "pipe": { + "type": "string", + "description": "Name of the pipe backing the virtual serial port.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_CLIENT*." + }, + "no_rx_loss": { + "type": "boolean", + "description": "Flag that enables optimized data transfer over the pipe. When the value is true, the host buffers data to prevent data overrun. This allows the virtual machine to read all of the data transferred over the pipe with no data loss.\n\nIf missing or `null`, defaults to false." + }, + "network_location": { + "type": "string", + "description": "URI specifying the location of the network service backing the virtual serial port. \n - If *Vcenter.Vm.Hardware.Serial.BackingSpec.type* is *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_SERVER*, this property is the location used by clients to connect to this server. The hostname part of the URI should either be empty or should specify the address of the host on which the virtual machine is running.\n - If *Vcenter.Vm.Hardware.Serial.BackingSpec.type* is *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_CLIENT*, this property is the location used by the virtual machine to connect to the remote server.\n \n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_CLIENT*.", + "format": "uri" + }, + "proxy": { + "type": "string", + "description": "Proxy service that provides network access to the network backing. If set, the virtual machine initiates a connection with the proxy service and forwards the traffic to the proxy.\n\nIf missing or `null`, no proxy service should be used.", + "format": "uri" + } + }, + "description": "The Vcenter.Vm.Hardware.Serial.BackingSpec schema provides a specification of the physical resource backing a virtual serial port." + }, + "Vcenter.Vm.Hardware.Serial.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state", + "yield_on_poll" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "yield_on_poll": { + "type": "boolean", + "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host." + }, + "backing": { + "description": "Physical resource backing for the virtual serial port.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Serial.Info schema contains information about a virtual serial port." + }, + "Vcenter.Vm.Hardware.Serial.CreateSpec": { + "type": "object", + "properties": { + "yield_on_poll": { + "type": "boolean", + "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host.\n\nIf missing or `null`, defaults to false." + }, + "backing": { + "description": "Physical resource backing for the virtual serial port.\n\nIf missing or `null`, defaults to automatic detection of a suitable host device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.Vm.Hardware.Serial.CreateSpec schema provides a specification for the configuration of a newly-created virtual serial port." + }, + "Vcenter.Vm.Hardware.Serial.UpdateSpec": { + "type": "object", + "properties": { + "yield_on_poll": { + "type": "boolean", + "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host. \n\n This property may be modified at any time, and changes applied to a connected virtual serial port take effect immediately.\n\nIf missing or `null`, the value is unchanged." + }, + "backing": { + "description": "Physical resource backing for the virtual serial port. \n\n This property may only be modified if the virtual machine is not powered on or the virtual serial port is not connected.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Serial.UpdateSpec schema describes the updates to be made to the configuration of a virtual serial port." + }, + "Vcenter.Vm.Hardware.Serial.Summary": { + "required": [ + "port" + ], + "type": "object", + "properties": { + "port": { + "type": "string", + "description": "Identifier of the virtual serial port.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`." + } + }, + "description": "The Vcenter.Vm.Hardware.Serial.Summary schema contains commonly used information about a virtual serial port." + }, + "Vcenter.Vm.Hardware.Adapter.Nvme.Info": { + "required": [ + "bus", + "label" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label.\n\nThis property was added in __vSphere API 7.0.0.1__." + }, + "bus": { + "type": "integer", + "description": "NVMe bus number.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the NVMe adapter on the PCI bus.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Nvme.Info schema contains information about a virtual NVMe adapter.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.Adapter.Nvme.CreateSpec": { + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "NVMe bus number.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available bus number; if none is available, the request will fail.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the NVMe adapter on the PCI bus.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Nvme.CreateSpec schema provides a specification for the configuration of a newly-created virtual NVMe adapter.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.Adapter.Nvme.Summary": { + "required": [ + "adapter" + ], + "type": "object", + "properties": { + "adapter": { + "type": "string", + "description": "Identifier of the virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Nvme.Summary schema contains commonly used information about a Virtual NVMe adapter.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.Adapter.Sata.Type": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Adapter.Sata.Type enumerated type defines the valid emulation types for a virtual SATA adapter.\n\nPossible values:\n - `AHCI`: AHCI host bus adapter.\n", + "enum": [ + "AHCI" + ] + }, + "Vcenter.Vm.Hardware.Adapter.Sata.Info": { + "required": [ + "bus", + "label", + "type" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `AHCI`: AHCI host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Sata.Type*." + }, + "bus": { + "type": "integer", + "description": "SATA bus number.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SATA adapter on the PCI bus.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Sata.Info schema contains information about a virtual SATA adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Sata.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `AHCI`: AHCI host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Sata.Type*.\n\nIf missing or `null`, a guest-specific default value will be used." + }, + "bus": { + "type": "integer", + "description": "SATA bus number.\n\nIf missing or `null`, the server will choose an available bus number; if none is available, the request will fail.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SATA adapter on the PCI bus.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Sata.CreateSpec schema provides a specification for the configuration of a newly-created virtual SATA adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Sata.Summary": { + "required": [ + "adapter" + ], + "type": "object", + "properties": { + "adapter": { + "type": "string", + "description": "Identifier of the virtual SATA adapter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Sata.Summary schema contains commonly used information about a Virtual SATA adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.Type": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.Type enumerated type defines the valid emulation types for a virtual SCSI adapter.\n\nPossible values:\n - `BUSLOGIC`: BusLogic host bus adapter.\n - `LSILOGIC`: LSI Logic host bus adapter.\n - `LSILOGICSAS`: LSI Logic SAS 1068 host bus adapter.\n - `PVSCSI`: Paravirtualized host bus adapter.\n", + "enum": [ + "BUSLOGIC", + "LSILOGIC", + "LSILOGICSAS", + "PVSCSI" + ] + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.Sharing": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.Sharing enumerated type defines the valid bus sharing modes for a virtual SCSI adapter.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n", + "enum": [ + "NONE", + "VIRTUAL", + "PHYSICAL" + ] + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.Info": { + "required": [ + "label", + "scsi", + "sharing", + "type" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `BUSLOGIC`: BusLogic host bus adapter.\n - `LSILOGIC`: LSI Logic host bus adapter.\n - `LSILOGICSAS`: LSI Logic SAS 1068 host bus adapter.\n - `PVSCSI`: Paravirtualized host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Type*." + }, + "scsi": { + "description": "Address of the SCSI adapter on the SCSI bus.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressInfo" + } + ] + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SCSI adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + }, + "sharing": { + "type": "string", + "description": "Bus sharing mode.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing*." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.Info schema contains information about a virtual SCSI adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `BUSLOGIC`: BusLogic host bus adapter.\n - `LSILOGIC`: LSI Logic host bus adapter.\n - `LSILOGICSAS`: LSI Logic SAS 1068 host bus adapter.\n - `PVSCSI`: Paravirtualized host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Type*.\n\nIf missing or `null`, a guest-specific default value will be used." + }, + "bus": { + "type": "integer", + "description": "SCSI bus number.\n\nIf missing or `null`, the server will choose an available bus number; if none is available, the request will fail.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SCSI adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" + }, + "sharing": { + "type": "string", + "description": "Bus sharing mode.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing*.\n\nIf missing or `null`, the adapter will default to *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing.NONE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.CreateSpec schema provides a specification for the configuration of a newly-created virtual SCSI adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.UpdateSpec": { + "type": "object", + "properties": { + "sharing": { + "type": "string", + "description": "Bus sharing mode. \n\n This property may only be modified if the virtual machine is not powered on.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing*.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.UpdateSpec schema describes the updates to be made to the configuration of a virtual SCSI adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.Summary": { + "required": [ + "adapter" + ], + "type": "object", + "properties": { + "adapter": { + "type": "string", + "description": "Identifier of the virtual SCSI adapter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.Summary schema contains commonly used information about a Virtual SCSI adapter." + }, + "Vcenter.Vm.Hardware.Boot.Device.Type": { + "type": "string", + "description": "The Vcenter.Vm.Hardware.Boot.Device.Type enumerated type defines the valid device types that may be used as bootable devices.\n\nPossible values:\n - `CDROM`: Virtual CD-ROM device.\n - `DISK`: Virtual disk device.\n - `ETHERNET`: Virtual Ethernet adapter.\n - `FLOPPY`: Virtual floppy drive.\n", + "enum": [ + "CDROM", + "DISK", + "ETHERNET", + "FLOPPY" + ] + }, + "Vcenter.Vm.Hardware.Boot.Device.EntryCreateSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Virtual Boot device type.\n\nPossible values:\n - `CDROM`: Virtual CD-ROM device.\n - `DISK`: Virtual disk device.\n - `ETHERNET`: Virtual Ethernet adapter.\n - `FLOPPY`: Virtual floppy drive.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Device.Type*." + } + }, + "description": "The schema Vcenter.Vm.Hardware.Boot.Device.EntryCreateSpec specifies a list of bootable virtual device classes. When a VM is being created and a list of Vcenter.Vm.Hardware.Boot.Device.EntryCreateSpec is specified, the boot order of the specific device instances are not specified in this schema. The boot order of the specific device instance will be the order in which the Ethernet and Disk devices appear in the nics and disks respectively." + }, + "Vcenter.Vm.Hardware.Boot.Device.Entry": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Virtual device type.\n\nPossible values:\n - `CDROM`: Virtual CD-ROM device.\n - `DISK`: Virtual disk device.\n - `ETHERNET`: Virtual Ethernet adapter.\n - `FLOPPY`: Virtual floppy drive.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Device.Type*." + }, + "nic": { + "type": "string", + "description": "Virtual Ethernet device. Ethernet device to use as boot device for this entry.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "disks": { + "type": "array", + "description": "Virtual disk device. List of virtual disks in boot order.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Device.Type.DISK*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.Device.Entry schema specifies a bootable virtual device class or specific bootable virtual device(s)." + }, + "Vcenter.Vm.Storage.Policy.VmHomePolicySpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Policy type to be used while performing update operation on the virtual machine home's directory.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy (see *Vcenter.Vm.Storage.Policy.VmHomePolicySpec.policy*).\n - `USE_DEFAULT_POLICY`: Use the default storage policy of the datastore.\n\n\nFor more information see: *Vcenter.Vm.Storage.Policy.VmHomePolicySpec.PolicyType*.\n\nThis property was added in __vSphere API 6.7__." + }, + "policy": { + "type": "string", + "description": "Storage Policy identification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Storage.Policy.VmHomePolicySpec.PolicyType.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + } + }, + "description": "The Vcenter.Vm.Storage.Policy.VmHomePolicySpec schema provides a specification for the storage policy to be associated with the virtual machine home's directory.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Storage.Policy.VmHomePolicySpec.PolicyType": { + "type": "string", + "description": "The Vcenter.Vm.Storage.Policy.VmHomePolicySpec.PolicyType enumerated type defines the choices for how to specify the policy to be associated with the virtual machine home's directory.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy (see *Vcenter.Vm.Storage.Policy.VmHomePolicySpec.policy*).\n - `USE_DEFAULT_POLICY`: Use the default storage policy of the datastore.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "USE_SPECIFIED_POLICY", + "USE_DEFAULT_POLICY" + ] + }, + "Vcenter.Vm.Storage.Policy.DiskPolicySpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Policy type to be used while performing update operation on the virtual disks.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy (see *Vcenter.Vm.Storage.Policy.DiskPolicySpec.policy*).\n - `USE_DEFAULT_POLICY`: Use the default storage policy of the datastore.\n\n\nFor more information see: *Vcenter.Vm.Storage.Policy.DiskPolicySpec.PolicyType*.\n\nThis property was added in __vSphere API 6.7__." + }, + "policy": { + "type": "string", + "description": "Storage Policy identification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Storage.Policy.DiskPolicySpec.PolicyType.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + } + }, + "description": "The Vcenter.Vm.Storage.Policy.DiskPolicySpec schema provides a specification for the storage policy to be associated with the virtual disks.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Storage.Policy.DiskPolicySpec.PolicyType": { + "type": "string", + "description": "The Vcenter.Vm.Storage.Policy.DiskPolicySpec enumerated type defines the choices for how to specify the policy to be associated with a virtual disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy (see *Vcenter.Vm.Storage.Policy.DiskPolicySpec.policy*).\n - `USE_DEFAULT_POLICY`: Use the default storage policy of the datastore.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "USE_SPECIFIED_POLICY", + "USE_DEFAULT_POLICY" + ] + }, + "Vcenter.Vm.Storage.Policy.UpdateSpec": { + "type": "object", + "properties": { + "vm_home": { + "description": "Storage policy to be used when reconfiguring the virtual machine home.\n\nThis property was added in __vSphere API 6.7__.\n\nif missing or `null` the current storage policy is retained.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.VmHomePolicySpec" + } + ] + }, + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.DiskPolicySpec" + }, + "description": "Storage policy or policies to be used when reconfiguring virtual machine disk.\n\nThis property was added in __vSphere API 6.7__.\n\nif missing or `null` the current storage policy is retained.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "The Vcenter.Vm.Storage.Policy.UpdateSpec schema describes the updates to be made to the storage policies associated with the virtual machine home and/or its virtual disks.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Storage.Policy.Info": { + "required": [ + "disks" + ], + "type": "object", + "properties": { + "vm_home": { + "type": "string", + "description": "Storage Policy associated with virtual machine home.\n\nThis property was added in __vSphere API 6.7__.\n\nIfmissing or `null`, the virtual machine's home directory doesn't have any storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + }, + "disks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Storage policies associated with virtual disks. The values in this map are storage policy identifiers. They will be identifiers for the resource type:com.vmware.vcenter.StoragePolicy If the map is empty, the virtual machine does not have any disks or its disks are not associated with a storage policy.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "The Vcenter.Vm.Storage.Policy.Info schema contains information about the storage policies associated with virtual machine's home directory and virtual hard disks.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Storage.Policy.Compliance.Info": { + "required": [ + "disks", + "overall_compliance" + ], + "type": "object", + "properties": { + "overall_compliance": { + "type": "string", + "description": "The overall compliance status of the virtual machine and all it's entities.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirements that apply to the datastore on which it is placed.\n - `OUT_OF_DATE`: The Compliance status becomes out-of-date when the profile associated with the entity is edited but not applied. The compliance status remains out-of-date until the edited policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Vm.Storage.Policy.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "vm_home": { + "description": "The storage policy compliance information *Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo* for the virtual machine's home directory.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the virtual machine home directory has no storage policy association.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo" + } + ] + }, + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo" + }, + "description": "The compliance information *Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo* for the virtual machine's virtual disks that are currently associated with a storage policy.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "The Vcenter.Vm.Storage.Policy.Compliance.Info schema contains information about the storage policy compliance of a virtual machine, including information about it's home directory and/or it's virtual disks.\n\nThis schema was added in __vSphere API 6.7__.", + "nullable": true + }, + "Vcenter.Vm.Storage.Policy.Compliance.Status": { + "type": "string", + "description": "The Vcenter.Vm.Storage.Policy.Compliance.Status enumerated type defines the storage compliance status of a virtual machine and its applicable entities.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirements that apply to the datastore on which it is placed.\n - `OUT_OF_DATE`: The Compliance status becomes out-of-date when the profile associated with the entity is edited but not applied. The compliance status remains out-of-date until the edited policy is applied to the entity.\n\n\nThis enumeration was added in __vSphere API 6.7__.", + "enum": [ + "COMPLIANT", + "NON_COMPLIANT", + "UNKNOWN_COMPLIANCE", + "NOT_APPLICABLE", + "OUT_OF_DATE" + ] + }, + "Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo": { + "required": [ + "check_time", + "failure_cause", + "status" + ], + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the compliance operation.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirements that apply to the datastore on which it is placed.\n - `OUT_OF_DATE`: The Compliance status becomes out-of-date when the profile associated with the entity is edited but not applied. The compliance status remains out-of-date until the edited policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Vm.Storage.Policy.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "check_time": { + "type": "string", + "description": "Date and time of the most recent compliance check.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" + }, + "policy": { + "type": "string", + "description": "Identifier of the storage policy associated with the virtual machine.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` SPBM is unable to retrieve or determine the associated policy, *Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo.failure_cause* is set in such cases.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + }, + "failure_cause": { + "type": "array", + "description": "The exception that caused the compliance check to fail. There can be more than one cause, since a policy can contain capabilities from multiple providers. If empty, it implies no failures while retrieving compliance.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo schema contains information about storage policy compliance associated with a virtual machine.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Storage.Policy.Compliance.CheckSpec": { + "required": [ + "vm_home" + ], + "type": "object", + "properties": { + "vm_home": { + "type": "boolean", + "description": "Invoke compliance check on the virtual machine home directory if set to true.\n\nThis property was added in __vSphere API 6.7__." + }, + "disks": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the virtual machine's virtual disks for which compliance should be checked.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, compliance check is invoked on all the associated disks.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Vm.Storage.Policy.Compliance.CheckSpec schema contains properties used to specify the entities on which the storage policy compliance check is to be invoked.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Tools.Installer.Info": { + "required": [ + "is_connected" + ], + "type": "object", + "properties": { + "is_connected": { + "type": "boolean", + "description": "Flag indicating whether the VMware Tools installer is mounted as a CD-ROM.\n\nThis property was added in __vSphere API 7.0.0.0__." + } + }, + "description": "The Vcenter.Vm.Tools.Installer.Info schema contains information about the VMWare Tools installer.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.VmTemplate.LibraryItems.Info": { + "required": [ + "cpu", + "disks", + "guest_os", + "memory", + "nics", + "vm_home_storage", + "vm_template" + ], + "type": "object", + "properties": { + "guest_os": { + "type": "string", + "description": "Configured guest operating system of the virtual machine template.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*.\n\nThis property was added in __vSphere API 6.8__." + }, + "cpu": { + "description": "CPU configuration of the virtual machine template.\n\nThis property was added in __vSphere API 6.8__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CpuInfo" + } + ] + }, + "memory": { + "description": "Memory configuration of the virtual machine template.\n\nThis property was added in __vSphere API 6.8__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.MemoryInfo" + } + ] + }, + "vm_home_storage": { + "description": "Storage information about the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.VmHomeStorageInfo" + } + ] + }, + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DiskInfo" + }, + "description": "Storage information about the virtual machine template's virtual disks.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "nics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.EthernetInfo" + }, + "description": "Information about the virtual machine template's virtual ethernet adapters.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "vm_template": { + "type": "string", + "description": "Identifier of the latest virtual machine template contained in the library item. This property is the managed object identifier used to identify the virtual machine template in the vSphere Management (SOAP) API.\n\nThis property was added in __vSphere API 6.8__." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.Info schema contains information about a virtual machine template item in content library.\n\nThis schema was added in __vSphere API 6.8__.", + "nullable": true + }, + "Vcenter.VmTemplate.LibraryItems.CreateSpec": { + "required": [ + "library", + "name", + "source_vm" + ], + "type": "object", + "properties": { + "source_vm": { + "type": "string", + "description": "Identifier of the source virtual machine to create the library item from.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "name": { + "type": "string", + "description": "Name of the library item.\n\nThis property was added in __vSphere API 6.8__." + }, + "description": { + "type": "string", + "description": "Description of the library item.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the newly created library item has the same description as the source virtual machine." + }, + "library": { + "type": "string", + "description": "Identifier of the library in which the new library item should be created.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "vm_home_storage": { + "description": "Storage location for the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual machine template's configuration and log files are placed on the default storage backing associated with the library specified by library.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStorage" + } + ] + }, + "disk_storage": { + "description": "Storage specification for the virtual machine template's disks.\n\nThis property was added in __vSphere API 6.8__.\n\nIf both disk_storage_overrides and disk_storage are missing or `null`, the virtual machine template's disks are placed in the default storage backing associated with the library specified by library. \n\n If disk_storage_overrides is missing or `null` and disk_storage is specified, all of the virtual machine template's disks are created with the storage spec specified by disk_storage. \n\n If disk_storage_overrides is specified and disk_storage is missing or `null`, disks with identifiers that are not in disk_storage_overrides are placed in the default storage backing associated with the library specified by library. \n\n If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage. ", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage" + } + ] + }, + "disk_storage_overrides": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage" + }, + "description": "Storage specification for individual disks in the virtual machine template. This is specified as a mapping between disk identifiers in the source virtual machine and their respective storage specifications.\n\nThis property was added in __vSphere API 6.8__.\n\nIf both disk_storage_overrides and disk_storage are missing or `null`, the virtual machine template's disks are placed in the default storage backing associated with the library specified by library. \n\n If disk_storage_overrides is missing or `null` and disk_storage is specified, all of the virtual machine template's disks are created with the storage spec specified by disk_storage. \n\n If disk_storage_overrides is specified and disk_storage is missing or `null`, disks with identifiers that are not in disk_storage_overrides are placed in the default storage backing associated with the library specified by library. \n\n If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage. \n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "placement": { + "description": "Information used to place the virtual machine template.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will place the virtual machine template on a suitable resource. \n\n If specified, each property will be used for placement. If the properties result in disjoint placement, the operation will fail. If the properties along with the placement values of the source virtual machine result in disjoint placement, the operation will fail. ", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpec schema defines the information required to create a library item containing a virtual machine template.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual machine template will be placed in the same folder as the source virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine template; if a resource pool cannot be chosen, the library item creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine template should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine template; if a host cannot be chosen, the library item creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the virtual machine template should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec schema contains information used to place a virtual machine template onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Policy type to be used when creating the virtual machine template's configuration and log files.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." + }, + "policy": { + "type": "string", + "description": "Identifier for the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy schema defines the storage policy specification for a virtual machine template's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy.Type": { + "type": "string", + "description": "Policy type for the virtual machine template's configuration and log files.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n\n\nThis enumeration was added in __vSphere API 6.8__.", + "enum": [ + "USE_SPECIFIED_POLICY" + ] + }, + "Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStorage": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore for the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n When storage_policy is also specified and is incompatible with the datastore, then the virtual machine template will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "description": "Storage policy for the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the virtual machine template's configuration and log files are created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStorage schema defines the storage specification for a virtual machine template's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Policy type to be used when creating a virtual machine template's disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." + }, + "policy": { + "type": "string", + "description": "Identifier for the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy schema defines the storage policy specification for a virtual machine template's disks.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy.Type": { + "type": "string", + "description": "Policy type for a virtual machine template's disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n\n\nThis enumeration was added in __vSphere API 6.8__.", + "enum": [ + "USE_SPECIFIED_POLICY" + ] + }, + "Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier for the datastore associated with a virtual machine template's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If storage_policy is also specified and is incompatible with the datastore, then the disk will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "description": "Storage policy for a virtual machine template's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the virtual machine template's disk is created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage schema defines the storage specification for a virtual machine template's disks.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpec": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__." + }, + "description": { + "type": "string", + "description": "Description of the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same description as the source library item." + }, + "vm_home_storage": { + "description": "Storage location for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine's configuration and log files are created with the same storage spec as the source virtual machine template's configuration and log files.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage" + } + ] + }, + "disk_storage": { + "description": "Storage specification for the deployed virtual machine's disks.\n\nThis property was added in __vSphere API 6.8__.\n\nIf both disk_storage_overrides and disk_storage are missing or `null`, the deployed virtual machine's disks are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item. \n\n If disk_storage_overrides is missing or `null` and disk_storage is specified, all of the deployed virtual machine's disks are created with the storage spec specified by disk_storage. \n\n If disk_storage_overrides is specified and disk_storage is missing or `null`, disks with identifiers that are not in disk_storage_overrides are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item. \n\n If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage. ", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage" + } + ] + }, + "disk_storage_overrides": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage" + }, + "description": "Storage specification for individual disks in the deployed virtual machine. This is specified as a mapping between disk identifiers in the source virtual machine template contained in the library item and their storage specifications.\n\nThis property was added in __vSphere API 6.8__.\n\nIf both disk_storage_overrides and disk_storage are missing or `null`, the deployed virtual machine's disks are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item. \n\n If disk_storage_overrides is missing or `null` and disk_storage is specified, all of the deployed virtual machine's disks are created with the storage spec specified by disk_storage. \n\n If disk_storage_overrides is specified and disk_storage is missing or `null`, disks with identifiers that are not in disk_storage_overrides are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item. \n\n If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage. \n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "placement": { + "description": "Information used to place the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will use the values from the source virtual machine template contained in the library item. \n\n If specified, each property will be used for placement. If the properties result in disjoint placement, the operation will fail. If the properties along with the placement values of the source virtual machine template result in disjoint placement, the operation will fail. ", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec" + } + ] + }, + "powered_on": { + "type": "boolean", + "description": "Specifies whether the deployed virtual machine should be powered on after deployment.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual machine will not be powered on after deployment." + }, + "guest_customization": { + "description": "Guest customization spec to apply to the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the guest operating system is not customized after deployment.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec" + } + ] + }, + "hardware_customization": { + "description": "Hardware customization spec which specifies updates to the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same hardware configuration as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec" + } + ] + }, + "tags": { + "type": "array", + "description": "List of tag parameters that contains information to attach tags while deploying a VM\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.TagSpec" + } + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpec schema defines the deployment parameters that can be specified for the deploy operation.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.TagSpec": { + "type": "object", + "properties": { + "tag_id": { + "type": "string", + "description": "The tag identifier of the vSphere tag. If this field is specified in addition to *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec*, then both tagId and *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec* must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec* must be specified." + }, + "tag_name_spec": { + "description": "Information about the name of the tag. If this field is specified in addition to *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id*, then both *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id* and tagNameSpec must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id* must be specified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.TagNameSpec" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.TagSpec schema contains information required to attach a tag while deploying a VM. \n\n Represents a tag specification with optional *Cis.Tagging.Tag* and/or *Vcenter.VmTemplate.LibraryItems.TagNameSpec*. The *Cis.Tagging.Tag* should already exist in vSphere, otherwise VM deployment will fail.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.VmTemplate.LibraryItems.TagNameSpec": { + "required": [ + "category_name", + "tag_name" + ], + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag to attach.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "category_name": { + "type": "string", + "description": "The name of the vSphere category that this tag belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "Represents a vSphere tag by its name and its respective category's name.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec": { + "type": "object", + "properties": { + "nics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec" + }, + "description": "Map of Ethernet network adapters to update.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, all Ethernet adapters will remain connected to the same network as they were in the source virtual machine template. An Ethernet adapter with a MacAddressType of MANUAL will not change. An Ethernet adapter with a MacAddressType of GENERATED or ASSIGNED will receive a new address.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "disks_to_remove": { + "uniqueItems": true, + "type": "array", + "description": "Idenfiers of disks to remove from the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, all disks will be copied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + }, + "disks_to_update": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec" + }, + "description": "Disk update specification for individual disks in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, disks in the deployed virtual machine will have the same settings as the corresponding disks in the source virtual machine template contained in the library item.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "cpu_update": { + "description": "CPU update specification for the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same CPU settings as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec" + } + ] + }, + "memory_update": { + "description": "Memory update specification for the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same memory settings as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec schema defines the hardware customization options that are applied to the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec": { + "required": [ + "capacity" + ], + "type": "object", + "properties": { + "capacity": { + "type": "integer", + "description": "Updated capacity of the virtual disk backing in bytes. This value has to be larger than the original capacity of the disk.\n\nThis property was added in __vSphere API 6.8__.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec schema describes updates to the configuration of a virtual disk in the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec": { + "type": "object", + "properties": { + "num_cpus": { + "type": "integer", + "description": "Number of virtual processors in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same CPU count as the source virtual machine template contained in the library item.", + "format": "int64" + }, + "num_cores_per_socket": { + "type": "integer", + "description": "Number of cores among which to distribute CPUs in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same number of cores per socket as the source virtual machine template contained in the library item.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec schema describes updates to the CPU configuration of the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec": { + "type": "object", + "properties": { + "memory": { + "type": "integer", + "description": "Size of a virtual machine's memory in MB.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same memory size as the source virtual machine template.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec schema describes updates to the memory configuration of the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec": { + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If missing or `null`, the virtual Ethernet adapter will be connected to same network as it was in the source virtual machine template. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "subnet": { + "type": "string", + "description": "The Identifier of the subnet the virtual ethernet adapter connects to. It is only set when the virtual network adapter is connected to a subnet. If set, this will take precedence over the *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.network* property. If missing or `null`, virtual network adapter will not be connected to a subnet\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec schema describes the network that the ethernet adapter of the deployed virtual machine should be connected to.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the deployed virtual machine should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If missing or `null`, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine deployment operation will fail. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the deployed virtual machine should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine deployment operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine deployment operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the deployed virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec schema contains information used to place a virtual machine onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Policy type to be used when creating the deployed virtual machine's configuration and log files.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the source virtual machine template's configuration and log files.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." + }, + "policy": { + "type": "string", + "description": "Identifier for the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy schema defines the storage policy specification for the deployed virtual machine's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type": { + "type": "string", + "description": "Policy type for the deployed virtual machine's configuration and log files.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the source virtual machine template's configuration and log files.\n\n\nThis enumeration was added in __vSphere API 6.8__.", + "enum": [ + "USE_SPECIFIED_POLICY", + "USE_SOURCE_POLICY" + ] + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n When storage_policy is also specified and is incompatible with the datastore, then the deployed virtual machine will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "description": "Storage policy for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the deployed virtual machine's configuration and log files are created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage schema defines the storage specification for a deployed virtual machine's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Policy type to be used when creating the deployed virtual machine's disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the corresponding disk in the source virtual machine template.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." + }, + "policy": { + "type": "string", + "description": "Identifier of the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy schema describes the storage policy specification for the deployed virtual machine's disks.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type": { + "type": "string", + "description": "Policy type for the deployed virtual machine's disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the corresponding disk in the source virtual machine template.\n\n\nThis enumeration was added in __vSphere API 6.8__.", + "enum": [ + "USE_SPECIFIED_POLICY", + "USE_SOURCE_POLICY" + ] + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier for the datastore associated the deployed virtual machine's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If storage_policy is also specified and is incompatible with the datastore, then the disk will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "description": "Storage policy for the deployed virtual machine's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the deployed virtual machine's disk is created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage schema contains the storage specification for disks in the virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the customization specification.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, no guest customization is performed." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec schema contains information required to customize the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CpuInfo": { + "required": [ + "cores_per_socket", + "count" + ], + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "Number of CPU cores.\n\nThis property was added in __vSphere API 6.8__.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "Number of CPU cores per socket.\n\nThis property was added in __vSphere API 6.8__.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CpuInfo schema contains CPU related information about the virtual machine template.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.MemoryInfo": { + "required": [ + "size_mib" + ], + "type": "object", + "properties": { + "size_mib": { + "type": "integer", + "description": "Memory size in mebibytes.\n\nThis property was added in __vSphere API 6.8__.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.MemoryInfo schema contains memory related information about the virtual machine template.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.VmHomeStorageInfo": { + "required": [ + "datastore" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore where the virtual machine template's configuration and log files are stored.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual machine template's configuration and log files do not have a storage policy associated with them.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.VmHomeStorageInfo schema contains storage information about the virtual machine template's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DiskInfo": { + "required": [ + "disk_storage" + ], + "type": "object", + "properties": { + "capacity": { + "type": "integer", + "description": "Capacity of the virtual disk in bytes.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property will be missing or `null` if the virtual disk is inaccessible.", + "format": "int64" + }, + "disk_storage": { + "description": "Disk storage related information.\n\nThis property was added in __vSphere API 6.8__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DiskStorageInfo" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DiskInfo schema contains information about the virtual machine template's virtual disk.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DiskStorageInfo": { + "required": [ + "datastore" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore where the disk is stored.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with the virtual disk.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual disk does not have a storage policy associated with it.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DiskStorageInfo schema contains storage related information about a virtual machine template's virtual disk.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.EthernetInfo": { + "required": [ + "backing_type", + "mac_type" + ], + "type": "object", + "properties": { + "backing_type": { + "type": "string", + "description": "Network backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.EthernetInfo.NetworkBackingType*.\n\nThis property was added in __vSphere API 6.8__." + }, + "mac_type": { + "type": "string", + "description": "MAC address type of the ethernet adapter.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.EthernetInfo.MacAddressType*.\n\nThis property was added in __vSphere API 6.8__." + }, + "network": { + "type": "string", + "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property will be missing or `null` if the identifier of the network backing could not be determined.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.EthernetInfo schema contains information about a virtual machine template's virtual Ethernet adapter.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.EthernetInfo.NetworkBackingType": { + "type": "string", + "description": "The Vcenter.VmTemplate.LibraryItems.EthernetInfo.NetworkBackingType enumerated type defines valid network backing types for a virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nThis enumeration was added in __vSphere API 6.8__.", + "enum": [ + "STANDARD_PORTGROUP", + "HOST_DEVICE", + "DISTRIBUTED_PORTGROUP", + "OPAQUE_NETWORK" + ] + }, + "Vcenter.VmTemplate.LibraryItems.EthernetInfo.MacAddressType": { + "type": "string", + "description": "The Vcenter.VmTemplate.LibraryItems.EthernetInfo.MacAddressType enumerated type defines the valid MAC address origins for a virtual Ethernet adapter.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nThis enumeration was added in __vSphere API 6.8__.", + "enum": [ + "MANUAL", + "GENERATED", + "ASSIGNED" + ] + }, + "Vcenter.VmTemplate.LibraryItems.CheckOuts.CheckOutSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the virtual machine to check out of the library item.\n\nThis property was added in __vSphere API 6.9.1__.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will choose a suitable name for the virtual machine." + }, + "placement": { + "description": "Information used to place the checked out virtual machine.\n\nThis property was added in __vSphere API 6.9.1__.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will place the virtual machine on a suitable resource. \n\n If specified, each property will be used for placement. If the properties result in disjoint placement, the operation will fail. If the properties along with the placement values of the source virtual machine template result in disjoint placement, the operation will fail. ", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CheckOuts.PlacementSpec" + } + ] + }, + "powered_on": { + "type": "boolean", + "description": "Specifies whether the virtual machine should be powered on after check out.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null`, the virtual machine will not be powered on after check out." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CheckOuts.CheckOutSpec schema defines the information required to check out a library item containing a virtual machine template.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.VmTemplate.LibraryItems.CheckOuts.PlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine should be placed.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null`, the virtual machine will be placed in the same folder as the source virtual machine template.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine should be placed.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. If host and resource_pool are both specified, resource_pool must belong to host. If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.9.1__.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the virtual machine should be placed. If cluster and resource_pool are both specified, resource_pool must belong to cluster. If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.9.1__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CheckOuts.PlacementSpec schema contains information used to place a checked out virtual machine onto resources within the vCenter inventory. The specified compute resource should have access to the storage associated with the checked out virtual machine.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.VmTemplate.LibraryItems.CheckOuts.CheckInSpec": { + "required": [ + "message" + ], + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message describing the changes made to the virtual machine.\n\nThis property was added in __vSphere API 6.9.1__." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CheckOuts.CheckInSpec schema defines the information required to check in a virtual machine into a library item.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.VmTemplate.LibraryItems.CheckOuts.Summary": { + "required": [ + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of the checked out virtual machine.\n\nThis property was added in __vSphere API 6.9.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CheckOuts.Summary schema contains commonly used information about a checked out virtual machine.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.VmTemplate.LibraryItems.CheckOuts.Info": { + "required": [ + "time", + "user" + ], + "type": "object", + "properties": { + "time": { + "type": "string", + "description": "Date and time when the virtual machine was checked out.\n\nThis property was added in __vSphere API 6.9.1__.", + "format": "date-time" + }, + "user": { + "type": "string", + "description": "Name of the user who checked out the virtual machine.\n\nThis property was added in __vSphere API 6.9.1__." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CheckOuts.Info schema contains information about a checked out virtual machine.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.VmTemplate.LibraryItems.Versions.Summary": { + "required": [ + "version", + "vm_template" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "The version of the library item.\n\nThis property was added in __vSphere API 6.9.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.item.Version`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.item.Version`." + }, + "vm_template": { + "type": "string", + "description": "Identifier of the virtual machine template associated with the library item version. This property is the managed object identifier used to identify the virtual machine template in the vSphere Management (SOAP) API.\n\nThis property was added in __vSphere API 6.9.1__." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.Versions.Summary schema contains commonly used information about a version of a library item containing a virtual machine template.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.VmTemplate.LibraryItems.Versions.Info": { + "required": [ + "vm_template" + ], + "type": "object", + "properties": { + "vm_template": { + "type": "string", + "description": "Identifier of the virtual machine template associated with the library item version. This property is the managed object identifier used to identify the virtual machine template in the vSphere Management (SOAP) API.\n\nThis property was added in __vSphere API 6.9.1__." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.Versions.Info schema contains information about a version of a library item containing a virtual machine template.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vcenter.VmTemplate.LibraryItems.Versions.RollbackSpec": { + "required": [ + "message" + ], + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message describing the reason for the rollback.\n\nThis property was added in __vSphere API 6.9.1__." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.Versions.RollbackSpec schema defines the information required to rollback a virtual machine template library item to a previous version.\n\nThis schema was added in __vSphere API 6.9.1__." + }, + "Vstats.QueryPredicate": { + "type": "string", + "description": "The Vstats.QueryPredicate enum describes how to query an id present in a Vstats.RsrcId.\n\nPossible values:\n - `EQUAL`: Matching id-s by equality.\n - `ALL`: Matching all available id-s.\n\n\n__Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "EQUAL", + "ALL" + ] + }, + "Vstats.CidMid": { + "required": [ + "cid" + ], + "type": "object", + "properties": { + "cid": { + "type": "string", + "description": "Counter Id. CID is a string with rather strong semantic consistency across deployments and versions. If two CIDs are identical it implies the corresponding counters are the same.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`." + }, + "mid": { + "type": "string", + "description": "MID is a 64-bit integer with strong consistency. Given a particular CID=cid, if two MIDs are the same, then the corresponding counter-metadata objects are same.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this property is missing or `null` vStats will use default for the counter metadata as obtained from the provider.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`." + } + }, + "description": "The Vstats.CidMid schema is used to designate a counter. It contains a counter id that identifies the semantical counter. There is optional metadata identifier that identifies the particular generation of the counter. When counter metadata is not designated vStats will use a default for the counter metadata.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.RsrcId": { + "required": [ + "id_value" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Key relates to the corresponding ResourceIdDefinition of the related resource address schema.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this property is missing or `null`, type property will be used." + }, + "type": { + "type": "string", + "description": "Type of the resource identified by the Resource Id.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this property is missing or `null`, in current version the api will throw InvalidArgument error. To be made optional in future." + }, + "id_value": { + "type": "string", + "description": "The id value binding the related resource id definition.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "predicate": { + "type": "string", + "description": "Predicate to use to match resource Ids.\n\nPossible values:\n - `EQUAL`: Matching id-s by equality.\n - `ALL`: Matching all available id-s.\n\n\nFor more information see: *Vstats.QueryPredicate*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this property is missing or `null`, default predicate is EQUAL." + }, + "scheme": { + "type": "string", + "description": "An optional designation of the scheme.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this property is missing or `null`, default scheme is moid (ManagedObject Identifier)." + } + }, + "description": "The Vstats.RsrcId schema specifies identification of a resource to be monitored by an acquisition specification record.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.UserInfo": { + "required": [ + "description", + "label" + ], + "type": "object", + "properties": { + "label": { + "description": "Short label.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "description": { + "description": "Detailed description of the object.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vstats.UserInfo schema contains human legible, localizable description, used for VMware provided objects.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.AcqSpecs.Status": { + "type": "string", + "description": "Describes the status of an Acquisition Specification.\n\nPossible values:\n - `ENABLED`: The acquisition specification is enabled when the stats data collection is going on.\n - `DISABLED`: The acquisition specification is disabled when the stats data collection is paused. This can happen when the counters are enabled or disabled dynamically on providers.\n - `EXPIRED`: The acquisition specification is expired when the expiration time is exceeded. There is no data collection in that case.\n\n\n__Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "ENABLED", + "DISABLED", + "EXPIRED" + ] + }, + "Vstats.AcqSpecs.CounterSpec": { + "type": "object", + "properties": { + "cid_mid": { + "description": "Counter and optional meatadata identifier.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the set_id field will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vstats.CidMid" + } + ] + }, + "set_id": { + "type": "string", + "description": "Counter set identifier\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the cid_mid field will be used.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.CounterSet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.CounterSet`." + } + }, + "description": "The Vstats.AcqSpecs.CounterSpec schema designates a counter or counter set in an acquisition specification.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.AcqSpecs.CreateSpec": { + "required": [ + "counters", + "resources" + ], + "type": "object", + "properties": { + "counters": { + "description": "Designates the counter(s) to be sampled.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vstats.AcqSpecs.CounterSpec" + } + ] + }, + "resources": { + "type": "array", + "description": "A set of resource identifiers representing a single resource to be monitored.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "items": { + "$ref": "#/components/schemas/Vstats.RsrcId" + } + }, + "interval": { + "type": "integer", + "description": "Desired sampling rate in seconds.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null` default of 10s will be used.", + "format": "int64" + }, + "expiration": { + "type": "integer", + "description": "Expiration time for this acquisition specification in Unix UTC number of seconds (since epoch).\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this property is missing or `null` or 0, default expiration duration is 100 minutes.", + "format": "int64" + }, + "memo_": { + "type": "string", + "description": "Consumer provided text about this acquisition specification.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null` default empty string will be used." + } + }, + "description": "The Vstats.AcqSpecs.CreateSpec schema contains information for a new data acquisition specification.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.AcqSpecs.Info": { + "required": [ + "counters", + "id", + "memo_", + "resources", + "status" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Acquisition specification identifier.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.AcqSpec`." + }, + "counters": { + "description": "Designates the counter(s) to be sampled.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "allOf": [ + { + "$ref": "#/components/schemas/Vstats.AcqSpecs.CounterSpec" + } + ] + }, + "resources": { + "type": "array", + "description": "A set of resource identifiers representing a single resource to be monitored.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "items": { + "$ref": "#/components/schemas/Vstats.RsrcId" + } + }, + "interval": { + "type": "integer", + "description": "Desired sampling rate in seconds.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this property is missing or `null`, default interval is 10 seconds.", + "format": "int64" + }, + "expiration": { + "type": "integer", + "description": "Expiration time for this acquisition specification represented as Unix UTC number of seconds (since epoch).\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this property is missing or `null` or 0, default expiration duration is 100 minutes.", + "format": "int64" + }, + "memo_": { + "type": "string", + "description": "Consumer provided text about this Acquisition Specification.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "status": { + "type": "string", + "description": "Acquisition Specification status.\n\nPossible values:\n - `ENABLED`: The acquisition specification is enabled when the stats data collection is going on.\n - `DISABLED`: The acquisition specification is disabled when the stats data collection is paused. This can happen when the counters are enabled or disabled dynamically on providers.\n - `EXPIRED`: The acquisition specification is expired when the expiration time is exceeded. There is no data collection in that case.\n\n\nFor more information see: *Vstats.AcqSpecs.Status*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + } + }, + "description": "The Vstats.AcqSpecs.Info schema is the information about an acquisition specification. It specifies the statistical data that should be collected at desired sampling rates. It designates the resources and their counters which should be sampled, and a desired sampling rate.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.AcqSpecs.ListResult": { + "required": [ + "acq_specs" + ], + "type": "object", + "properties": { + "acq_specs": { + "type": "array", + "description": "List of acquisition specifications received.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "items": { + "$ref": "#/components/schemas/Vstats.AcqSpecs.Info" + } + }, + "next": { + "type": "string", + "description": "The next property is a token used to retrieve paged data for larger result sets. This is opaque token generated by the server. It is to be sent in the *Vstats.AcqSpecs.FilterSpec.page* property to issue a subsequent call to the list operation for retrieving results that did not fit the current page.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nset when there are more results to retrieve." + } + }, + "description": "The Vstats.AcqSpecs.ListResult schema contains properties used to return the acquisition specifications.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.AcqSpecs.FilterSpec": { + "type": "object", + "properties": { + "page": { + "type": "string", + "description": "Used to retrieve paged data for larger result sets. The value of this token is generated by server and returned as `next` property in the result of list operations.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nmissing or `null` the first page of results will be returned." + } + }, + "description": "The Vstats.AcqSpecs.FilterSpec schema contains properties used to filter the results when listing acquisition specifications.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.AcqSpecs.UpdateSpec": { + "type": "object", + "properties": { + "counters": { + "description": "Designates the counter(s) to be sampled.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vstats.AcqSpecs.CounterSpec" + } + ] + }, + "resources": { + "type": "array", + "description": "A set of resource identifiers representing a single resource to be monitored.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null`, the value is unchanged.", + "items": { + "$ref": "#/components/schemas/Vstats.RsrcId" + } + }, + "interval": { + "type": "integer", + "description": "Desired sampling rate in seconds.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "expiration": { + "type": "integer", + "description": "Expiration time for this acquisition specification in Unix UTC number of seconds (since epoch). When this property is 0, the default expiration duration is 100 minutes.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "memo_": { + "type": "string", + "description": "Consumer provided text about this Acquisition Specification.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vstats.AcqSpecs.UpdateSpec schema contains properties that can be updated in an acquisition specification.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.CounterMetadata.CounterEditionStatus": { + "type": "string", + "description": "Counter metadata status.\n\nPossible values:\n - `DEFAULT`: The counter edition is current and is the default.\n - `CURRENT`: The counter edition is current. This implies a support commitment.\n - `DEPRECATED`: The counter edition is deprecated. It will be decommissioned rather soon.\n - `EXPERIMENTAL`: The counter edition is experimental. Consumers shouldn't rely on it for the long haul.\n - `REMOVED`: The counter edition was removed.\n\n\n__Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "DEFAULT", + "CURRENT", + "DEPRECATED", + "EXPERIMENTAL", + "REMOVED" + ] + }, + "Vstats.CounterMetadata.SampleType": { + "type": "string", + "description": "Type of the sampled data.\n\nPossible values:\n - `RAW`: Raw samples. The value unprocessed as-is sampled.\n - `ABSOLUTE`: Absolute value samples. Represents an actual value of the counter.\n - `FRACTION`: Fraction samples. Implies range from 0.00 to 1.00.\n - `RATE`: Rate samples. Represents a value that has been normalized over the time period.\n - `DELTA`: Delta samples. Represents an amount of change for the counter between the current time-stamp and the last time-stamp when the counter was sampled.\n - `LOGN`: Log(n) samples. A natural logarithm of the value.\n\n\n__Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "RAW", + "ABSOLUTE", + "FRACTION", + "RATE", + "DELTA", + "LOGN" + ] + }, + "Vstats.CounterMetadata.MetricUnits": { + "type": "string", + "description": "Unit used by a metric.\n\nPossible values:\n - `PERCENT`: Percent\n - `NUMBER`: Number\n - `SECOND`: Second\n - `HERTZ`: Hertz\n - `METER`: Meter\n - `METERSPERSECOND`: Meters per second\n - `METERSPERSECONDSQUARED`: Meters per second squared\n - `BYTE`: Byte\n - `BIT`: Bit\n - `BYTESPERSECOND`: Bytes per second\n - `BITSPERSECOND`: Bits per second\n - `KILOGRAM`: Kilogram\n - `GRAM`: Gram\n - `CELSIUS`: Celsius\n - `KELVIN`: Kelvin\n - `JOULE`: Joule\n - `WATT`: Watt\n - `VOLT`: Volt\n - `AMPERE`: Ampere\n - `VOLTAMPERE`: Volt Ampere\n - `CANDELA`: Candela\n - `MOLE`: Mole\n\n\n__Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "PERCENT", + "NUMBER", + "SECOND", + "HERTZ", + "METER", + "METERSPERSECOND", + "METERSPERSECONDSQUARED", + "BYTE", + "BIT", + "BYTESPERSECOND", + "BITSPERSECOND", + "KILOGRAM", + "GRAM", + "CELSIUS", + "KELVIN", + "JOULE", + "WATT", + "VOLT", + "AMPERE", + "VOLTAMPERE", + "CANDELA", + "MOLE" + ] + }, + "Vstats.CounterMetadata.UnitsFactor": { + "type": "string", + "description": "Unit factor of measurement.\n\nPossible values:\n - `YOTTA`: Yotta 10^24\n - `ZETTA`: Zetta 10^21\n - `EXA`: Exa 10^18\n - `PETA`: Peta 10^15\n - `TERA`: Tera 10^12\n - `GIGA`: Giga 10^9\n - `MEGA`: Mega 10^6\n - `KILO`: Kilo 10^3\n - `HECTO`: Hecto 10^2\n - `DECA`: Deca 10\n - `ONE`: One\n - `DECI`: Deci 10^-1\n - `CENTI`: Centi 10^-2\n - `MILLI`: Milli 10^-3\n - `MICRO`: Micro 10^-6\n - `NANO`: Nano 10^-9\n - `PIKO`: Pico 10^-12\n - `FEMTO`: Femto 10^-15\n - `ATTO`: Atto 10^-18\n - `ZEPTO`: Zepto 10^-21\n - `YOCTO`: Yocto 10^-24\n - `YOBI`: Yobi 2^80, 1024^8\n - `ZEBI`: Zebi 2^70, 1024^7\n - `EXBI`: Exbi 2^60, 1024^6\n - `PEBI`: Pebi 2^50, 1024^5\n - `TEBI`: Tebi 2^40, 1024^4\n - `GIBI`: Gibi 2^30, 1024^3\n - `MEBI`: Mebi 2^20, 1024^2\n - `KIBI`: Kibi 2^10, 1024\n\n\n__Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "YOTTA", + "ZETTA", + "EXA", + "PETA", + "TERA", + "GIGA", + "MEGA", + "KILO", + "HECTO", + "DECA", + "ONE", + "DECI", + "CENTI", + "MILLI", + "MICRO", + "NANO", + "PIKO", + "FEMTO", + "ATTO", + "ZEPTO", + "YOCTO", + "YOBI", + "ZEBI", + "EXBI", + "PEBI", + "TEBI", + "GIBI", + "MEBI", + "KIBI" + ] + }, + "Vstats.CounterMetadata.Info": { + "required": [ + "cid", + "mid", + "status", + "type", + "units" + ], + "type": "object", + "properties": { + "cid": { + "type": "string", + "description": "Counter Id.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`." + }, + "mid": { + "type": "string", + "description": "Metadata Id.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`." + }, + "status": { + "type": "string", + "description": "Counter Edition status.\n\nPossible values:\n - `DEFAULT`: The counter edition is current and is the default.\n - `CURRENT`: The counter edition is current. This implies a support commitment.\n - `DEPRECATED`: The counter edition is deprecated. It will be decommissioned rather soon.\n - `EXPERIMENTAL`: The counter edition is experimental. Consumers shouldn't rely on it for the long haul.\n - `REMOVED`: The counter edition was removed.\n\n\nFor more information see: *Vstats.CounterMetadata.CounterEditionStatus*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "type": { + "type": "string", + "description": "Numeric properties of the sampled data.\n\nPossible values:\n - `RAW`: Raw samples. The value unprocessed as-is sampled.\n - `ABSOLUTE`: Absolute value samples. Represents an actual value of the counter.\n - `FRACTION`: Fraction samples. Implies range from 0.00 to 1.00.\n - `RATE`: Rate samples. Represents a value that has been normalized over the time period.\n - `DELTA`: Delta samples. Represents an amount of change for the counter between the current time-stamp and the last time-stamp when the counter was sampled.\n - `LOGN`: Log(n) samples. A natural logarithm of the value.\n\n\nFor more information see: *Vstats.CounterMetadata.SampleType*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "units": { + "type": "string", + "description": "The units of the measurement.\n\nPossible values:\n - `PERCENT`: Percent\n - `NUMBER`: Number\n - `SECOND`: Second\n - `HERTZ`: Hertz\n - `METER`: Meter\n - `METERSPERSECOND`: Meters per second\n - `METERSPERSECONDSQUARED`: Meters per second squared\n - `BYTE`: Byte\n - `BIT`: Bit\n - `BYTESPERSECOND`: Bytes per second\n - `BITSPERSECOND`: Bits per second\n - `KILOGRAM`: Kilogram\n - `GRAM`: Gram\n - `CELSIUS`: Celsius\n - `KELVIN`: Kelvin\n - `JOULE`: Joule\n - `WATT`: Watt\n - `VOLT`: Volt\n - `AMPERE`: Ampere\n - `VOLTAMPERE`: Volt Ampere\n - `CANDELA`: Candela\n - `MOLE`: Mole\n\n\nFor more information see: *Vstats.CounterMetadata.MetricUnits*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "scale": { + "type": "string", + "description": "Additional multiplier factors to be used with units.\n\nPossible values:\n - `YOTTA`: Yotta 10^24\n - `ZETTA`: Zetta 10^21\n - `EXA`: Exa 10^18\n - `PETA`: Peta 10^15\n - `TERA`: Tera 10^12\n - `GIGA`: Giga 10^9\n - `MEGA`: Mega 10^6\n - `KILO`: Kilo 10^3\n - `HECTO`: Hecto 10^2\n - `DECA`: Deca 10\n - `ONE`: One\n - `DECI`: Deci 10^-1\n - `CENTI`: Centi 10^-2\n - `MILLI`: Milli 10^-3\n - `MICRO`: Micro 10^-6\n - `NANO`: Nano 10^-9\n - `PIKO`: Pico 10^-12\n - `FEMTO`: Femto 10^-15\n - `ATTO`: Atto 10^-18\n - `ZEPTO`: Zepto 10^-21\n - `YOCTO`: Yocto 10^-24\n - `YOBI`: Yobi 2^80, 1024^8\n - `ZEBI`: Zebi 2^70, 1024^7\n - `EXBI`: Exbi 2^60, 1024^6\n - `PEBI`: Pebi 2^50, 1024^5\n - `TEBI`: Tebi 2^40, 1024^4\n - `GIBI`: Gibi 2^30, 1024^3\n - `MEBI`: Mebi 2^20, 1024^2\n - `KIBI`: Kibi 2^10, 1024\n\n\nFor more information see: *Vstats.CounterMetadata.UnitsFactor*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` default of ONE is used." + }, + "user_info": { + "description": "Human legible localizable text about the counter.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nThis property is missing or `null` in the current version.", + "allOf": [ + { + "$ref": "#/components/schemas/Vstats.UserInfo" + } + ] + }, + "pid": { + "type": "string", + "description": "ID of the respective provider.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nThis property is missing or `null` in the current version.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Provider`." + } + }, + "description": "The Vstats.CounterMetadata.Info schema contains information about CounterMetadata. It represents edition of the Counter.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.CounterMetadata.FilterSpec": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Counter edition status.\n\nPossible values:\n - `DEFAULT`: The counter edition is current and is the default.\n - `CURRENT`: The counter edition is current. This implies a support commitment.\n - `DEPRECATED`: The counter edition is deprecated. It will be decommissioned rather soon.\n - `EXPERIMENTAL`: The counter edition is experimental. Consumers shouldn't rely on it for the long haul.\n - `REMOVED`: The counter edition was removed.\n\n\nFor more information see: *Vstats.CounterMetadata.CounterEditionStatus*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` no filtering on counter metadata status will be made." + } + }, + "description": "The Vstats.CounterMetadata.FilterSpec schema is used to filter the counter metadata list.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.CounterSets.Info": { + "required": [ + "counters", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Counter set identifier.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "counters": { + "type": "array", + "description": "List of Counter CidMids.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "items": { + "$ref": "#/components/schemas/Vstats.CidMid" + } + }, + "user_info": { + "description": "Human legible localizable conter set description.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIn future versions it may be possible to have custom counter sets that lack localizable descriptions.", + "allOf": [ + { + "$ref": "#/components/schemas/Vstats.UserInfo" + } + ] + } + }, + "description": "The Vstats.CounterSets.Info schema contains information about a set of counters.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.Counters.Info": { + "required": [ + "cid", + "metric", + "resource_address_schema" + ], + "type": "object", + "properties": { + "cid": { + "type": "string", + "description": "Counter Id.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`." + }, + "metric": { + "type": "string", + "description": "A metric is typically human-legible ASCII/English name of a measurable aspect, for example \"length\" and \"temperature\". It is not internationalizable.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Metric`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Metric`." + }, + "resource_address_schema": { + "type": "string", + "description": "Describes formally how to address (or identify) the resources the counter could be bound to (or instantiated for).\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddrSchema`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddrSchema`." + } + }, + "description": "The Vstats.Counters.Info schema contains the counter information. Counter is derived from metric. It applies the metric to a particular class of a resource.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.Counters.FilterSpec": { + "type": "object", + "properties": { + "cid": { + "type": "string", + "description": "Counter identifier that will be listed.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null` counter filter will not be applied.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`." + }, + "metric": { + "type": "string", + "description": "Metric for which counters will be listed.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nIf missing or `null` metric filter will not be applied.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Metric`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Metric`." + } + }, + "description": "The Vstats.Counters.FilterSpec schema contains fields that can be used to filter list of counters.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.Data.DataPoint": { + "required": [ + "cid", + "mid", + "rid", + "ts", + "val" + ], + "type": "object", + "properties": { + "cid": { + "type": "string", + "description": "Counter Id.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`." + }, + "mid": { + "type": "string", + "description": "CounterMetadata Id.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.CounterMetadata`." + }, + "rid": { + "type": "string", + "description": "Resource Id.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "ts": { + "type": "integer", + "description": "Timestamp for the data point. format: 64-bit integer\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "format": "int64" + }, + "val": { + "type": "number", + "description": "Stat value.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "format": "double" + } + }, + "description": "The Vstats.Data.DataPoint schema is an instance of a measurement or stat. A data point is comprised of a Counter, CounterMetadata, Resource, timestamp and value.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.Data.FilterSpec": { + "type": "object", + "properties": { + "start": { + "type": "integer", + "description": "Start of a time window (included), timestamp in seconds UTC.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the result will not be limited by start time.", + "format": "int64" + }, + "end": { + "type": "integer", + "description": "End of a time window (excluded), timestamp in seconds UTC.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the result will not be limited by end time.", + "format": "int64" + }, + "cid": { + "type": "string", + "description": "Counter ID.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the result will not be filtered by counter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Counter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Counter`." + }, + "metric": { + "type": "string", + "description": "Metric name.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the result will not be filtered by metric name.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Metric`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Metric`." + }, + "order": { + "type": "string", + "description": "Directs the server to order the returned data. Passing a value of `DEFAULT` will apply default ordering of the results that makes them easier for consumption.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen this parameter is missing or `null` the server will not order the result, save computational time and therefore the API will operate faster." + }, + "page": { + "type": "string", + "description": "Used to retrieve paged data for larger result sets. The value of this token is generated by server and returned as `next` property in the result of query_data_points operations.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the first page of results will be returned." + } + }, + "description": "The Vstats.Data.FilterSpec schema contains properties used to filter the results when listing DataPoint.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.Data.DataPointsResult": { + "required": [ + "data_points" + ], + "type": "object", + "properties": { + "data_points": { + "type": "array", + "description": "List of DataPoints received.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "items": { + "$ref": "#/components/schemas/Vstats.Data.DataPoint" + } + }, + "next": { + "type": "string", + "description": "The next property is a token used to retrieve paged data for larger result sets. This is opaque token generated by the server. It is to be sent in the *Vstats.Data.FilterSpec.page* property to issue a subsequent call to the query operation for retrieving results that did not fit the current page.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nset when there are more results to retrieve." + } + }, + "description": "The Vstats.Data.DataPointsResult schema contains properties used to return DataPoints.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.Metrics.Summary": { + "required": [ + "metric" + ], + "type": "object", + "properties": { + "metric": { + "type": "string", + "description": "Metric name.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Metric`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Metric`." + } + }, + "description": "The Vstats.Metrics.Summary schema contains metric summary.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.Providers.Summary": { + "required": [ + "id", + "id_value", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Provider identifier.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.Provider`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.Provider`." + }, + "id_value": { + "type": "string", + "description": "The ID given to the provider by its respective inventory.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "type": { + "type": "string", + "description": "Provider type.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "scheme": { + "type": "string", + "description": "An optional designation of the scheme.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen missing or `null` the provider is not designating a specific scheme." + }, + "metadata": { + "type": "string", + "description": "Schema-less metadata with extra information for the provider.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nAs supplied by the provider." + }, + "tracking_sn": { + "type": "integer", + "description": "Timestamp which is obtained when querying counters from a provider and is used as since parameter when new counter listing is needed.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\n{term unset} if no timestamp has been obtained yet.", + "format": "int64" + } + }, + "description": "Vstats.Providers.Summary schema describes a statistical data provider.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.ResourceAddressSchemas.QueryCapabilities": { + "type": "string", + "description": "Declares which predicates are supported by the Vstats.ResourceAddressSchemas.ResourceIdDefinition.\n\nPossible values:\n - `EQUAL`: Equal.\n - `EQUAL_ALL`: Supports both Equality and Aggregation.\n\n\n__Warning:__ this enumeration is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "enum": [ + "EQUAL", + "EQUAL_ALL" + ] + }, + "Vstats.ResourceAddressSchemas.ResourceIdDefinition": { + "required": [ + "key", + "query_options", + "type" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Designates a semantic key for the resource identifier. This could be \"vm\" for virtual machine whose CPU usage is metered or \"source\" to identify the virtual machine that is origin of measured network traffic.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "type": { + "type": "string", + "description": "Type of the resource. This represents various entities for which statistical data is gathered such as virtual machines, containers, servers, disks etc.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcType`." + }, + "query_options": { + "type": "string", + "description": "Designates the supported query-options.\n\nPossible values:\n - `EQUAL`: Equal.\n - `EQUAL_ALL`: Supports both Equality and Aggregation.\n\n\nFor more information see: *Vstats.ResourceAddressSchemas.QueryCapabilities*.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + } + }, + "description": "The Vstats.ResourceAddressSchemas.ResourceIdDefinition schema describes a single identifier of the Resource Addressing Schema.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.ResourceAddressSchemas.Info": { + "required": [ + "id", + "schema" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddrSchema`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddrSchema`." + }, + "schema": { + "type": "array", + "description": "List of *Vstats.ResourceAddressSchemas.ResourceIdDefinition*s.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "items": { + "$ref": "#/components/schemas/Vstats.ResourceAddressSchemas.ResourceIdDefinition" + } + } + }, + "description": "The Vstats.ResourceAddressSchemas.Info schema defines addressing schema for a counter. This is set of named placeholders for different resource types. For example a network link between VMs will take two arguments \"source\" and \"destination\" both of type VM. For each argument query capability is defined.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.ResourceAddresses.Info": { + "required": [ + "id", + "resource_ids" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddr`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcAddr`." + }, + "resource_ids": { + "type": "array", + "description": "List of Resource Identifiers.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "items": { + "$ref": "#/components/schemas/Vstats.RsrcId" + } + } + }, + "description": "The Vstats.ResourceAddresses.Info schema contains global address of a specific Resource.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.ResourceAddresses.ListResult": { + "required": [ + "rsrc_addrs" + ], + "type": "object", + "properties": { + "rsrc_addrs": { + "type": "array", + "description": "List of Resource Addresses received.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.", + "items": { + "$ref": "#/components/schemas/Vstats.ResourceAddresses.Info" + } + }, + "next": { + "type": "string", + "description": "Used to retrieve paged data for larger result sets. Token is generated by server. The value of this field should be supplied in a subsequent call to *GET /stats/rsrc-addrs* operation.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nmissing or `null` when there are no more pages of data to be retrieved." + } + }, + "description": "The *Vstats.ResourceAddresses.ListResult* schema contains properties used to return the resource addresses.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.ResourceAddresses.FilterSpec": { + "type": "object", + "properties": { + "page": { + "type": "string", + "description": "The page field is used to retrieve paged data for large result sets. It is an opaque paging token obtained from a prior call to the *GET /stats/rsrc-addrs* API.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nwhen set a follow up page in a paged result set will be delivered." + } + }, + "description": "Vstats.ResourceAddresses.FilterSpec schema describes filter criteria for resource addresses.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + }, + "Vstats.ResourceTypes.Summary": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Resource type.\n\n__Warning:__ this property is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vstats.model.RsrcType`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vstats.model.RsrcType`." + } + }, + "description": "The Vstats.ResourceTypes.Summary schema contains information of addressable resource.\n\n__Warning:__ this schema is available as Technology Preview. These are early access APIs provided to test, automate and provide feedback on the feature. Since this can change based on feedback, VMware does not guarantee backwards compatibility and recommends against using them in production environments. Some Technology Preview APIs might only be applicable to specific environments." + } + }, + "securitySchemes": { + "sessionIdAuth": { + "type": "apiKey", + "in": "header", + "name": "vmware-api-session-id", + "description": "vSphere Automation API session token (the same vmware-api-session-id token shared by the legacy /rest API and the modern /api surface), retrieved dynamically by POSTing HTTP Basic credentials to vCenter's legacy /rest session-creation endpoint. Itential Platform extracts the token from the 'value' response field, injects it as the vmware-api-session-id header on every /api request, and automatically re-retrieves it on a 401 (e.g. after the session's idle timeout expires). The /rest bootstrap endpoint is used deliberately instead of /api/session -- see the product README's 'Why /rest for Auth Bootstrap' section for why.", + "x-itential-dynamic-retrieval": { + "method": "POST", + "url": "https:///rest/com/vmware/cis/session", + "responsePointer": "/value" + }, + "x-itential-parameters": [ + { + "name": "Authorization", + "in": "header", + "x-itential-use-in": [ + "key" + ], + "schema": { + "type": "string" + }, + "description": "HTTP Basic credential for the session-retrieval call, e.g. 'Basic '" + } + ] + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] +} diff --git a/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-latest.json b/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-latest.json new file mode 100644 index 0000000..2fbbb20 --- /dev/null +++ b/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-latest.json @@ -0,0 +1,4901 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "VMware vSphere Automation", + "description": "VMware vCenter Server's modern REST API (served under /api), for centralized management of vSphere environments -- inventory (datacenters, clusters, hosts, datastores, networks, folders, resource pools) and virtual machine lifecycle (create from template, power operations, CPU/memory/disk/network hardware configuration, delete).", + "version": "latest", + "x-vendor-api-version": "9.1.0.0", + "x-itential-curated": "Curated to 19 operations across vcenter inventory listing/get and VM lifecycle (create-from-template, power start/stop, CPU/memory/disk/ethernet hardware CRUD, delete) -- matching this repo's existing VMware vSphere vCenter (/rest) Studio Project's scope 1:1, on the modern /api surface. The full spec's other packages (esx, appliance, content, vapi, cis, stats) and the vcenter package's non-core-CRUD areas (guest OS filesystem/process operations, EVC mode, compute policies, network VPC/subnet projects, granular NVMe/SATA/SCSI adapter management) are deliberately out of scope for this pass -- see the full spec and the repo README for the complete surface." + }, + "servers": [ + { + "url": "https://{host}/api", + "variables": { + "host": { + "default": "localhost" + } + } + } + ], + "security": [ + { + "sessionIdAuth": [] + } + ], + "tags": [ + { + "name": "Vcenter.Cluster", + "description": "The Vcenter.Cluster resource provides operations to manage clusters in the vCenter Server." + }, + { + "name": "Vcenter.Datacenter", + "description": "The Vcenter.Datacenter resource provides operations to manage datacenters in the vCenter Server." + }, + { + "name": "Vcenter.Datastore", + "description": "The Datastore resource provides operations for manipulating a datastore." + }, + { + "name": "Vcenter.Folder", + "description": "The Folder resource provides operations for manipulating a vCenter Server folder." + }, + { + "name": "Vcenter.Host", + "description": "The Vcenter.Host resource provides operations to manage hosts in the vCenter Server." + }, + { + "name": "Vcenter.Network", + "description": "The Network resource provides operations for manipulating a vCenter Server network." + }, + { + "name": "Vcenter.ResourcePool", + "description": "The ResourcePool resource provides operations for manipulating a vCenter Server resource pool. \n\n This resource does not include virtual appliances in the inventory of resource pools even though part of the behavior of a virtual appliance is to act like a resource pool." + }, + { + "name": "Vcenter.VM", + "description": "The Vcenter.VM resource provides operations for managing the lifecycle of a virtual machine." + }, + { + "name": "Vcenter.Vm.Power", + "description": "The Vcenter.Vm.Power resource provides operations for managing the power state of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Cpu", + "description": "The Vcenter.Vm.Hardware.Cpu resource provides operations for configuring the CPU settings of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Disk", + "description": "The Vcenter.Vm.Hardware.Disk resource provides operations for configuring the virtual disks of a virtual machine. A virtual disk has a backing such as a VMDK file. The backing has an independent lifecycle from the virtual machine when it is detached from the virtual machine. The *POST /vcenter/vm/{vm}/hardware/disk* operation provides the ability to create a new virtual disk. When creating a virtual disk, a new VMDK file may be created or an existing VMDK file may used as a backing. Once a VMDK file is associated with a virtual machine, its lifecycle will be bound to the virtual machine. In other words, it will be deleted when the virtual machine is deleted. The *DELETE /vcenter/vm/{vm}/hardware/disk/{disk}* operation provides the ability to detach a VMDK file from the virtual machine. The *DELETE /vcenter/vm/{vm}/hardware/disk/{disk}* operation does not delete the VMDK file that backs the virtual disk. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted." + }, + { + "name": "Vcenter.Vm.Hardware.Ethernet", + "description": "The Vcenter.Vm.Hardware.Ethernet resource provides operations for configuring the virtual Ethernet adapters of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Memory", + "description": "The Vcenter.Vm.Hardware.Memory resource provides operations for configuring the memory settings of a virtual machine." + }, + { + "name": "Vcenter.VmTemplate.LibraryItems", + "description": "The Vcenter.VmTemplate.LibraryItems resource provides operations to deploy virtual machines from library items containing virtual machine templates, as well as operations to create library items containing virtual machine templates. \n\n The Vcenter.VmTemplate.LibraryItems resource also provides an operation to retrieve information about the template contained in the library item.\n\nThis resource was added in __vSphere API 6.8__." + } + ], + "paths": { + "/vcenter/cluster": { + "get": { + "tags": [ + "Vcenter.Cluster" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) clusters in vCenter matching the *Vcenter.Cluster.FilterSpec*.", + "operationId": "Vcenter.Cluster_list", + "parameters": [ + { + "name": "clusters", + "in": "query", + "description": "Identifiers of clusters that can match the filter.\n\nIf missing or `null` or empty, clusters with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that clusters must have to match the filter (see *Vcenter.Cluster.Info.name*).\n\nIf missing or `null` or empty, clusters with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the cluster for the cluster to match the filter.\n\nIf missing or `null` or empty, clusters in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the cluster for the cluster to match the filter.\n\nIf missing or `null` or empty, clusters in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 clusters match the *Vcenter.Cluster.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the clusters matching the *Vcenter.Cluster.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Cluster.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/host": { + "get": { + "tags": [ + "Vcenter.Host" + ], + "description": "Returns information about at most 2500 visible (subject to permission checks) hosts in vCenter matching the *Vcenter.Host.FilterSpec*.", + "operationId": "Vcenter.Host_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching hosts for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Host.FilterSpec* with all properties missing or `null` which means all hosts match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.FilterSpec" + } + }, + { + "name": "hosts", + "in": "query", + "description": "Identifiers of hosts that can match the filter.\n\nIf missing or `null` or empty, hosts with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that hosts must have to match the filter (see *Vcenter.Host.Summary.name*).\n\nIf missing or `null` or empty, hosts with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any cluster and hosts that are not in a cluster match the filter. If this property is not empty and *Vcenter.Host.FilterSpec.standalone* is true, no hosts will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "connection_states", + "in": "query", + "description": "Connection states that a host must be in to match the filter (see *Vcenter.Host.Summary.connection_state*.\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n\n\nFor more information see: *Vcenter.Host.ConnectionState*.\n\nIf missing or `null` or empty, hosts in any connection state match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "host_uuids", + "in": "query", + "description": "UUID of hosts that can match the filter. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, hosts with any identifier match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Host.FilterSpec.connection_states* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 2500 hosts match the *Vcenter.Host.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the hosts matching the *Vcenter.Host.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Host.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datastore": { + "get": { + "tags": [ + "Vcenter.Datastore" + ], + "description": "Returns information about at most 2500 visible (subject to permission checks) datastores in vCenter matching the *Vcenter.Datastore.FilterSpec*.", + "operationId": "Vcenter.Datastore_list", + "parameters": [ + { + "name": "datastores", + "in": "query", + "description": "Identifiers of datastores that can match the filter.\n\nIf missing or `null` or empty, datastores with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that datastores must have to match the filter (see *Vcenter.Datastore.Info.name*).\n\nIf missing or `null` or empty, datastores with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "types", + "in": "query", + "description": "Types that datastores must have to match the filter (see *Vcenter.Datastore.Summary.type*).\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*.\n\nIf missing or `null` or empty, datastores with any type match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Datastore.FilterSpec.types* property contains a value that is not supported by the server.\n\nif the *Vcenter.Datastore.FilterSpec.types* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 2500 datastores match the *Vcenter.Datastore.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the datastores matching the *Vcenter.Datastore.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Datastore.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datastore/{datastore}": { + "get": { + "tags": [ + "Vcenter.Datastore" + ], + "description": "Retrieves information about the datastore indicated by datastore.", + "operationId": "Vcenter.Datastore_get", + "parameters": [ + { + "name": "datastore", + "in": "path", + "description": "Identifier of the datastore for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `Datastore`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the datastore indicated by datastore does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the datastore associated with datastore.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Datastore.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm": { + "get": { + "tags": [ + "Vcenter.VM" + ], + "description": "Returns information about at most 4000 visible (subject to permission checks) virtual machines in vCenter matching the *Vcenter.VM.FilterSpec*.", + "operationId": "Vcenter.VM_list", + "parameters": [ + { + "name": "vms", + "in": "query", + "description": "Identifiers of virtual machines that can match the filter.\n\nIf missing or `null` or empty, virtual machines with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that virtual machines must have to match the filter (see *Vcenter.VM.Info.name*).\n\nIf missing or `null` or empty, virtual machines with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "hosts", + "in": "query", + "description": "Hosts that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines on any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "resource_pools", + "in": "query", + "description": "Resource pools that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "power_states", + "in": "query", + "description": "Power states that a virtual machine must be in to match the filter (see *Vcenter.Vm.Power.Info.state*.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*.\n\nIf missing or `null` or empty, virtual machines in any power state match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.VM.FilterSpec.power_states* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 4000 virtual machines match the *Vcenter.VM.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the virtual machines matching the *Vcenter.VM.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.VM.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}": { + "get": { + "tags": [ + "Vcenter.VM" + ], + "description": "Returns information about a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.VM_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.VM" + ], + "description": "Deletes a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Inventory.Delete`. \n", + "operationId": "Vcenter.VM_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is running (powered on).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/network": { + "get": { + "tags": [ + "Vcenter.Network" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) networks in vCenter matching the *Vcenter.Network.FilterSpec*.", + "operationId": "Vcenter.Network_list", + "parameters": [ + { + "name": "networks", + "in": "query", + "description": "Identifiers of networks that can match the filter.\n\nIf missing or `null` or empty, networks with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that networks must have to match the filter (see *Vcenter.Network.Summary.name*).\n\nIf missing or `null` or empty, networks with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "types", + "in": "query", + "description": "Types that networks must have to match the filter (see *Vcenter.Network.Summary.type*).\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*.\n\nIf missing or `null`, networks with any type match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Network.FilterSpec.types* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 networks match the *Vcenter.Network.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the networks matching the *Vcenter.Network.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Network.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/folder": { + "get": { + "tags": [ + "Vcenter.Folder" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) folders in vCenter matching the *Vcenter.Folder.FilterSpec*.", + "operationId": "Vcenter.Folder_list", + "parameters": [ + { + "name": "filter", + "in": "query", + "description": "Specification of matching folders for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Folder.FilterSpec* with all properties missing or `null` which means all folders match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "$ref": "#/components/schemas/Vcenter.Folder.FilterSpec" + } + }, + { + "name": "folders", + "in": "query", + "description": "Identifiers of folders that can match the filter.\n\nIf missing or `null` or empty, folders with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that folders must have to match the filter (see *Vcenter.Folder.Summary.name*).\n\nIf missing or `null` or empty, folders with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "parent_folders", + "in": "query", + "description": "Folders that must contain the folder for the folder to match the filter.\n\nIf missing or `null` or empty, folder in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the folder for the folder to match the filter.\n\nIf missing or `null` or empty, folder in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Folder.FilterSpec.type* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 folders match the *Vcenter.Folder.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the folders matching the *Vcenter.Folder.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Folder.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/resource-pool": { + "get": { + "tags": [ + "Vcenter.ResourcePool" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) resource pools in vCenter matching the *Vcenter.ResourcePool.FilterSpec*.", + "operationId": "Vcenter.ResourcePool_list", + "parameters": [ + { + "name": "resource_pools", + "in": "query", + "description": "Identifiers of resource pools that can match the filter.\n\nIf missing or `null` or empty, resource pools with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that resource pools must have to match the filter (see *Vcenter.ResourcePool.Info.name*).\n\nIf missing or `null` or empty, resource pools with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "parent_resource_pools", + "in": "query", + "description": "Resource pools that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "hosts", + "in": "query", + "description": "Hosts that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "If more than 1000 resource pools match the *Vcenter.ResourcePool.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "If the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the resource pools matching the *Vcenter.ResourcePool.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.ResourcePool.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datacenter": { + "get": { + "tags": [ + "Vcenter.Datacenter" + ], + "description": "Returns information about at most 1000 visible (subject to permission checks) datacenters in vCenter matching the *Vcenter.Datacenter.FilterSpec*.", + "operationId": "Vcenter.Datacenter_list", + "parameters": [ + { + "name": "datacenters", + "in": "query", + "description": "Identifiers of datacenters that can match the filter.\n\nIf missing or `null` or empty, datacenters with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that datacenters must have to match the filter (see *Vcenter.Datacenter.Info.name*).\n\nIf missing or `null` or empty, datacenters with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the datacenters for the datacenter to match the filter.\n\nIf missing or `null` or empty, datacenters in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1000 datacenters match the *Vcenter.Datacenter.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the datacenters matching the *Vcenter.Datacenter.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Datacenter.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=start": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Powers on a powered-off or suspended virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.PowerOn`. \n", + "operationId": "Vcenter.Vm.Power_start", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already powered on.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).\n\n***Vapi.Std.Errors.ResourceInUse*** if resources required by the virtual machine are in use (e.g. virtual machine configuration files or virtual disks are locked, host containing the virtual machine is an HA failover host).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if resources cannot be allocated for the virtual machine (e.g. physical resource allocation policy cannot be satisfied, insufficient licenses are available to run the virtual machine).\n\n***Vapi.Std.Errors.ResourceInaccessible*** if resources required by the virtual machine are not accessible (e.g. virtual machine configuration files or virtual disks are on inaccessible storage, no hosts are available to run the virtual machine).\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=stop": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Powers off a powered-on or suspended virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.PowerOff`. \n", + "operationId": "Vcenter.Vm.Power_stop", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is already powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}?action=deploy": { + "post": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems" + ], + "description": "Deploys a virtual machine as a copy of the source virtual machine template contained in the library item specified by templateLibraryItem. It uses the deployment specification in spec. \n\n If *Vcenter.VmTemplate.LibraryItems.DeploySpec.powered_on* and/or *Vcenter.VmTemplate.LibraryItems.DeploySpec.guest_customization* are specified, the server triggers the power on and/or guest customization operations, which are executed asynchronously.\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `VirtualMachine.Provisioning.DeployTemplate`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.policy* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.policy* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.DeploySpec.disk_storage_overrides* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.folder* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.resource_pool* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.host* requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.cluster* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Ethernet` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.nics* requires `System.Read`. \n - The resource `Network` referenced by the property *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.network* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.subnet* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.disks_to_remove* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.disks_to_update* requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems_deploy", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": " identifier of the content library item containing the source virtual machine template to be deployed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " specification of how the virtual machine should be deployed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the name specified by *Vcenter.VmTemplate.LibraryItems.DeploySpec.name* already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains invalid arguments.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if either a specified host or a specified datastore is in an invalid state for the deployment, such as maintenance mode.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the library item specified by templateLibraryItem cannot be found.\n\n if any resource specified by a property of the *Vcenter.VmTemplate.LibraryItems.DeploySpec* schema, specified by spec cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible***:\n- if there was an error accessing the source virtual machine template contained in the library item specified by templateLibraryItem.\n- if there an error accessing any of the resources specified in the spec.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there was an error in allocating any of the resources required by the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " if any of the services involved in the operation are unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the deployed virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cpu": { + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Cpu" + ], + "description": "Updates the CPU-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cpu_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the CPU-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if one of the provided settings is not permitted; for example, specifying a negative value for count.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if hot_add_enabled or hot_remove_enabled is specified and the virtual machine is not powered off.\n- if count is specified and is greater than count, hot_add_enabled is false, and the virtual machine is not powered off.\n- if count is specified and is less than count, hot_remove_enabled is false, and the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/memory": { + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Memory" + ], + "description": "Updates the memory-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Memory_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the memory-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if one of the provided settings is not permitted; for example, specifying a negative value for size_MiB.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if hot_add_enabled is specified and the virtual machine is not powered off.\n- if size_MiB is specified, hot_add_enabled is false, and the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/disk": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Adds a virtual disk to the virtual machine. While adding the virtual disk, a new VMDK file may be created or an existing VMDK file may be used to back the virtual disk.", + "operationId": "Vcenter.Vm.Hardware.Disk_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended or if the virtual machine is powered on and virtual disk type is IDE.\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified storage address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified storage address is out of bounds or if the specified storage policy is invalid.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if system reported that the disk device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified storage address is unavailable; for example, if the SCSI adapter requested does not exist.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual disk identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/disk/{disk}": { + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Updates the configuration of a virtual disk. An update operation can be used to detach the existing VMDK file and attach another VMDK file to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Disk_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "disk", + "in": "path", + "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual disk is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Removes a virtual disk from the virtual machine. This operation does not destroy the VMDK file that backs the virtual disk. It only detaches the VMDK file from the virtual machine. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted.", + "operationId": "Vcenter.Vm.Hardware.Disk_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "disk", + "in": "path", + "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended or if the virtual machine is powered on and virtual disk type is IDE.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual disk is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Adds a virtual Ethernet adapter to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual Ethernet adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the specified PCI address is out of bounds, HOST_DEVICE is specified as the type, or a backing cannot be found in the case that backing is left missing or `null`.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or network backing is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the Ethernet adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the virtual machine already has the maximum number of supported Ethernet adapters.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual Ethernet adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet/{nic}": { + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Updates the configuration of a virtual Ethernet adapter.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual Ethernet adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if HOST_DEVICE is specified as the type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine, virtual Ethernet adapter, or backing network is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Removes a virtual Ethernet adapter from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + } + }, + "components": { + "securitySchemes": { + "sessionIdAuth": { + "type": "apiKey", + "in": "header", + "name": "vmware-api-session-id", + "description": "vSphere Automation API session token (the same vmware-api-session-id token shared by the legacy /rest API and the modern /api surface), retrieved dynamically by POSTing HTTP Basic credentials to vCenter's legacy /rest session-creation endpoint. Itential Platform extracts the token from the 'value' response field, injects it as the vmware-api-session-id header on every /api request, and automatically re-retrieves it on a 401 (e.g. after the session's idle timeout expires). The /rest bootstrap endpoint is used deliberately instead of /api/session -- see the product README's 'Why /rest for Auth Bootstrap' section for why.", + "x-itential-dynamic-retrieval": { + "method": "POST", + "url": "https:///rest/com/vmware/cis/session", + "responsePointer": "/value" + }, + "x-itential-parameters": [ + { + "name": "Authorization", + "in": "header", + "x-itential-use-in": [ + "key" + ], + "schema": { + "type": "string" + }, + "description": "HTTP Basic credential for the session-retrieval call, e.g. 'Basic '" + } + ] + } + }, + "schemas": { + "Vcenter.Folder.FilterSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type that folders must have to match the filter (see *Vcenter.Folder.Summary.type*).\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n\n\nFor more information see: *Vcenter.Folder.Type*.\n\nIf missing or `null`, folders with any type match the filter." + } + }, + "description": "The Vcenter.Folder.FilterSpec schema contains properties used to filter the results when listing folders (see *GET /vcenter/folder*). If multiple properties are specified, only folders matching all of the properties match the filter." + }, + "Vcenter.Vm.Hardware.ScsiAddressSpec": { + "required": [ + "bus" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.ScsiAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual SCSI adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.Cdrom.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual CD-ROM device.\n\nPossible values:\n - `ISO_FILE`: Virtual CD-ROM device is backed by an ISO file.\n - `HOST_DEVICE`: Virtual CD-ROM device is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual CD-ROM device is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.BackingType*." + }, + "iso_file": { + "type": "string", + "description": "Path of the image file backing the virtual CD-ROM device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.BackingType.ISO_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the host device backing the virtual CD-ROM device. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual CD-ROM device is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual CD-ROM device is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.BackingType.HOST_DEVICE*." + }, + "device_access_type": { + "type": "string", + "description": "Access type for the device backing.\n\nPossible values:\n - `EMULATION`: ATAPI or SCSI device emulation.\n - `PASSTHRU`: Raw passthru device access.\n - `PASSTHRU_EXCLUSIVE`: Raw passthru device access, with exclusive access to the device.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.DeviceAccessType*.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Cdrom.BackingType.HOST_DEVICE* or *Vcenter.Vm.Hardware.Cdrom.BackingType.CLIENT_DEVICE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.BackingInfo schema contains information about the physical resource backing a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Disk.StoragePolicySpec": { + "required": [ + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the storage policy which should be associated with the VMDK file.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.StoragePolicySpec schema contains information about the storage policy be associated with a VMDK file.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Hardware.Parallel.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual parallel port.\n\nPossible values:\n - `FILE`: Virtual parallel port is backed by a file.\n - `HOST_DEVICE`: Virtual parallel port is backed by a device on the host where the virtual machine is running.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Parallel.BackingType*." + }, + "file": { + "type": "string", + "description": "Path of the file backing the virtual parallel port.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual parallel port. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual parallel port is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual parallel port is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.HOST_DEVICE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.BackingInfo schema contains information about the physical resource backing a virtual parallel port." + }, + "Vcenter.Vm.Hardware.Memory.Info": { + "required": [ + "hot_add_enabled", + "size_mib" + ], + "type": "object", + "properties": { + "size_mib": { + "type": "integer", + "description": "Memory size in mebibytes.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding memory while the virtual machine is running is enabled. \n\n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running." + }, + "hot_add_increment_size_mib": { + "type": "integer", + "description": "Only set when *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true and the virtual machine is running.", + "format": "int64" + }, + "hot_add_limit_mib": { + "type": "integer", + "description": "The maximum amount of memory, in mebibytes, that can be added to a running virtual machine.\n\nOnly set when *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true and the virtual machine is running.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Memory.Info schema contains memory-related information about a virtual machine." + }, + "Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec": { + "required": [ + "capacity" + ], + "type": "object", + "properties": { + "capacity": { + "type": "integer", + "description": "Updated capacity of the virtual disk backing in bytes. This value has to be larger than the original capacity of the disk.\n\nThis property was added in __vSphere API 6.8__.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec schema describes updates to the configuration of a virtual disk in the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.Vm.Hardware.Serial.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state", + "yield_on_poll" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "yield_on_poll": { + "type": "boolean", + "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host." + }, + "backing": { + "description": "Physical resource backing for the virtual serial port.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Serial.Info schema contains information about a virtual serial port." + }, + "Vcenter.Vm.Hardware.Disk.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.BackingType*." + }, + "vmdk_file": { + "type": "string", + "description": "Path of the VMDK file backing the virtual disk.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.BackingType.VMDK_FILE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.BackingInfo schema contains information about the physical resource backing a virtual disk." + }, + "Vcenter.Vm.Hardware.SataAddressInfo": { + "required": [ + "bus", + "unit" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device is attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.SataAddressInfo schema contains information about the address of a virtual device that is attached to a virtual SATA adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.Memory.UpdateSpec": { + "type": "object", + "properties": { + "size_mib": { + "type": "integer", + "description": "New memory size in mebibytes. \n\n The supported range of memory sizes is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, this value may only be changed if *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true, and the new memory size must satisfy the constraints specified by *Vcenter.Vm.Hardware.Memory.Info.hot_add_increment_size_MiB* and *Vcenter.Vm.Hardware.Memory.Info.hot_add_limit_MiB*.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding memory while the virtual machine is running should be enabled. \n\n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running. \n\n This property may only be modified if the virtual machine is not powered on.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Memory.UpdateSpec schema describes the updates to be made to the memory-related settings of a virtual machine." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier for the datastore associated the deployed virtual machine's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If storage_policy is also specified and is incompatible with the datastore, then the disk will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "description": "Storage policy for the deployed virtual machine's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the deployed virtual machine's disk is created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage schema contains the storage specification for disks in the virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Policy type to be used when creating the deployed virtual machine's disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the corresponding disk in the source virtual machine template.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." + }, + "policy": { + "type": "string", + "description": "Identifier of the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy schema describes the storage policy specification for the deployed virtual machine's disks.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vapi.Std.Errors.NotFound": { + "type": "object", + "description": "The Vapi.Std.Errors.NotFound error indicates that a specified element could not be found. \n\n Examples: \n - Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. \n - Invoke the operation to modify the configuration of a virtual nic, passing an id that does not identify an existing virtual nic in the specified virtual machine. \n - Invoke the operation to remove a vswitch, passing an id that does not identify an existing vswitch. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vcenter.Vm.Hardware.NvmeAddressSpec": { + "required": [ + "bus" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.NvmeAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual NVMe adapter of a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Datacenter.Summary": { + "required": [ + "datacenter", + "name" + ], + "type": "object", + "properties": { + "datacenter": { + "type": "string", + "description": "Identifier of the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datacenter`." + }, + "name": { + "type": "string", + "description": "Name of the datacenter." + } + }, + "description": "The Vcenter.Datacenter.Summary schema contains commonly used information about a datacenter in vCenter Server." + }, + "Vcenter.Vm.Hardware.Ethernet.UpdateSpec": { + "type": "object", + "properties": { + "upt_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility should be enabled on this virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged. Must be missing or `null` if the emulation type of the virtual Ethernet adapter is not *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "upt_v2_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicates whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter. To enable this feature, the network adapter must connect to a network backed by DPU (Data Processing Unit) and network offloading must be enabled on the network. This property can be only modified when virtual machine is powered off.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the value is unchanged. Must be missing or `null` if the emulation type of the virtual Ethernet adapter is not *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "mac_type": { + "type": "string", + "description": "MAC address type. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*.\n\nIf missing or `null`, the value is unchanged." + }, + "mac_address": { + "type": "string", + "description": "MAC address. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged. Must be specified if *Vcenter.Vm.Hardware.Ethernet.UpdateSpec.mac_type* is *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL*. Must be missing or `null` if the MAC address type is not *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL*." + }, + "wake_on_lan_enabled": { + "type": "boolean", + "description": "Flag indicating whether wake-on-LAN should be enabled on this virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "backing": { + "description": "Physical resource backing for the virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.UpdateSpec schema describes the updates to be made to the configuration of a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Ethernet.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "mac_type", + "start_connected", + "state", + "type", + "wake_on_lan_enabled" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Ethernet adapter emulation type.\n\nPossible values:\n - `E1000`: E1000 ethernet adapter.\n - `E1000E`: E1000e ethernet adapter.\n - `PCNET32`: AMD Lance PCNet32 Ethernet adapter.\n - `VMXNET`: VMware Vmxnet virtual Ethernet adapter.\n - `VMXNET2`: VMware Vmxnet2 virtual Ethernet adapter.\n - `VMXNET3`: VMware Vmxnet3 virtual Ethernet adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.EmulationType*." + }, + "upt_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility is enabled on this virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "upt_v2_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicates whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "mac_type": { + "type": "string", + "description": "MAC address type.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*." + }, + "mac_address": { + "type": "string", + "description": "MAC address.\n\nMay be missing or `null` if *Vcenter.Vm.Hardware.Ethernet.Info.mac_type* is *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL* and has not been specified, or if *Vcenter.Vm.Hardware.Ethernet.Info.mac_type* is *Vcenter.Vm.Hardware.Ethernet.MacAddressType.GENERATED* and the virtual machine has never been powered on since the Ethernet adapter was created." + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + }, + "wake_on_lan_enabled": { + "type": "boolean", + "description": "Flag indicating whether wake-on-LAN is enabled on this virtual Ethernet adapter." + }, + "backing": { + "description": "Physical resource backing for the virtual Ethernet adapter.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.Info schema contains information about a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Parallel.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "backing": { + "description": "Physical resource backing for the virtual parallel port.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.Info schema contains information about a virtual parallel port." + }, + "Vapi.Std.Errors.Unauthenticated": { + "type": "object", + "properties": { + "challenge": { + "type": "string", + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. \n\n For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vapi.Std.Errors.Unauthenticated error indicates that the operation requires authentication and the user is not authenticated. \n\n API requests may include a security context containing user credentials. For example, the user credentials could be a SAML token, a user name and password, or the session identifier for a previously established session. \n\n Examples: \n - The SAML token in the request's security context has expired. \n - The user name and password in the request's security context are invalid. \n - The session identifier in the request's security context identifies a session that has expired. \n Counterexamples: \n - The user is authenticated but isn't authorized to perform the requested operation. The *Vapi.Std.Errors.Unauthorized* error would be used instead. \n \n\n For security reasons, the *Vapi.Std.Errors.Error.data* property in this error is missing or `null`, and the *Vapi.Std.Errors.Error.messages* property in this error does not disclose which part of the security context is correct or incorrect. For example the messages would not disclose whether a username or a password is valid or invalid, but only that a combination of username and password is invalid.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ServiceUnavailable": { + "type": "object", + "description": "The Vapi.Std.Errors.ServiceUnavailable error indicates that the resource is unavailable. \n\n Examples: \n - Attempt to invoke a operation when the server is too busy. \n - Attempt to invoke a operation when the server is undergoing maintenance. \n - An operation fails to contact VMware Tools running inside the virtual machine. \n \n\n Counterexamples: \n - A client provides an invalid service or operation identifier when invoking the operation using a dynamic interface (for example REST). The *Vapi.Std.Errors.OperationNotFound* error would be used instead. \n - A client invokes the operation from the resource, but that resource has not been installed. The *Vapi.Std.Errors.OperationNotFound* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vcenter.Vm.Hardware.Adapter.Nvme.Info": { + "required": [ + "bus", + "label" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label.\n\nThis property was added in __vSphere API 7.0.0.1__." + }, + "bus": { + "type": "integer", + "description": "NVMe bus number.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the NVMe adapter on the PCI bus.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Nvme.Info schema contains information about a virtual NVMe adapter.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vapi.Std.Errors.InvalidArgument": { + "type": "object", + "description": "The Vapi.Std.Errors.InvalidArgument error indicates that the values received for one or more parameters are not acceptable. \n\n This error is reported by the API infrastructure, so it could occur in response to the invocation of any operation. It may also be reported as the result of operation-specific validation. \n\n Examples: \n - A parameter has a value that is not of the expected type. \n - A parameter has a value that is not in the required range. \n - A parameter has a value that is not one of the specifically allowed strings. \n - One property of a schema is the tag for a tagged union, and has a specific value but another property of the schema that is required to be specified when the tag has that value is not specified, or another property of the schema that is required to be unspecified when the tag has that value is specified. \n \n\n Counterexamples: \n - Trying to create a new tag in tag category when a tag with the specified name already exists the tag category. The *Vapi.Std.Errors.AlreadyExists* error would be used instead. \n - Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. The *Vapi.Std.Errors.NotFound* error would be used instead. \n - Attempt to put a virtual machine into a folder that can only contain hosts. The *Vapi.Std.Errors.InvalidElementType* error would be used instead. \n - Attempt to attach a SCSI virtual disk to an IDE port. The *Vapi.Std.Errors.InvalidElementType* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vcenter.Vm.Hardware.IdeAddressInfo": { + "required": [ + "master", + "primary" + ], + "type": "object", + "properties": { + "primary": { + "type": "boolean", + "description": "Flag specifying whether the device is attached to the primary or secondary IDE adapter of the virtual machine." + }, + "master": { + "type": "boolean", + "description": "Flag specifying whether the device is the master or slave device on the IDE adapter." + } + }, + "description": "The Vcenter.Vm.Hardware.IdeAddressInfo schema contains information about the address of a virtual device that is attached to a virtual IDE adapter of a virtual machine." + }, + "Vcenter.VmTemplate.LibraryItems.TagSpec": { + "type": "object", + "properties": { + "tag_id": { + "type": "string", + "description": "The tag identifier of the vSphere tag. If this field is specified in addition to *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec*, then both tagId and *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec* must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec* must be specified." + }, + "tag_name_spec": { + "description": "Information about the name of the tag. If this field is specified in addition to *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id*, then both *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id* and tagNameSpec must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id* must be specified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.TagNameSpec" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.TagSpec schema contains information required to attach a tag while deploying a VM. \n\n Represents a tag specification with optional *Cis.Tagging.Tag* and/or *Vcenter.VmTemplate.LibraryItems.TagNameSpec*. The *Cis.Tagging.Tag* should already exist in vSphere, otherwise VM deployment will fail.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vapi.Std.Errors.Unauthorized": { + "type": "object", + "properties": { + "challenge": { + "type": "string", + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. \n\n For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da158-2ba4-11e9-b\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vapi.Std.Errors.Unauthorized error indicates that the user is not authorized to perform the operation. \n\n API requests may include a security context containing user credentials. For example, the user credentials could be a SAML token, a user name and password, or the session identifier for a previously established session. Invoking the operation may require that the user identified by those credentials has particular privileges on the operation or on one or more resource identifiers passed to the operation. \n\n Examples: \n - The operation requires that the user have one or more privileges on the operation, but the user identified by the credentials in the security context does not have the required privileges. \n - The operation requires that the user have one or more privileges on a resource identifier passed to the operation, but the user identified by the credentials in the security context does not have the required privileges. \n \n\n \n\n Counterexamples: \n - The SAML token in the request's security context has expired. A *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n - The user name and password in the request's security context are invalid. The *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n - The session identifier in the request's security context identifies a session that has expired. The *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n \n\n For security reasons, the *Vapi.Std.Errors.Error.data* property in this error is missing or `null`, and the *Vapi.Std.Errors.Error.messages* property in this error does not disclose why the user is not authorized to perform the operation. For example the messages would not disclose which privilege the user did not have or which resource identifier the user did not have the required privilege to access. The API documentation should indicate what privileges are required.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vcenter.Vm.Hardware.ScsiAddressInfo": { + "required": [ + "bus", + "unit" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device is attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.ScsiAddressInfo schema contains information about the address of a virtual device that is attached to a virtual SCSI adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.IdeAddressSpec": { + "type": "object", + "properties": { + "primary": { + "type": "boolean", + "description": "Flag specifying whether the device should be attached to the primary or secondary IDE adapter of the virtual machine.\n\nIf missing or `null`, the server will choose a adapter with an available connection. If no IDE connections are available, the request will be rejected." + }, + "master": { + "type": "boolean", + "description": "Flag specifying whether the device should be the master or slave device on the IDE adapter.\n\nIf missing or `null`, the server will choose an available connection type. If no IDE connections are available, the request will be rejected." + } + }, + "description": "The Vcenter.Vm.Hardware.IdeAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual IDE adapter of a virtual machine." + }, + "Vcenter.Vm.Hardware.NvmeAddressInfo": { + "required": [ + "bus", + "unit" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device is attached.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.NvmeAddressInfo schema contains information about the address of a virtual device that is attached to a virtual NVMe adapter of a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.Disk.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device should be attached.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.HostBusAdapterType*.\n\nIf missing or `null`, guest-specific default values will be used" + }, + "ide": { + "description": "Address for attaching the device to a virtual IDE adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressSpec" + } + ] + }, + "scsi": { + "description": "Address for attaching the device to a virtual SCSI adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressSpec" + } + ] + }, + "sata": { + "description": "Address for attaching the device to a virtual SATA adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressSpec" + } + ] + }, + "nvme": { + "description": "Address for attaching the device to a virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.NvmeAddressSpec" + } + ] + }, + "backing": { + "description": "Existing physical resource backing for the virtual disk. Exactly one of backing or new_vmdk must be specified.\n\nIf missing or `null`, the virtual disk will not be connected to an existing backing.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingSpec" + } + ] + }, + "new_vmdk": { + "description": "Specification for creating a new VMDK backing for the virtual disk. Exactly one of backing or new_vmdk must be specified.\n\nIf missing or `null`, a new VMDK backing will not be created.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.VmdkCreateSpec" + } + ] + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.CreateSpec schema provides a specification for the configuration of a newly-created virtual disk." + }, + "Vcenter.Vm.Hardware.Ethernet.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Ethernet adapter emulation type.\n\nPossible values:\n - `E1000`: E1000 ethernet adapter.\n - `E1000E`: E1000e ethernet adapter.\n - `PCNET32`: AMD Lance PCNet32 Ethernet adapter.\n - `VMXNET`: VMware Vmxnet virtual Ethernet adapter.\n - `VMXNET2`: VMware Vmxnet2 virtual Ethernet adapter.\n - `VMXNET3`: VMware Vmxnet3 virtual Ethernet adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.EmulationType*.\n\nIf missing or `null`, defaults to a guest-specific type." + }, + "upt_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility is enabled on this virtual Ethernet adapter.\n\nIf missing or `null`, UPT will not be enabled on the newly-created virtual Ethernet adapter." + }, + "upt_v2_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter. To enable this feature, the network adapter must connect to a network backed by DPU (Data Processing Unit) and network offloading must be enabled on the network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, UPTv2 will not be enabled on the newly-created virtual Ethernet adapter." + }, + "mac_type": { + "type": "string", + "description": "MAC address type.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*.\n\nIf missing or `null`, defaults to *Vcenter.Vm.Hardware.Ethernet.MacAddressType.GENERATED*." + }, + "mac_address": { + "type": "string", + "description": "MAC address.\n\nWorkaround for PR1459647" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change when it the VM is started or as the device is hot added.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" + }, + "wake_on_lan_enabled": { + "type": "boolean", + "description": "Flag indicating whether wake-on-LAN is enabled on this virtual Ethernet adapter.\n\nDefaults to false if missing or `null`." + }, + "backing": { + "description": "Physical resource backing for the virtual Ethernet adapter.\n\nIf missing or `null`, the system may try to find an appropriate backing. If one is not found, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.CreateSpec schema provides a specification for the configuration of a newly-created virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Cdrom.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device is attached.\n\nPossible values:\n - `IDE`: Cdrom is attached to an IDE adapter.\n - `SATA`: Cdrom is attached to a SATA adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType*." + }, + "label": { + "type": "string", + "description": "Device label." + }, + "ide": { + "description": "Address of device attached to a virtual IDE adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType.IDE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressInfo" + } + ] + }, + "sata": { + "description": "Address of device attached to a virtual SATA adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType.SATA*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressInfo" + } + ] + }, + "backing": { + "description": "Physical resource backing for the virtual CD-ROM device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.Info schema contains information about a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Disk.VmdkCreateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Base name of the VMDK file. The name should not include the '.vmdk' file extension.\n\nIf missing or `null`, a name (derived from the name of the virtual machine) will be chosen by the server." + }, + "capacity": { + "type": "integer", + "description": "Capacity of the virtual disk backing in bytes.\n\nIf missing or `null`, defaults to a guest-specific capacity.", + "format": "int64" + }, + "storage_policy": { + "description": "The Vcenter.Vm.Hardware.Disk.StoragePolicySpec schema contains information about the storage policy that is to be associated the with VMDK file.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the default storage policy of the target datastore (if applicable) is applied. Currently a default storage policy is only supported by object based datastores : VVol & vSAN. For non- object datastores, if missing or `null` then no storage policy would be associated with the VMDK file.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.StoragePolicySpec" + } + ] + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.VmdkCreateSpec schema provides a specification for creating a new VMDK file to be used as a backing for a virtual disk. The virtual disk will be stored in the same directory as the virtual machine's configuration file." + }, + "Vcenter.Vm.Hardware.Cpu.Info": { + "required": [ + "cores_per_socket", + "count", + "hot_add_enabled", + "hot_remove_enabled" + ], + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "Number of CPU cores.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "Number of CPU cores per socket.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled." + }, + "hot_remove_enabled": { + "type": "boolean", + "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled." + } + }, + "description": "The Vcenter.Vm.Hardware.Cpu.Info schema contains CPU-related information about a virtual machine." + }, + "Vapi.Std.LocalizationParam": { + "type": "object", + "properties": { + "s": { + "type": "string", + "description": "String value associated with the parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when string value is used." + }, + "dt": { + "type": "string", + "description": "Date and time value associated with the parameter. Use the format property to specify date and time display style.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when date and time value is used.", + "format": "date-time" + }, + "i": { + "type": "integer", + "description": "long value associated with the parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when long value is used.", + "format": "int64" + }, + "d": { + "type": "number", + "description": "The double value associated with the parameter. The number of displayed fractional digits is changed via precision property.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when double value is used.", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form enumerated type and boolean values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive Vapi.Std.NestedLocalizableMessage instances can be used for localizing short lists of items.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when nested localization message value is used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.NestedLocalizableMessage" + } + ] + }, + "format": { + "type": "string", + "description": "Format associated with the date and time value in dt property. The enumeration value `SHORT_DATETIME` will be used as default.\n\nPossible values:\n - `SHORT_DATE`: The date and time value will be formatted as short date, for example *2019-01-28*\n - `MED_DATE`: The date and time value will be formatted as medium date, for example *2019 Jan 28*\n - `LONG_DATE`: The date and time value will be formatted as long date, for example *2019 Jan 28*\n - `FULL_DATE`: The date and time value will be formatted as full date, for example *2019 Jan 28, Mon*\n - `SHORT_TIME`: The date and time value will be formatted as short time, for example *12:59*\n - `MED_TIME`: The date and time value will be formatted as medium time, for example *12:59:01*\n - `LONG_TIME`: The date and time value will be formatted as long time, for example *12:59:01 Z*\n - `FULL_TIME`: The date and time value will be formatted as full time, for example *12:59:01 Z*\n - `SHORT_DATE_TIME`: The date and time value will be formatted as short date and time, for example *2019-01-28 12:59*\n - `MED_DATE_TIME`: The date and time value will be formatted as medium date and time, for example *2019 Jan 28 12:59:01*\n - `LONG_DATE_TIME`: The date and time value will be formatted as long date and time, for example *2019 Jan 28 12:59:01 Z*\n - `FULL_DATE_TIME`: The date and time value will be formatted as full date and time, for example *2019 Jan 28, Mon 12:59:01 Z*\n\n\nFor more information see: *Vapi.Std.LocalizationParam.DateTimeFormat*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis may not be set if enumeration value `SHORT_DATETIME` default format is appropriate" + }, + "precision": { + "type": "integer", + "description": "Number of fractional digits to include in formatted double value.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis will be set when exact precision is required for rendering double numbers.", + "format": "int64" + } + }, + "description": "This schema holds a single message parameter and formatting settings for it. The schema has fields for string, long, double, date time and nested messages. Only one will be used depending on the type of data sent. For date, double and long it is possible to set additional formatting details.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vapi.Std.Errors.NotAllowedInCurrentState": { + "type": "object", + "description": "The Vapi.Std.Errors.NotAllowedInCurrentState error indicates that the requested operation is not allowed with a resource or service in its current state. This could be because the operation is performing a configuration change that is not allowed in the current state or because operation itself is not allowed in the current state. \n\n Examples: \n - Trying to add a virtual device that cannot be hot plugged to a running virtual machine. \n - Trying to upgrade the virtual hardware version for a suspended virtual machine. \n - Trying to power off, reset, or suspend a virtual machine that is not powered on. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. The *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vcenter.Host.Summary": { + "required": [ + "connection_state", + "host", + "name" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Identifier of the host.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "name": { + "type": "string", + "description": "Name of the host." + }, + "connection_state": { + "type": "string", + "description": "Connection status of the host\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n\n\nFor more information see: *Vcenter.Host.ConnectionState*." + }, + "power_state": { + "type": "string", + "description": "Power state of the host\n\nPossible values:\n - `POWERED_ON`: The host is powered on. A host that is entering standby mode is also in this state.\n - `POWERED_OFF`: The host was specifically powered off by the user through vCenter server. This state is not a certain state, because after vCenter server issues the command to power off the host, the host might crash, or kill all the processes but fail to power off.\n - `STANDBY`: The host was specifically put in standby mode, either explicitly by the user, or automatically by DPM. This state is not a certain state, because after VirtualCenter issues the command to put the host in standby state, the host might crash, or kill all the processes but fail to enter standby mode. A host that is exiting standby mode is also in this state.\n\n\nFor more information see: *Vcenter.Host.PowerState*.\n\nThis property is optional and it is only relevant when the value of connection_state is *Vcenter.Host.ConnectionState.CONNECTED*." + }, + "host_uuid": { + "type": "string", + "description": "UUID of the host. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vcenter.Host.Summary schema contains commonly used information about a host in vCenter Server." + }, + "Vcenter.Vm.Hardware.Serial.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual serial port.\n\nPossible values:\n - `FILE`: Virtual serial port is backed by a file.\n - `HOST_DEVICE`: Virtual serial port is backed by a device on the host where the virtual machine is running.\n - `PIPE_SERVER`: Virtual serial port is backed by a named pipe server. The virtual machine will accept a connection from a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `PIPE_CLIENT`: Virtual serial port is backed by a named pipe client. The virtual machine will connect to the named pipe provided by a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `NETWORK_SERVER`: Virtual serial port is backed by a network server. This backing may be used to create a network-accessible serial port on the virtual machine, accepting a connection from a remote system.\n - `NETWORK_CLIENT`: Virtual serial port is backed by a network client. This backing may be used to create a network-accessible serial port on the virtual machine, initiating a connection to a remote system.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Serial.BackingType*." + }, + "file": { + "type": "string", + "description": "Path of the file backing the virtual serial port.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Serial.BackingType.FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual serial port. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual serial port is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual serial port is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Serial.BackingType.HOST_DEVICE*." + }, + "pipe": { + "type": "string", + "description": "Name of the pipe backing the virtual serial port.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_CLIENT*." + }, + "no_rx_loss": { + "type": "boolean", + "description": "Flag that enables optimized data transfer over the pipe. When the value is true, the host buffers data to prevent data overrun. This allows the virtual machine to read all of the data transferred over the pipe with no data loss.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_CLIENT*." + }, + "network_location": { + "type": "string", + "description": "URI specifying the location of the network service backing the virtual serial port. \n - If *Vcenter.Vm.Hardware.Serial.BackingInfo.type* is *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_SERVER*, this property is the location used by clients to connect to this server. The hostname part of the URI should either be empty or should specify the address of the host on which the virtual machine is running.\n - If *Vcenter.Vm.Hardware.Serial.BackingInfo.type* is *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_CLIENT*, this property is the location used by the virtual machine to connect to the remote server.\n \n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_CLIENT*.", + "format": "uri" + }, + "proxy": { + "type": "string", + "description": "Proxy service that provides network access to the network backing. If set, the virtual machine initiates a connection with the proxy service and forwards the traffic to the proxy.\n\nIf missing or `null`, no proxy service is configured.", + "format": "uri" + } + }, + "description": "The Vcenter.Vm.Hardware.Serial.BackingInfo schema contains information about the physical resource backing a virtual serial port." + }, + "Vcenter.Vm.Hardware.Info": { + "required": [ + "upgrade_policy", + "upgrade_status", + "version" + ], + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Virtual hardware version.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*." + }, + "upgrade_policy": { + "type": "string", + "description": "Scheduled upgrade policy.\n\nPossible values:\n - `NEVER`: Do not upgrade the virtual machine when it is powered on.\n - `AFTER_CLEAN_SHUTDOWN`: Run scheduled upgrade when the virtual machine is powered on after a clean shutdown of the guest operating system.\n - `ALWAYS`: Run scheduled upgrade when the virtual machine is powered on.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradePolicy*." + }, + "upgrade_version": { + "type": "string", + "description": "Target hardware version to be used on the next scheduled virtual hardware upgrade.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nThis property is optional and it is only relevant when the value of upgrade_policy is one of *Vcenter.Vm.Hardware.UpgradePolicy.AFTER_CLEAN_SHUTDOWN* or *Vcenter.Vm.Hardware.UpgradePolicy.ALWAYS*." + }, + "upgrade_status": { + "type": "string", + "description": "Scheduled upgrade status.\n\nPossible values:\n - `NONE`: No scheduled upgrade has been attempted.\n - `PENDING`: Upgrade is scheduled but has not yet been run.\n - `SUCCESS`: The most recent scheduled upgrade was successful.\n - `FAILED`: The most recent scheduled upgrade was not successful.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradeStatus*." + }, + "upgrade_error": { + "type": "object", + "description": "Reason for the scheduled upgrade failure.\n\nThis property is optional and it is only relevant when the value of upgrade_status is *Vcenter.Vm.Hardware.UpgradeStatus.FAILED*." + } + }, + "description": "The Vcenter.Vm.Hardware.Info schema contains information related to the virtual hardware of a virtual machine." + }, + "Vcenter.Vm.Hardware.Disk.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.BackingType*." + }, + "vmdk_file": { + "type": "string", + "description": "Path of the VMDK file backing the virtual disk.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.BackingType.VMDK_FILE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.BackingSpec schema provides a specification of the physical resource backing a virtual disk." + }, + "Vapi.Std.NestedLocalizableMessage": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the localizable string or message template. \n\n This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "params": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Std.LocalizationParam" + }, + "description": "Named Arguments to be substituted into the message template.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nservices will not populate this field when there are no parameters to be substituted" + } + }, + "description": "The Vapi.Std.NestedLocalizableMessage schema represents a nested within a parameter localizable string or message template. This schema is useful for modeling composite messages. Such messages are necessary to do correct pluralization of phrases, represent lists of several items etc.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Vm.Hardware.Disk.Info": { + "required": [ + "backing", + "label", + "type" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device is attached.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.HostBusAdapterType*." + }, + "ide": { + "description": "Address of device attached to a virtual IDE adapter.\n\nWorkaround for PR1459646", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressInfo" + } + ] + }, + "scsi": { + "description": "Address of device attached to a virtual SCSI adapter.\n\nWorkaround for PR1459646", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressInfo" + } + ] + }, + "sata": { + "description": "Address of device attached to a virtual SATA adapter.\n\nWorkaround for PR1459646", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressInfo" + } + ] + }, + "nvme": { + "description": "Address of device attached to a virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.HostBusAdapterType.NVME*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.NvmeAddressInfo" + } + ] + }, + "backing": { + "description": "Physical resource backing for the virtual disk.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingInfo" + } + ] + }, + "capacity": { + "type": "integer", + "description": "Capacity of the virtual disk in bytes.\n\nIf missing or `null`, virtual disk is inaccessible or disk capacity is 0.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.Info schema contains information about a virtual disk." + }, + "Vapi.Std.Errors.Error": { + "required": [ + "error_type", + "messages" + ], + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "Stack of one or more localizable messages for human error consumers. \n\n The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked. \n\n Each subsequent message in the stack describes the \"cause\" of the prior message.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "data": { + "type": "object", + "description": "Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. \n\n Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports. \n\n The *Vapi.Std.Errors.ArgumentLocations*, *Vapi.Std.Errors.FileLocations*, and *Vapi.Std.Errors.TransientIndication* schemas are intended as possible values for this property. *Vapi.Std.DynamicID* may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.\n\nSome operations will not set this property when reporting errors." + }, + "error_type": { + "type": "string", + "description": "Discriminator field to help API consumers identify the structure type.\n\nPossible values:\n - `ERROR`: Discriminator for the *Vapi.Std.Errors.Error* type.\n - `ALREADY_EXISTS`: Discriminator for the *Vapi.Std.Errors.AlreadyExists* type.\n - `ALREADY_IN_DESIRED_STATE`: Discriminator for the *Vapi.Std.Errors.AlreadyInDesiredState* type.\n - `CANCELED`: Discriminator for the *Vapi.Std.Errors.Canceled* type.\n - `CONCURRENT_CHANGE`: Discriminator for the *Vapi.Std.Errors.ConcurrentChange* type.\n - `FEATURE_IN_USE`: Discriminator for the *Vapi.Std.Errors.FeatureInUse* type.\n - `INTERNAL_SERVER_ERROR`: Discriminator for the *Vapi.Std.Errors.InternalServerError* type.\n - `INVALID_ARGUMENT`: Discriminator for the *Vapi.Std.Errors.InvalidArgument* type.\n - `INVALID_ELEMENT_CONFIGURATION`: Discriminator for the *Vapi.Std.Errors.InvalidElementConfiguration* type.\n - `INVALID_ELEMENT_TYPE`: Discriminator for the *Vapi.Std.Errors.InvalidElementType* type.\n - `INVALID_REQUEST`: Discriminator for the *Vapi.Std.Errors.InvalidRequest* type.\n - `NOT_ALLOWED_IN_CURRENT_STATE`: Discriminator for the *Vapi.Std.Errors.NotAllowedInCurrentState* type.\n - `NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.NotFound* type.\n - `OPERATION_NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.OperationNotFound* type.\n - `RESOURCE_BUSY`: Discriminator for the *Vapi.Std.Errors.ResourceBusy* type.\n - `RESOURCE_IN_USE`: Discriminator for the *Vapi.Std.Errors.ResourceInUse* type.\n - `RESOURCE_INACCESSIBLE`: Discriminator for the *Vapi.Std.Errors.ResourceInaccessible* type.\n - `SERVICE_UNAVAILABLE`: Discriminator for the *Vapi.Std.Errors.ServiceUnavailable* type.\n - `TIMED_OUT`: Discriminator for the *Vapi.Std.Errors.TimedOut* type.\n - `UNABLE_TO_ALLOCATE_RESOURCE`: Discriminator for the *Vapi.Std.Errors.UnableToAllocateResource* type.\n - `UNAUTHENTICATED`: Discriminator for the *Vapi.Std.Errors.Unauthenticated* type.\n - `UNAUTHORIZED`: Discriminator for the *Vapi.Std.Errors.Unauthorized* type.\n - `UNEXPECTED_INPUT`: Discriminator for the *Vapi.Std.Errors.UnexpectedInput* type.\n - `UNSUPPORTED`: Discriminator for the *Vapi.Std.Errors.Unsupported* type.\n - `UNVERIFIED_PEER`: Discriminator for the *Vapi.Std.Errors.UnverifiedPeer* type.\n\n\nFor more information see: *Vapi.Std.Errors.Error.Type*.\n\nThis property was added in __vSphere API 6.7.2__.\n\nCan be missing or `null` for compatibility with preceding implementations." + } + }, + "description": "The Vapi.Std.Errors.Error error describes theproperties common to all standard errors. \n\n This error serves two purposes: \n 1. It is the error that clients in many programming languages can catch to handle all standard errors. Typically those clients will display one or more of the localizable messages from *Vapi.Std.Errors.Error.messages* to a human. \n 2. It is the error that operations can report when they need to report some error, but the error doesn't fit into any other standard error, and in fact the only reasonable way for a client to react to the error is to display the message(s) to a human. \n ", + "discriminator": { + "propertyName": "error_type", + "mapping": { + "ALREADY_EXISTS": "#/components/schemas/Vapi.Std.Errors.AlreadyExists", + "ALREADY_IN_DESIRED_STATE": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState", + "CANCELED": "#/components/schemas/Vapi.Std.Errors.Canceled", + "CONCURRENT_CHANGE": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange", + "ERROR": "#/components/schemas/Vapi.Std.Errors.Error", + "FEATURE_IN_USE": "#/components/schemas/Vapi.Std.Errors.FeatureInUse", + "INTERNAL_SERVER_ERROR": "#/components/schemas/Vapi.Std.Errors.InternalServerError", + "INVALID_ARGUMENT": "#/components/schemas/Vapi.Std.Errors.InvalidArgument", + "INVALID_ELEMENT_CONFIGURATION": "#/components/schemas/Vapi.Std.Errors.InvalidElementConfiguration", + "INVALID_ELEMENT_TYPE": "#/components/schemas/Vapi.Std.Errors.InvalidElementType", + "INVALID_REQUEST": "#/components/schemas/Vapi.Std.Errors.InvalidRequest", + "NOT_ALLOWED_IN_CURRENT_STATE": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState", + "NOT_FOUND": "#/components/schemas/Vapi.Std.Errors.NotFound", + "OPERATION_NOT_FOUND": "#/components/schemas/Vapi.Std.Errors.OperationNotFound", + "RESOURCE_BUSY": "#/components/schemas/Vapi.Std.Errors.ResourceBusy", + "RESOURCE_IN_USE": "#/components/schemas/Vapi.Std.Errors.ResourceInUse", + "RESOURCE_INACCESSIBLE": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible", + "SERVICE_UNAVAILABLE": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable", + "TIMED_OUT": "#/components/schemas/Vapi.Std.Errors.TimedOut", + "UNABLE_TO_ALLOCATE_RESOURCE": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource", + "UNAUTHENTICATED": "#/components/schemas/Vapi.Std.Errors.Unauthenticated", + "UNAUTHORIZED": "#/components/schemas/Vapi.Std.Errors.Unauthorized", + "UNEXPECTED_INPUT": "#/components/schemas/Vapi.Std.Errors.UnexpectedInput", + "UNSUPPORTED": "#/components/schemas/Vapi.Std.Errors.Unsupported", + "UNVERIFIED_PEER": "#/components/schemas/Vapi.Std.Errors.UnverifiedPeer" + } + } + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Policy type to be used when creating the deployed virtual machine's configuration and log files.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the source virtual machine template's configuration and log files.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." + }, + "policy": { + "type": "string", + "description": "Identifier for the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy schema defines the storage policy specification for the deployed virtual machine's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vapi.Std.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the localizable string or message template. \n\n This identifier is typically used to retrieve a locale-specific string or message template from a message catalog." + }, + "default_message": { + "type": "string", + "description": "The value of this localizable string or message template in the `en_US` (English) locale. If *Vapi.Std.LocalizableMessage.id* refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog." + }, + "args": { + "type": "array", + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "items": { + "type": "string" + } + }, + "params": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Std.LocalizationParam" + }, + "description": "Named arguments to be substituted into the message template.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nMissing or `null` means that the message template requires no arguments or positional arguments are used." + }, + "localized": { + "type": "string", + "description": "Localized string value as per request requirements.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nwhen the client has not requested specific locale the implementation may not populate this field to conserve resources." + } + }, + "description": "The Vapi.Std.LocalizableMessage schema represents localizable string and message template. Resources include one or more localizable message templates in the errors they report so that clients can display diagnostic messages in the native language of the user. Resources can include localizable strings in the data returned from operations to allow clients to display localized status information in the native language of the user." + }, + "Vcenter.Vm.Hardware.Adapter.Sata.Info": { + "required": [ + "bus", + "label", + "type" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `AHCI`: AHCI host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Sata.Type*." + }, + "bus": { + "type": "integer", + "description": "SATA bus number.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SATA adapter on the PCI bus.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Sata.Info schema contains information about a virtual SATA adapter." + }, + "Vcenter.Vm.Hardware.Boot.Info": { + "required": [ + "delay", + "enter_setup_mode", + "retry", + "retry_delay", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Firmware type used by the virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Type*." + }, + "efi_legacy_boot": { + "type": "boolean", + "description": "Flag indicating whether to use EFI legacy boot mode.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Type.EFI*." + }, + "network_protocol": { + "type": "string", + "description": "Protocol to use when attempting to boot the virtual machine over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.NetworkProtocol*.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Type.EFI*." + }, + "delay": { + "type": "integer", + "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.", + "format": "int64" + }, + "retry": { + "type": "boolean", + "description": "Flag indicating whether the virtual machine will automatically retry the boot process after a failure." + }, + "retry_delay": { + "type": "integer", + "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when *Vcenter.Vm.Hardware.Boot.Info.retry* is true.", + "format": "int64" + }, + "enter_setup_mode": { + "type": "boolean", + "description": "Flag indicating whether the firmware boot process will automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode." + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.Info schema contains information about the virtual machine boot process." + }, + "Vcenter.Host.FilterSpec": { + "type": "object", + "properties": { + "standalone": { + "type": "boolean", + "description": "If true, only hosts that are not part of a cluster can match the filter, and if false, only hosts that are are part of a cluster can match the filter.\n\nIf missing or `null` Hosts can match filter independent of whether they are part of a cluster or not. If this field is true and *Vcenter.Host.FilterSpec.clusters* is not empty, no hosts will match the filter." + } + }, + "description": "The Vcenter.Host.FilterSpec schema contains properties used to filter the results when listing hosts (see *GET /vcenter/host*). If multiple properties are specified, only hosts matching all of the properties match the filter." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage": { + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n When storage_policy is also specified and is incompatible with the datastore, then the deployed virtual machine will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "description": "Storage policy for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the deployed virtual machine's configuration and log files are created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage schema defines the storage specification for a deployed virtual machine's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.Vm.Hardware.Disk.UpdateSpec": { + "type": "object", + "properties": { + "backing": { + "description": "Physical resource backing for the virtual disk. \n\n This property may only be modified if the virtual machine is not powered on.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingSpec" + } + ] + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.UpdateSpec schema describes the updates to be made to the configuration of a virtual disk." + }, + "Vcenter.Vm.Hardware.Ethernet.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.BackingType*." + }, + "network": { + "type": "string", + "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nIf missing or `null`, the identifier of the network backing could not be determined.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "network_name": { + "type": "string", + "description": "Name of the standard portgroup backing the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.STANDARD_PORTGROUP*." + }, + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.HOST_DEVICE*." + }, + "distributed_switch_uuid": { + "type": "string", + "description": "UUID of the distributed virtual switch that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.DISTRIBUTED_PORTGROUP*." + }, + "distributed_port": { + "type": "string", + "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter.\n\nThis property will be missing or `null` if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected." + }, + "connection_cookie": { + "type": "integer", + "description": "Server-generated cookie that identifies the connection to the port. This cookie may be used to verify that the virtual machine is the rightful owner of the port.\n\nThis property will be missing or `null` if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected.", + "format": "int64" + }, + "opaque_network_type": { + "type": "string", + "description": "Type of the opaque network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*." + }, + "opaque_network_id": { + "type": "string", + "description": "Identifier of the opaque network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.BackingInfo schema contains information about the physical resource backing a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Floppy.Info": { + "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "backing": { + "description": "Physical resource backing for the virtual floppy drive.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.BackingInfo" + } + ] + }, + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." + } + }, + "description": "The Vcenter.Vm.Hardware.Floppy.Info schema contains information about a virtual floppy drive." + }, + "Vcenter.Network.Summary": { + "required": [ + "name", + "network", + "type" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the network.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "name": { + "type": "string", + "description": "Name of the network." + }, + "type": { + "type": "string", + "description": "Type (Type) of the vCenter Server network.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*." + } + }, + "description": "The Vcenter.Network.Summary schema contains commonly used information about a network." + }, + "Vcenter.ResourcePool.Summary": { + "required": [ + "name", + "resource_pool" + ], + "type": "object", + "properties": { + "resource_pool": { + "type": "string", + "description": "Identifier of the resource pool.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "name": { + "type": "string", + "description": "Name of the resource pool." + } + }, + "description": "The Vcenter.ResourcePool.Summary schema contains commonly used information about a resource pool in vCenter Server." + }, + "Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec": { + "type": "object", + "properties": { + "nics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec" + }, + "description": "Map of Ethernet network adapters to update.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, all Ethernet adapters will remain connected to the same network as they were in the source virtual machine template. An Ethernet adapter with a MacAddressType of MANUAL will not change. An Ethernet adapter with a MacAddressType of GENERATED or ASSIGNED will receive a new address.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "disks_to_remove": { + "uniqueItems": true, + "type": "array", + "description": "Idenfiers of disks to remove from the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, all disks will be copied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + }, + "disks_to_update": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec" + }, + "description": "Disk update specification for individual disks in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, disks in the deployed virtual machine will have the same settings as the corresponding disks in the source virtual machine template contained in the library item.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "cpu_update": { + "description": "CPU update specification for the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same CPU settings as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec" + } + ] + }, + "memory_update": { + "description": "Memory update specification for the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same memory settings as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec" + } + ] + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec schema defines the hardware customization options that are applied to the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the customization specification.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, no guest customization is performed." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec schema contains information required to customize the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.Vm.Hardware.Ethernet.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.BackingType*." + }, + "network": { + "type": "string", + "description": "Identifier of the network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Ethernet.BackingType.STANDARD_PORTGROUP*, *Vcenter.Vm.Hardware.Ethernet.BackingType.DISTRIBUTED_PORTGROUP*, or *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "distributed_port": { + "type": "string", + "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter. Depending on the type of the Portgroup, the port may be specified using this field. If the portgroup type is early-binding (also known as static), a port is assigned when the Ethernet adapter is configured to use the port. The port may be either automatically or specifically assigned based on the value of this property. If the portgroup type is ephemeral, the port is created and assigned to a virtual machine when it is powered on and the Ethernet adapter is connected. This property cannot be specified as no free ports exist before use.\n\nMay be used to specify a port when the network specified on the network property is a static or early binding distributed portgroup. If missing or `null`, the port will be automatically assigned to the Ethernet adapter based on the policy embodied by the portgroup type." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.BackingSpec schema provides a specification of the physical resource that backs a virtual Ethernet adapter." + }, + "Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec": { + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If missing or `null`, the virtual Ethernet adapter will be connected to same network as it was in the source virtual machine template. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "subnet": { + "type": "string", + "description": "The Identifier of the subnet the virtual ethernet adapter connects to. It is only set when the virtual network adapter is connected to a subnet. If set, this will take precedence over the *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.network* property. If missing or `null`, virtual network adapter will not be connected to a subnet\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec schema describes the network that the ethernet adapter of the deployed virtual machine should be connected to.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec": { + "type": "object", + "properties": { + "num_cpus": { + "type": "integer", + "description": "Number of virtual processors in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same CPU count as the source virtual machine template contained in the library item.", + "format": "int64" + }, + "num_cores_per_socket": { + "type": "integer", + "description": "Number of cores among which to distribute CPUs in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same number of cores per socket as the source virtual machine template contained in the library item.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec schema describes updates to the CPU configuration of the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpec": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__." + }, + "description": { + "type": "string", + "description": "Description of the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same description as the source library item." + }, + "vm_home_storage": { + "description": "Storage location for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine's configuration and log files are created with the same storage spec as the source virtual machine template's configuration and log files.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage" + } + ] + }, + "disk_storage": { + "description": "Storage specification for the deployed virtual machine's disks.\n\nThis property was added in __vSphere API 6.8__.\n\nIf both disk_storage_overrides and disk_storage are missing or `null`, the deployed virtual machine's disks are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item. \n\n If disk_storage_overrides is missing or `null` and disk_storage is specified, all of the deployed virtual machine's disks are created with the storage spec specified by disk_storage. \n\n If disk_storage_overrides is specified and disk_storage is missing or `null`, disks with identifiers that are not in disk_storage_overrides are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item. \n\n If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage. ", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage" + } + ] + }, + "disk_storage_overrides": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage" + }, + "description": "Storage specification for individual disks in the deployed virtual machine. This is specified as a mapping between disk identifiers in the source virtual machine template contained in the library item and their storage specifications.\n\nThis property was added in __vSphere API 6.8__.\n\nIf both disk_storage_overrides and disk_storage are missing or `null`, the deployed virtual machine's disks are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item. \n\n If disk_storage_overrides is missing or `null` and disk_storage is specified, all of the deployed virtual machine's disks are created with the storage spec specified by disk_storage. \n\n If disk_storage_overrides is specified and disk_storage is missing or `null`, disks with identifiers that are not in disk_storage_overrides are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item. \n\n If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage. \n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "placement": { + "description": "Information used to place the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will use the values from the source virtual machine template contained in the library item. \n\n If specified, each property will be used for placement. If the properties result in disjoint placement, the operation will fail. If the properties along with the placement values of the source virtual machine template result in disjoint placement, the operation will fail. ", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec" + } + ] + }, + "powered_on": { + "type": "boolean", + "description": "Specifies whether the deployed virtual machine should be powered on after deployment.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual machine will not be powered on after deployment." + }, + "guest_customization": { + "description": "Guest customization spec to apply to the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the guest operating system is not customized after deployment.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec" + } + ] + }, + "hardware_customization": { + "description": "Hardware customization spec which specifies updates to the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same hardware configuration as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec" + } + ] + }, + "tags": { + "type": "array", + "description": "List of tag parameters that contains information to attach tags while deploying a VM\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.TagSpec" + } + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpec schema defines the deployment parameters that can be specified for the deploy operation.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.Datastore.Info": { + "required": [ + "accessible", + "multiple_host_access", + "name", + "thin_provisioning_supported", + "type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the datastore." + }, + "type": { + "type": "string", + "description": "Type (Type) of the datastore.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*." + }, + "accessible": { + "type": "boolean", + "description": "Whether or not this datastore is accessible." + }, + "free_space": { + "type": "integer", + "description": "Available space of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the available space of this datastore is not known.", + "format": "int64" + }, + "multiple_host_access": { + "type": "boolean", + "description": "Whether or not more than one host in the datacenter has been configured with access to the datastore." + }, + "thin_provisioning_supported": { + "type": "boolean", + "description": "Whether or not the datastore supports thin provisioning on a per file basis. When thin provisioning is used, backing storage is lazily allocated." + } + }, + "description": "The Vcenter.Datastore.Info schema contains information about a datastore." + }, + "Vcenter.VmTemplate.LibraryItems.TagNameSpec": { + "required": [ + "category_name", + "tag_name" + ], + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag to attach.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "category_name": { + "type": "string", + "description": "The name of the vSphere category that this tag belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "Represents a vSphere tag by its name and its respective category's name.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vapi.Std.Errors.AlreadyInDesiredState": { + "type": "object", + "description": "The Vapi.Std.Errors.AlreadyInDesiredState error indicates that an attempt to change the state of a resource or service had no effect because the resource or service is already in the desired state. \n\n Examples: \n - Trying to power on a virtual machine that is already powered on.\n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vcenter.Vm.Hardware.Cpu.UpdateSpec": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "New number of CPU cores. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket. \n\n The supported range of CPU counts is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, the number of CPU cores may only be increased if *Vcenter.Vm.Hardware.Cpu.Info.hot_add_enabled* is true, and may only be decreased if *Vcenter.Vm.Hardware.Cpu.Info.hot_remove_enabled* is true.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "New number of CPU cores per socket. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled. \n\n This property may only be modified if the virtual machine is powered off.\n\nIf missing or `null`, the value is unchanged." + }, + "hot_remove_enabled": { + "type": "boolean", + "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled. \n\n This property may only be modified if the virtual machine is powered off.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Cpu.UpdateSpec schema describes the updates to be made to the CPU-related settings of a virtual machine." + }, + "Vcenter.Vm.Hardware.Floppy.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual floppy drive.\n\nPossible values:\n - `IMAGE_FILE`: Virtual floppy drive is backed by an image file.\n - `HOST_DEVICE`: Virtual floppy drive is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual floppy drive is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Floppy.BackingType*." + }, + "image_file": { + "type": "string", + "description": "Path of the image file backing the virtual floppy drive.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.IMAGE_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the host device backing the virtual floppy drive. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual floppy drive is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual floppy drive is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.HOST_DEVICE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Floppy.BackingInfo schema contains information about the physical resource backing a virtual floppy drive." + }, + "Vcenter.Vm.Hardware.Boot.Device.Entry": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Virtual device type.\n\nPossible values:\n - `CDROM`: Virtual CD-ROM device.\n - `DISK`: Virtual disk device.\n - `ETHERNET`: Virtual Ethernet adapter.\n - `FLOPPY`: Virtual floppy drive.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Device.Type*." + }, + "nic": { + "type": "string", + "description": "Virtual Ethernet device. Ethernet device to use as boot device for this entry.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "disks": { + "type": "array", + "description": "Virtual disk device. List of virtual disks in boot order.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Device.Type.DISK*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.Device.Entry schema specifies a bootable virtual device class or specific bootable virtual device(s)." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.Info": { + "required": [ + "label", + "scsi", + "sharing", + "type" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `BUSLOGIC`: BusLogic host bus adapter.\n - `LSILOGIC`: LSI Logic host bus adapter.\n - `LSILOGICSAS`: LSI Logic SAS 1068 host bus adapter.\n - `PVSCSI`: Paravirtualized host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Type*." + }, + "scsi": { + "description": "Address of the SCSI adapter on the SCSI bus.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressInfo" + } + ] + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SCSI adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + }, + "sharing": { + "type": "string", + "description": "Bus sharing mode.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing*." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.Info schema contains information about a virtual SCSI adapter." + }, + "Vapi.Std.Errors.UnableToAllocateResource": { + "type": "object", + "description": "The Vapi.Std.Errors.UnableToAllocateResource error indicates that the operation failed because it was unable to allocate or acquire a required resource. \n\n Examples: \n - Trying to power on a virtual machine when there are not enough licenses to do so. \n - Trying to power on a virtual machine that would violate a resource usage policy. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. A *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n - Trying to remove a VMFS datastore when the is a virtual machine registered on any host attached to the datastore. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n - Trying to add a virtual switch if the physical network adapter being bridged is already in use. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n - Attempt to invoke some operation on a virtual machine when the virtual machine's configuration file is not accessible (for example due to a storage APD condition). The *Vapi.Std.Errors.ResourceInaccessible* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vcenter.Vm.Hardware.SataAddressSpec": { + "required": [ + "bus" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.SataAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual SATA adapter of a virtual machine." + }, + "Vcenter.Datastore.Summary": { + "required": [ + "datastore", + "name", + "type" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "name": { + "type": "string", + "description": "Name of the datastore." + }, + "type": { + "type": "string", + "description": "Type (Type) of the datastore.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*." + }, + "free_space": { + "type": "integer", + "description": "Available space of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the available space of this datastore is not known.", + "format": "int64" + }, + "capacity": { + "type": "integer", + "description": "Capacity of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the capacity of this datastore is not known.", + "format": "int64" + } + }, + "description": "The Vcenter.Datastore.Summary schema contains commonly used information about a datastore." + }, + "Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the deployed virtual machine should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If missing or `null`, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine deployment operation will fail. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the deployed virtual machine should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine deployment operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine deployment operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the deployed virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec schema contains information used to place a virtual machine onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec": { + "type": "object", + "properties": { + "memory": { + "type": "integer", + "description": "Size of a virtual machine's memory in MB.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same memory size as the source virtual machine template.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec schema describes updates to the memory configuration of the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.Folder.Summary": { + "required": [ + "folder", + "name", + "type" + ], + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Identifier of the folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "name": { + "type": "string", + "description": "Name of the vCenter Server folder." + }, + "type": { + "type": "string", + "description": "Type (Type) of the vCenter Server folder.\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n\n\nFor more information see: *Vcenter.Folder.Type*." + } + }, + "description": "The Vcenter.Folder.Summary schema contains commonly used information about a folder." + }, + "Vcenter.Cluster.Summary": { + "required": [ + "cluster", + "drs_enabled", + "ha_enabled", + "name" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier of the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "name": { + "type": "string", + "description": "Name of the cluster." + }, + "ha_enabled": { + "type": "boolean", + "description": "Flag indicating whether the vSphere HA feature is enabled for the cluster." + }, + "drs_enabled": { + "type": "boolean", + "description": "Flag indicating whether the vSphere DRS service is enabled for the cluster." + } + }, + "description": "The Vcenter.Cluster.Summary schema contains commonly used information about a cluster in vCenter Server." + }, + "Vcenter.VM.Info": { + "required": [ + "boot", + "boot_devices", + "cdroms", + "cpu", + "disks", + "floppies", + "guest_os", + "hardware", + "memory", + "name", + "nics", + "parallel_ports", + "power_state", + "sata_adapters", + "scsi_adapters", + "serial_ports" + ], + "type": "object", + "properties": { + "guest_os": { + "type": "string", + "description": "Guest OS.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*." + }, + "name": { + "type": "string", + "description": "Virtual machine name." + }, + "identity": { + "description": "Identity of the virtual machine.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Identity.Info" + } + ] + }, + "power_state": { + "type": "string", + "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." + }, + "instant_clone_frozen": { + "type": "boolean", + "description": "Indicates whether the virtual machine is frozen for instant clone, or not.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "hardware": { + "description": "Virtual hardware version information.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Info" + } + ] + }, + "boot": { + "description": "Boot configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Info" + } + ] + }, + "boot_devices": { + "type": "array", + "description": "Boot device configuration. If the list has no entries, a server-specific default boot sequence is used.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.Entry" + } + }, + "cpu": { + "description": "CPU configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.Info" + } + ] + }, + "memory": { + "description": "Memory configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.Info" + } + ] + }, + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.Info" + }, + "description": "List of disks.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "nics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.Info" + }, + "description": "List of Ethernet adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "cdroms": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.Info" + }, + "description": "List of CD-ROMs.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`." + }, + "floppies": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.Info" + }, + "description": "List of floppy drives.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`." + }, + "parallel_ports": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.Info" + }, + "description": "List of parallel ports.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`." + }, + "serial_ports": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.Info" + }, + "description": "List of serial ports.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`." + }, + "sata_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.Info" + }, + "description": "List of SATA adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`." + }, + "scsi_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.Info" + }, + "description": "List of SCSI adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`." + }, + "nvme_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.Info" + }, + "description": "List of NVMe adapters.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`." + } + }, + "description": "Document-based info." + }, + "Vcenter.Vm.Identity.Info": { + "required": [ + "bios_uuid", + "instance_uuid", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Virtual machine name.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "bios_uuid": { + "type": "string", + "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "instance_uuid": { + "type": "string", + "description": "VirtualCenter-specific 128-bit UUID of a virtual machine, represented as a hexadecimal string. This identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID.\n\nThis property was added in __vSphere API 6.7.1__." + } + }, + "description": "The Vcenter.Vm.Identity.Info schema contains information about the identity of a virtual machine.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.VM.Summary": { + "required": [ + "name", + "power_state", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of the virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "name": { + "type": "string", + "description": "Name of the Virtual machine." + }, + "power_state": { + "type": "string", + "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." + }, + "cpu_count": { + "type": "integer", + "description": "Number of CPU cores.\n\nThis property will be missing or `null` if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the initial phases of virtual machine creation.", + "format": "int64" + }, + "memory_size_mib": { + "type": "integer", + "description": "Memory size in mebibytes.\n\nThis property will be missing or `null` if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the initial phases of virtual machine creation.", + "format": "int64" + } + }, + "description": "The Vcenter.VM.Summary schema contains commonly used information about a virtual machine." + } + } + } +} diff --git a/VMware/vSphere/README.md b/VMware/vSphere/README.md index a25ca5e..0283a36 100644 --- a/VMware/vSphere/README.md +++ b/VMware/vSphere/README.md @@ -1,8 +1,8 @@ # vSphere -VMware vSphere is VMware's virtualization platform for datacenter and cloud infrastructure, built on the ESXi hypervisor and vCenter Server. vCenter Server provides centralized management of hosts, clusters, virtual machines, datastores, and networking across an environment, and exposes the vSphere Automation API — a REST interface — for programmatic access to that inventory. +VMware vSphere is VMware's virtualization platform for datacenter and cloud infrastructure, built on the ESXi hypervisor and vCenter Server. vCenter Server provides centralized management of hosts, clusters, virtual machines, datastores, and networking across an environment, and exposes two generations of REST API for programmatic access to that inventory: the legacy `/rest` API (vSphere 6.5+) and the modern `/api`-based **vSphere Automation API** (7.0 U2+, Broadcom's current official name and recommended direction — `/rest` is deprecated, though still functional). This repo provides both, as two independent Integration Models and Studio Projects — see **Choosing /rest vs /api** below. -This project provides a Studio Project of workflows covering the vCenter REST API operations most useful for infrastructure automation — so you don't have to dig through the full API surface to find them — plus OpenAPI specs for building your own automation via an Integration Model. See **Studio Projects** and **OpenAPIs** below. +This project provides Studio Projects of workflows covering the vCenter REST API operations most useful for infrastructure automation — so you don't have to dig through the full API surface to find them — plus OpenAPI specs for building your own automation via an Integration Model. See **Studio Projects** and **OpenAPIs** below. ## Table of Contents @@ -10,39 +10,60 @@ This project provides a Studio Project of workflows covering the vCenter REST AP - [Table of Contents](#table-of-contents) - [Contents](#contents) - [Requirements](#requirements) - - [Integration Configuration](#integration-configuration) + - [Choosing /rest vs /api](#choosing-rest-vs-api) + - [Integration Configuration — VMware vSphere vCenter (/rest)](#integration-configuration--vmware-vsphere-vcenter-rest) - [Connection Properties](#connection-properties) - [Session Authentication](#session-authentication) - [Generating the Basic Auth Header](#generating-the-basic-auth-header) + - [Integration Configuration — VMware vSphere Automation (/api)](#integration-configuration--vmware-vsphere-automation-api) + - [Connection Properties](#connection-properties-1) + - [Why /rest for Auth Bootstrap](#why-rest-for-auth-bootstrap) - [OpenAPIs](#openapis) - [`vmware_vsphere_vcenter-latest.json`](#vmware_vsphere_vcenter-latestjson) - [`vmware_vsphere_vcenter-2.0.0.json`](#vmware_vsphere_vcenter-200json) + - [`vmware_vsphere_automation-latest.json`](#vmware_vsphere_automation-latestjson) + - [`vmware_vsphere_automation-9.1.0.0.json`](#vmware_vsphere_automation-9100json) - [Studio Projects](#studio-projects) - [VMware vSphere vCenter Project](#vmware-vsphere-vcenter-project) - [Folder Structure](#folder-structure) - [Dependencies](#dependencies) - [Known Limitations](#known-limitations) + - [VMware vSphere Automation Project](#vmware-vsphere-automation-project) + - [Folder Structure](#folder-structure-1) + - [Dependencies](#dependencies-1) + - [Known Limitations](#known-limitations-1) ## Contents | Asset | Description | |---|---| -| [OpenAPIs/](./OpenAPIs/) | vCenter REST API OpenAPI specs — curated `-latest` plus the full generated spec | -| [Studio Projects/](./Studio%20Projects/) | Itential Platform project containing all 22 workflows in 2 folders | +| [OpenAPIs/](./OpenAPIs/) | Two independent pairs of specs — curated `-latest` plus the full spec, for both the `/rest` and `/api` generations | +| [Studio Projects/VMware vSphere vCenter](./Studio%20Projects/VMware%20vSphere%20vCenter.project.json) | 22 workflows on the legacy `/rest` API | +| [Studio Projects/VMware vSphere Automation](./Studio%20Projects/VMware%20vSphere%20Automation.project.json) | The same 22 workflows, rebuilt on the modern `/api` surface | ## Requirements | Requirement | Version | |---|---| | Itential Platform | P6+ | -| VMware vCenter Server | 7.0+ (generated against 9.1; the included VM/host/cluster/datastore operations are stable across 7.0–9.x) | -| `VMware vSphere vCenter:latest` Integration Model | Required to build automation against the OpenAPI specs | +| VMware vCenter Server | 6.5+ for `/rest` (7.0 U2+ if you want `/api` instead — see below) | +| `VMware vSphere vCenter:latest` Integration Model | Required for the `/rest`-based project | +| `VMware vSphere Automation:latest` Integration Model | Required for the `/api`-based project | -> **Note:** This project does not require Itential Gateway. All API calls are made directly from Itential Platform to the vCenter REST API. +> **Note:** Neither project requires Itential Gateway for its actual business API calls — those go directly from Itential Platform to vCenter. The `/api` project's dynamic auth retrieval, however, is routed through Gateway if your integration instance is gateway-configured (see **Why /rest for Auth Bootstrap** below) — a platform limitation in that path is why its auth bootstrap deliberately targets the `/rest` session endpoint rather than `/api/session`. -## Integration Configuration +## Choosing /rest vs /api -Import one of the OpenAPI specs from `OpenAPIs/` as an Integration Model in **Admin > Integrations**, then create an integration pointing at your vCenter Server. +Both projects cover the identical 22 workflows (inventory listing, VM lifecycle, hardware CRUD) — same automation, same scope, different transport underneath. Pick based on your vCenter version: + +- **Use `VMware vSphere vCenter` (`/rest`)** if your vCenter is older than 7.0 U2, or you just need the proven, already-validated option. +- **Use `VMware vSphere Automation` (`/api`)** if your vCenter is 7.0 U2+ — it's Broadcom's current recommended direction (`/rest` is deprecated, though not yet removed), and gives access to a much larger operation surface (1300+ operations in the full spec) beyond what's curated into this project's 22 workflows, if you need to extend it yourself. + +**Run both in parallel** if you manage vCenters on different versions, or want both available: import both Integration Models and create two separate integration instances — `vSphere vCenter` and `vSphere Automation` — each project's workflows are wired to its own instance name, so they don't collide. The two API generations use genuinely different operations under the hood (not just different auth on the same calls), so there's no single project or instance that works interchangeably against either — you need the matching project for whichever model(s) you have imported. + +## Integration Configuration — VMware vSphere vCenter (/rest) + +Import `vmware_vsphere_vcenter-latest.json` as an Integration Model in **Admin > Integrations**, then create an integration pointing at your vCenter Server. ### Connection Properties @@ -90,12 +111,57 @@ echo -n ':' | base64 Prefix the output with `Basic ` (e.g. `Basic dXNlcjpwYXNz`) and use that full string as `parameters.Authorization` above. +## Integration Configuration — VMware vSphere Automation (/api) + +Import `vmware_vsphere_automation-latest.json` as an Integration Model in **Admin > Integrations**, then create an integration pointing at your vCenter Server. + +### Connection Properties + +```json +{ + "server": { + "protocol": "https", + "host": "", + "base_path": "/api" + }, + "authentication": { + "sessionIdAuth": { + "dynamicRetrieval": { + "method": "POST", + "url": "https:///rest/com/vmware/cis/session", + "responsePointer": "/value" + }, + "parameters": { + "Authorization": "Basic " + } + } + }, + "tls": { + "enabled": true, + "rejectUnauthorized": false + }, + "variables": {}, + "version": "latest" +} +``` + +Same session-based dynamic retrieval as the `/rest` project (see **Session Authentication** above — the idle timeout, auto-refresh-on-401, and Basic-header generation steps are identical), with two differences specific to `/api`: + +1. **`server.base_path` must be `/api`**, not empty. This spec's `servers.url` template (`https://{host}/api`) doesn't cleanly split into Itential Platform's `host`/`base_path` fields on its own — `host` should be the bare hostname, and `/api` goes in `base_path` explicitly, or business calls will 404 on the missing prefix. +2. **`dynamicRetrieval.url` deliberately targets the legacy `/rest` session endpoint**, not `/api/session` — see below for why. + +### Why /rest for Auth Bootstrap + +`vmware-api-session-id` is a single, unified session token shared by both the legacy `/rest` API and the modern `/api` surface — whichever endpoint issues it, the other accepts it. This spec uses that to route around a confirmed Itential Platform bug: when a dynamic-retrieval auth request is routed through an Automation Gateway (the normal setup for cloud-hosted/trial platforms) and the target endpoint's response body is a bare JSON string rather than an object, `Gateway.js` unconditionally attempts to `JSON.parse()` an already-decoded string a second time, which throws whenever that string isn't itself valid JSON syntax (e.g. a session token starting with a digit). `/api/session`'s response is exactly that — a bare string (`type: string` in the vendor's own spec) — while `/rest/com/vmware/cis/session`'s response is an object (`{"value": ""}`), which sidesteps the bug entirely (an object-typed body skips the erroneous re-parse). Confirmed live: a token minted via `/rest` works identically against `/api/*` endpoints, so bootstrapping auth through `/rest` while every actual business call still targets `/api` is a clean, permanent fix — not a workaround — for gateway-routed integrations. This is a platform-level gap, not specific to vSphere — any Integration Model with dynamic API key retrieval, routed through a Gateway, against an endpoint whose session response is a bare JSON string rather than an object, will hit the same failure. Worth checking for an object-shaped alternate auth endpoint (as this spec does) before assuming dynamic retrieval simply doesn't work. + ## OpenAPIs | Spec | Version | Operations | Description | |---|---|---|---| -| [`vmware_vsphere_vcenter-latest.json`](./OpenAPIs/vmware_vsphere_vcenter-latest.json) | latest (curated) | 91 | Actively-maintained, trimmed to 91 of 178 upstream operations covering common CRUD for infrastructure automation — see breakdown below | -| [`vmware_vsphere_vcenter-2.0.0.json`](./OpenAPIs/vmware_vsphere_vcenter-2.0.0.json) | 2.0.0 | 178 | Full spec generated from a live vCenter instance | +| [`vmware_vsphere_vcenter-latest.json`](./OpenAPIs/vmware_vsphere_vcenter-latest.json) | latest (curated) | 91 | Actively-maintained, trimmed to 91 of 178 upstream `/rest` operations covering common CRUD for infrastructure automation — see breakdown below | +| [`vmware_vsphere_vcenter-2.0.0.json`](./OpenAPIs/vmware_vsphere_vcenter-2.0.0.json) | 2.0.0 | 178 | Full `/rest` spec generated from a live vCenter instance | +| [`vmware_vsphere_automation-latest.json`](./OpenAPIs/vmware_vsphere_automation-latest.json) | latest (curated) | 22 | Actively-maintained, trimmed to 22 of 1363 upstream `/api` operations — matches the `/rest` project's scope 1:1, see breakdown below | +| [`vmware_vsphere_automation-9.1.0.0.json`](./OpenAPIs/vmware_vsphere_automation-9.1.0.0.json) | 9.1.0.0 | 1363 | Full `/api` spec, officially published by Broadcom | ### `vmware_vsphere_vcenter-latest.json` @@ -113,9 +179,25 @@ Resources included, by category: ### `vmware_vsphere_vcenter-2.0.0.json` -Full spec (178 operations), generated directly from a live vCenter 9.1 instance using VMware's [`vmware-openapi-generator`](https://github.com/vmware/vmware-openapi-generator). VMware doesn't publish a static OpenAPI/Swagger file for the vSphere Automation API, so this is captured from a running server's metamodel rather than preserved from an official vendor download — regenerate against your own vCenter if you need an exact match to a different version. See `vmware_vsphere_vcenter-latest.json` above for the curated subset if you just need common CRUD automation. +Full spec (178 operations), generated directly from a live vCenter 9.1 instance using VMware's [`vmware-openapi-generator`](https://github.com/vmware/vmware-openapi-generator), which only picked up `/rest`-style bindings on this instance despite it being well past the `/api` cutover — see `vmware_vsphere_automation-9.1.0.0.json` below for the modern surface, which turned out to have an official published source instead of needing generation. Regenerate against your own vCenter if you need an exact `/rest` match to a different version. See `vmware_vsphere_vcenter-latest.json` above for the curated subset if you just need common CRUD automation. + +vSphere's `/rest` API uses dot-notation query parameter names for list filters (e.g. `filter.names`, `filter.clusters`), which Itential Platform's naming convention doesn't allow — these optional filter parameters are omitted here too, for the same reason. See Known Limitations below. -vSphere's REST API uses dot-notation query parameter names for list filters (e.g. `filter.names`, `filter.clusters`), which Itential Platform's naming convention doesn't allow — these optional filter parameters are omitted here too, for the same reason. See Known Limitations below. +### `vmware_vsphere_automation-latest.json` + +Actively-maintained spec (`x-vendor-api-version: 9.1.0.0`). Trimmed to 22 of 1363 upstream `/api` operations, deliberately matching the `/rest` project's scope 1:1 — same automation coverage, modern transport. The full upstream spec covers vastly more: ESX host lifecycle/settings management, Content Library, Appliance self-administration, Supervisor/Namespace Management (Kubernetes), vAPI introspection, and CIS session/task management, none of which are included here — see `vmware_vsphere_automation-9.1.0.0.json` below if you need any of that. + +Resources included, by category: + +- **Inventory**: Datacenters, Clusters, Hosts, Datastores (list + get), Networks, Folders, Resource Pools +- **Virtual Machines**: List/get/delete, power on/off, create from Content Library template +- **VM Hardware**: CPU and memory update, disk create/update/delete, Ethernet adapter create/update/delete + +Only `Vcenter.VM_list` has been individually confirmed live against a real vCenter (7.0.3) during development — the rest follow the identical incoming-field pattern Itential Platform generates for every OpenAPI operation (path parameters as flat fields, JSON request bodies as a `requestBodyPayload`/`bodyContentType` pair) and validated structurally, but haven't each been individually exercised. Worth a validation pass against your own vCenter before relying on the less-common ones (hardware CRUD, template deploy) in production. + +### `vmware_vsphere_automation-9.1.0.0.json` + +Full spec (1363 operations), sourced directly from Broadcom's official [`vmware/vcf-api-specs`](https://github.com/vmware/vcf-api-specs) GitHub repository (`specifications/vsphere/openapi/automation/vcenter.yaml`) — unlike the `/rest` spec above, this one has a genuine vendor-published source, not something generated from a live instance. Preserved as published except for the `sessionIdAuth` security scheme, which was adapted from the vendor's three alternative auth methods (`basic_auth`, `api_key_auth`, `federated_identity_auth`) down to one dynamic-retrieval scheme — see **Why /rest for Auth Bootstrap** above for why it targets the legacy `/rest` session endpoint instead of `/api/session`, and why `basic_auth`/`federated_identity_auth` aren't usable here (Basic auth only works for session bootstrap, confirmed `401` against real business endpoints; federated/SSO auth isn't expressible as an Itential securityScheme). The one operation that structurally required `federated_identity_auth` (`Vcenter.Authentication.Token_issue`) and the `/session` path itself (absorbed into the security scheme) are excluded from both this file and the curated one, for the same reason. --- @@ -139,9 +221,33 @@ CRUD is only built out where vCenter's REST API actually supports it. Inventory | Dependency | Notes | |---|---| | `VMware vSphere vCenter:latest` Integration Model | Import from [`vmware_vsphere_vcenter-latest.json`](./OpenAPIs/vmware_vsphere_vcenter-latest.json) before importing the project | -| `vSphere` integration instance | Create in **Admin > Integrations** with the connection properties above. Workflows are wired to an integration instance named `vSphere` — update the `adapter_id` value in each workflow task if yours is named differently | +| `vSphere vCenter` integration instance | Create in **Admin > Integrations** with the connection properties above. Workflows are wired to an integration instance named `vSphere vCenter` — update the `adapter_id` value in each workflow task if yours is named differently. Named to distinguish it from the `/api` project's `vSphere Automation` instance if running both in parallel — see **Choosing /rest vs /api** above | #### Known Limitations - **No server-side filtering**: every `List` workflow returns the full unfiltered inventory. Filter client-side if you need a subset. - **No cluster/host/resource-pool capacity data**: vCenter's REST API doesn't expose CPU or memory utilization for clusters, hosts, or resource pools — that data lives in the older SOAP-based Performance Manager API, which isn't part of this Integration Model. `Get Datastore` is the only workflow with a real capacity number (`free_space`); there's no equivalent for compute capacity. + +### VMware vSphere Automation Project + +Backed by the **`VMware vSphere Automation:latest`** Integration Model (see [`vmware_vsphere_automation-latest.json`](./OpenAPIs/vmware_vsphere_automation-latest.json) above). The project contains the same **22 workflows** in the same **2 folders** as the `/rest` project above, rebuilt on the modern `/api` operations — same names, same scope, same ` ` convention, so migrating between the two (or running both side by side) doesn't change how you think about the automation, only which Integration Model and instance backs it. + +#### Folder Structure + +| Folder | Workflows | Scope | +|---|---|---| +| Inventory | List Clusters, List Hosts, List Datastores, List Networks, List Folders, List Resource Pools, List Datacenters, Get Datastore | Read-only inventory lookups | +| Virtual Machines | List Virtual Machines, Get Virtual Machine, Create Virtual Machine (from Template), Update Virtual Machine CPU, Update Virtual Machine Memory, Add/Update/Delete Virtual Machine Disk, Add/Update/Delete Virtual Machine Network Adapter, Power On/Off Virtual Machine, Delete Virtual Machine | Full VM lifecycle | + +#### Dependencies + +| Dependency | Notes | +|---|---| +| `VMware vSphere Automation:latest` Integration Model | Import from [`vmware_vsphere_automation-latest.json`](./OpenAPIs/vmware_vsphere_automation-latest.json) before importing the project | +| `vSphere Automation` integration instance | Create in **Admin > Integrations** with the connection properties above. Workflows are wired to an integration instance named `vSphere Automation` — update the `adapter_id` value in each workflow task if yours is named differently. Named to run in parallel alongside the `/rest` project's `vSphere vCenter` instance without colliding | + +#### Known Limitations + +- **Only `List Virtual Machines` has been individually live-tested** against a real vCenter (7.0.3) — see the `vmware_vsphere_automation-latest.json` spec section above. The rest follow the same platform-generated task pattern but haven't each been individually exercised; validate against your own vCenter before relying on the less-common workflows (hardware CRUD, template deploy) in production. +- **No server-side filtering**: every `List` workflow returns the full unfiltered inventory, same as the `/rest` project. +- **No cluster/host/resource-pool capacity data**: same gap as `/rest` — that data lives outside both REST API generations, in the older SOAP-based Performance Manager API. diff --git a/VMware/vSphere/Studio Projects/VMware vSphere Automation.project.json b/VMware/vSphere/Studio Projects/VMware vSphere Automation.project.json new file mode 100644 index 0000000..6b2564b --- /dev/null +++ b/VMware/vSphere/Studio Projects/VMware vSphere Automation.project.json @@ -0,0 +1,2666 @@ +{ + "_id": "6a7e57ef997bdc661d6f9f85", + "name": "VMware vSphere Automation", + "description": "Modern /api-based counterpart to the VMware vSphere vCenter (/rest) project -- same inventory and VM lifecycle coverage (list/get inventory objects, create VM from template, power operations, CPU/memory/disk/network hardware CRUD, delete), built on the VMware vSphere Automation:latest Integration Model instead of the legacy REST API. Designed to run in parallel with the /rest project under a separate integration instance name (\"vSphere Automation\") -- see the product README for when to use each.", + "components": [ + { + "iid": 0, + "type": "workflow", + "reference": "e335229f-f8a7-4a6c-a68c-5371ee619362", + "folder": "/Inventory", + "document": { + "name": "List Clusters", + "description": "Lists clusters in the vCenter inventory.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Cluster_list", + "canvasName": "Vcenter.Cluster_list", + "summary": "Lists clusters in the vCenter inventory.", + "description": "Lists clusters in the vCenter inventory.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "1bbef0b9-ddf6-43e0-816d-8f075f8438e7", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 1, + "type": "workflow", + "reference": "a4a0d213-d656-4126-a4c4-538fab75cf09", + "folder": "/Inventory", + "document": { + "name": "List Hosts", + "description": "Lists hosts in the vCenter inventory.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Host_list", + "canvasName": "Vcenter.Host_list", + "summary": "Lists hosts in the vCenter inventory.", + "description": "Lists hosts in the vCenter inventory.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "dafbe2ca-e548-4c96-9302-60ce7157bc32", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 2, + "type": "workflow", + "reference": "f5709a57-a5b0-4cbf-95c6-3017462fd3be", + "folder": "/Inventory", + "document": { + "name": "List Datastores", + "description": "Lists datastores in the vCenter inventory.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Datastore_list", + "canvasName": "Vcenter.Datastore_list", + "summary": "Lists datastores in the vCenter inventory.", + "description": "Lists datastores in the vCenter inventory.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "7f63bbf1-97b7-490c-95fe-b758a09ed2d9", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 3, + "type": "workflow", + "reference": "83085f9e-3309-4aa5-ba6f-b3cc7f444e83", + "folder": "/Inventory", + "document": { + "name": "List Networks", + "description": "Lists networks in the vCenter inventory.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Network_list", + "canvasName": "Vcenter.Network_list", + "summary": "Lists networks in the vCenter inventory.", + "description": "Lists networks in the vCenter inventory.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "3b05d381-80d2-44ca-b413-1537ade9d060", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 4, + "type": "workflow", + "reference": "669d425a-28f7-4cf8-a44b-060b721a00e2", + "folder": "/Inventory", + "document": { + "name": "List Folders", + "description": "Lists folders in the vCenter inventory.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Folder_list", + "canvasName": "Vcenter.Folder_list", + "summary": "Lists folders in the vCenter inventory.", + "description": "Lists folders in the vCenter inventory.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "0a69b20d-90e7-463d-a71a-a62a9d6208a6", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 5, + "type": "workflow", + "reference": "9b60b3d9-e100-4121-8cee-a366a512ad7a", + "folder": "/Inventory", + "document": { + "name": "List Resource Pools", + "description": "Lists resource pools in the vCenter inventory.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.ResourcePool_list", + "canvasName": "Vcenter.ResourcePool_list", + "summary": "Lists resource pools in the vCenter inventory.", + "description": "Lists resource pools in the vCenter inventory.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "3f508fa2-428c-41cf-9ff3-3c2e64a1eb36", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 6, + "type": "workflow", + "reference": "b6e78929-f56d-4224-b565-c9628c0dcdde", + "folder": "/Inventory", + "document": { + "name": "List Datacenters", + "description": "Lists datacenters in the vCenter inventory.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Datacenter_list", + "canvasName": "Vcenter.Datacenter_list", + "summary": "Lists datacenters in the vCenter inventory.", + "description": "Lists datacenters in the vCenter inventory.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "cabeb908-4eff-49d4-b0c7-cee44e2993d2", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 7, + "type": "workflow", + "reference": "f7c01fe2-74a5-484d-9e17-ef8bc5240b47", + "folder": "/Inventory", + "document": { + "name": "Get Datastore", + "description": "Gets details for a specific datastore.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Datastore_get", + "canvasName": "Vcenter.Datastore_get", + "summary": "Gets details for a specific datastore.", + "description": "Gets details for a specific datastore.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "datastore": "$var.job.datastore" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "datastore" + ], + "properties": { + "datastore": { + "type": "string", + "default": "datastore-1001" + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "8730e954-cf23-42c1-b9c2-188af1553905", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 8, + "type": "workflow", + "reference": "9d8c9002-e4ac-48d9-b7ff-70845ae080f5", + "folder": "/Virtual Machines", + "document": { + "name": "List Virtual Machines", + "description": "Lists virtual machines in the vCenter inventory. Confirmed working live against a real vCenter during development.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.VM_list", + "canvasName": "Vcenter.VM_list", + "summary": "Lists virtual machines in the vCenter inventory. Confirmed working live against a real vCenter during development.", + "description": "Lists virtual machines in the vCenter inventory. Confirmed working live against a real vCenter during development.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "871903c1-afcb-4e3b-9ddb-80d4e3c1cde1", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 9, + "type": "workflow", + "reference": "b56091e8-ac59-461a-92bc-58f225775093", + "folder": "/Virtual Machines", + "document": { + "name": "Get Virtual Machine", + "description": "Gets details for a specific virtual machine.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.VM_get", + "canvasName": "Vcenter.VM_get", + "summary": "Gets details for a specific virtual machine.", + "description": "Gets details for a specific virtual machine.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "de471e05-36aa-4f68-84f7-422cea40284c", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 10, + "type": "workflow", + "reference": "1fb41b53-ea1f-45c6-bcf9-6dc599be7ee6", + "folder": "/Virtual Machines", + "document": { + "name": "Power On Virtual Machine", + "description": "Powers on a virtual machine.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Power_start", + "canvasName": "Vcenter.Vm.Power_start", + "summary": "Powers on a virtual machine.", + "description": "Powers on a virtual machine.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "5b641ae9-0eea-4e80-9386-4c2af3e64b59", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 11, + "type": "workflow", + "reference": "06b44f07-ac1e-4940-9374-90db59d9118f", + "folder": "/Virtual Machines", + "document": { + "name": "Power Off Virtual Machine", + "description": "Powers off a virtual machine (hard stop, not a graceful guest shutdown).", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Power_stop", + "canvasName": "Vcenter.Vm.Power_stop", + "summary": "Powers off a virtual machine (hard stop, not a graceful guest shutdown).", + "description": "Powers off a virtual machine (hard stop, not a graceful guest shutdown).", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "b4ed7b03-270c-49c1-a3e4-0eceffb4067f", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 12, + "type": "workflow", + "reference": "7c5efe45-9e14-4178-b2c3-8fc3bd3a801e", + "folder": "/Virtual Machines", + "document": { + "name": "Delete Virtual Machine", + "description": "Deletes a virtual machine. Irreversible -- the VM must be powered off first.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.VM_delete", + "canvasName": "Vcenter.VM_delete", + "summary": "Deletes a virtual machine. Irreversible -- the VM must be powered off first.", + "description": "Deletes a virtual machine. Irreversible -- the VM must be powered off first.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "b1ff0b7e-773e-4c7d-b743-43bf2a4c15de", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 13, + "type": "workflow", + "reference": "f95055b9-3ca1-4955-94d4-2a31d1df35a6", + "folder": "/Virtual Machines", + "document": { + "name": "Create Virtual Machine (from Template)", + "description": "Deploys a new virtual machine from a Content Library VM template.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.VmTemplate.LibraryItems_deploy", + "canvasName": "Vcenter.VmTemplate.LibraryItems_deploy", + "summary": "Deploys a new virtual machine from a Content Library VM template.", + "description": "Deploys a new virtual machine from a Content Library VM template.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "templateLibraryItem": "$var.job.templateLibraryItem", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.body" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "templateLibraryItem" + ], + "properties": { + "templateLibraryItem": { + "type": "string", + "default": "11111111-2222-3333-4444-555555555555" + }, + "body": { + "type": "object", + "default": { + "name": "new-vm-from-template", + "placement": { + "resource_pool": "resgroup-1001", + "folder": "group-v1001" + } + } + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "003fd7f6-e209-43e6-911b-6d8bbfa7854d", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 14, + "type": "workflow", + "reference": "d63e60a3-a3fb-4a00-8f55-9d62c9269016", + "folder": "/Virtual Machines", + "document": { + "name": "Update Virtual Machine CPU", + "description": "Updates a virtual machine's CPU count. The VM must be powered off unless hot-add/hot-remove is enabled.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Hardware.Cpu_update", + "canvasName": "Vcenter.Vm.Hardware.Cpu_update", + "summary": "Updates a virtual machine's CPU count. The VM must be powered off unless hot-add/hot-remove is enabled.", + "description": "Updates a virtual machine's CPU count. The VM must be powered off unless hot-add/hot-remove is enabled.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.body" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + }, + "body": { + "type": "object", + "default": { + "count": 4 + } + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "f6004c4e-10f2-4dd3-bae0-65ce6c53efab", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 15, + "type": "workflow", + "reference": "53637d5f-8c44-4c6e-8cf5-a6d62403e24b", + "folder": "/Virtual Machines", + "document": { + "name": "Update Virtual Machine Memory", + "description": "Updates a virtual machine's memory size. The VM must be powered off unless hot-add is enabled.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Hardware.Memory_update", + "canvasName": "Vcenter.Vm.Hardware.Memory_update", + "summary": "Updates a virtual machine's memory size. The VM must be powered off unless hot-add is enabled.", + "description": "Updates a virtual machine's memory size. The VM must be powered off unless hot-add is enabled.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.body" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + }, + "body": { + "type": "object", + "default": { + "size_mib": 8192 + } + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "27a8cae4-8a1a-45e4-8c1e-bbd335f81393", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 16, + "type": "workflow", + "reference": "7a56f15b-d419-470c-b593-a225ecfd3024", + "folder": "/Virtual Machines", + "document": { + "name": "Add Virtual Machine Disk", + "description": "Adds a new virtual disk to a virtual machine.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Hardware.Disk_create", + "canvasName": "Vcenter.Vm.Hardware.Disk_create", + "summary": "Adds a new virtual disk to a virtual machine.", + "description": "Adds a new virtual disk to a virtual machine.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.body" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + }, + "body": { + "type": "object", + "default": { + "type": "SCSI", + "new_vmdk": { + "capacity": 17179869184 + } + } + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "6d8a4c67-e273-4cca-ba5f-648f38051a22", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 17, + "type": "workflow", + "reference": "8455a621-d96f-4c63-ac4b-5aa87c7e0edb", + "folder": "/Virtual Machines", + "document": { + "name": "Update Virtual Machine Disk", + "description": "Updates a virtual machine disk's backing configuration. The VM must be powered off.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Hardware.Disk_update", + "canvasName": "Vcenter.Vm.Hardware.Disk_update", + "summary": "Updates a virtual machine disk's backing configuration. The VM must be powered off.", + "description": "Updates a virtual machine disk's backing configuration. The VM must be powered off.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm", + "disk": "$var.job.disk", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.body" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm", + "disk" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + }, + "disk": { + "type": "string", + "default": "2000" + }, + "body": { + "type": "object", + "default": {} + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "0decf140-58ef-4869-8278-e177aa32e20c", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 18, + "type": "workflow", + "reference": "49fed5bf-86a3-4195-9f01-d7afb93eea1e", + "folder": "/Virtual Machines", + "document": { + "name": "Delete Virtual Machine Disk", + "description": "Removes a virtual disk from a virtual machine.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Hardware.Disk_delete", + "canvasName": "Vcenter.Vm.Hardware.Disk_delete", + "summary": "Removes a virtual disk from a virtual machine.", + "description": "Removes a virtual disk from a virtual machine.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm", + "disk": "$var.job.disk" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm", + "disk" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + }, + "disk": { + "type": "string", + "default": "2000" + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "d159cc08-8b84-46d2-9011-19ec3ab7ea20", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 19, + "type": "workflow", + "reference": "bfec3737-9704-4985-bd86-5daa4e232032", + "folder": "/Virtual Machines", + "document": { + "name": "Add Virtual Machine Network Adapter", + "description": "Adds a new virtual Ethernet adapter to a virtual machine.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Hardware.Ethernet_create", + "canvasName": "Vcenter.Vm.Hardware.Ethernet_create", + "summary": "Adds a new virtual Ethernet adapter to a virtual machine.", + "description": "Adds a new virtual Ethernet adapter to a virtual machine.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.body" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + }, + "body": { + "type": "object", + "default": { + "type": "VMXNET3" + } + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "64c0bace-a0c1-4c80-b943-f34a7eb5f1b4", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 20, + "type": "workflow", + "reference": "2dc9f2c1-33ba-427b-a632-ba6e5a09e79a", + "folder": "/Virtual Machines", + "document": { + "name": "Update Virtual Machine Network Adapter", + "description": "Updates a virtual machine's Ethernet adapter configuration.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Hardware.Ethernet_update", + "canvasName": "Vcenter.Vm.Hardware.Ethernet_update", + "summary": "Updates a virtual machine's Ethernet adapter configuration.", + "description": "Updates a virtual machine's Ethernet adapter configuration.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm", + "nic": "$var.job.nic", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.body" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm", + "nic" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + }, + "nic": { + "type": "string", + "default": "4000" + }, + "body": { + "type": "object", + "default": {} + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "00c702c4-7bea-42cf-af92-23b496425bb5", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 21, + "type": "workflow", + "reference": "3ae78d78-1466-4db6-a189-3b79fbf68936", + "folder": "/Virtual Machines", + "document": { + "name": "Delete Virtual Machine Network Adapter", + "description": "Removes a virtual Ethernet adapter from a virtual machine.", + "type": "automation", + "canvasVersion": 3, + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "Vcenter.Vm.Hardware.Ethernet_delete", + "canvasName": "Vcenter.Vm.Hardware.Ethernet_delete", + "summary": "Removes a virtual Ethernet adapter from a virtual machine.", + "description": "Removes a virtual Ethernet adapter from a virtual machine.", + "location": "Adapter", + "locationType": "VMware vSphere Automation:latest", + "app": "VMware vSphere Automation:latest", + "type": "automatic", + "displayName": "VMware", + "variables": { + "incoming": { + "adapter_id": "vSphere Automation", + "vm": "$var.job.vm", + "nic": "$var.job.nic" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "required": [ + "vm", + "nic" + ], + "properties": { + "vm": { + "type": "string", + "default": "vm-100534" + }, + "nic": { + "type": "string", + "default": "4000" + } + } + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "response": {} + } + }, + "last_updated": "2026-08-14T00:00:00.000Z", + "last_updated_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedVersion": "5.55.5", + "uuid": "5351590b-efbc-42b4-808d-7859a133d1d7", + "created": "2026-08-14T00:00:00.000Z", + "created_by": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "createdVersion": "5.55.5", + "scenarios": [], + "tags": [], + "groups": [], + "migrationVersion": 8 + } + } + ], + "folders": [ + { + "nodeType": "folder", + "name": "Inventory", + "children": [ + { + "nodeType": "component", + "iid": 0 + }, + { + "nodeType": "component", + "iid": 1 + }, + { + "nodeType": "component", + "iid": 2 + }, + { + "nodeType": "component", + "iid": 3 + }, + { + "nodeType": "component", + "iid": 4 + }, + { + "nodeType": "component", + "iid": 5 + }, + { + "nodeType": "component", + "iid": 6 + }, + { + "nodeType": "component", + "iid": 7 + } + ] + }, + { + "nodeType": "folder", + "name": "Virtual Machines", + "children": [ + { + "nodeType": "component", + "iid": 8 + }, + { + "nodeType": "component", + "iid": 9 + }, + { + "nodeType": "component", + "iid": 10 + }, + { + "nodeType": "component", + "iid": 11 + }, + { + "nodeType": "component", + "iid": 12 + }, + { + "nodeType": "component", + "iid": 13 + }, + { + "nodeType": "component", + "iid": 14 + }, + { + "nodeType": "component", + "iid": 15 + }, + { + "nodeType": "component", + "iid": 16 + }, + { + "nodeType": "component", + "iid": 17 + }, + { + "nodeType": "component", + "iid": 18 + }, + { + "nodeType": "component", + "iid": 19 + }, + { + "nodeType": "component", + "iid": 20 + }, + { + "nodeType": "component", + "iid": 21 + } + ] + } + ], + "createdBy": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedBy": { + "_id": "6a76983e8e626d3c662c64cf", + "provenance": "LDAP", + "username": "admin@itential" + }, + "created": "2026-08-14T00:00:00.000Z", + "lastUpdated": "2026-08-14T00:00:00.000Z", + "iid": 22, + "thumbnail": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAATklEQVR42u3PQQkAAAgEsItqDstrBN/CYAWW6nktAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKXBQwOkbTq0AzEAAAAAElFTkSuQmCC", + "backgroundColor": "#FFFFFF", + "referencedComponentHashes": [] +} diff --git a/VMware/vSphere/Studio Projects/VMware vSphere vCenter.project.json b/VMware/vSphere/Studio Projects/VMware vSphere vCenter.project.json index bc04a4b..e21a43d 100644 --- a/VMware/vSphere/Studio Projects/VMware vSphere vCenter.project.json +++ b/VMware/vSphere/Studio Projects/VMware vSphere vCenter.project.json @@ -35,7 +35,7 @@ "displayName": "vSphere", "variables": { "incoming": { - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -139,7 +139,7 @@ "displayName": "vSphere", "variables": { "incoming": { - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -243,7 +243,7 @@ "displayName": "vSphere", "variables": { "incoming": { - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -347,7 +347,7 @@ "displayName": "vSphere", "variables": { "incoming": { - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -452,7 +452,7 @@ "variables": { "incoming": { "vm": "$var.job.vm", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -567,7 +567,7 @@ "variables": { "incoming": { "vm": "$var.job.vm", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -681,7 +681,7 @@ "displayName": "vSphere", "variables": { "incoming": { - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -785,7 +785,7 @@ "displayName": "vSphere", "variables": { "incoming": { - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -889,7 +889,7 @@ "displayName": "vSphere", "variables": { "incoming": { - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -993,7 +993,7 @@ "displayName": "vSphere", "variables": { "incoming": { - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -1098,7 +1098,7 @@ "variables": { "incoming": { "datastore": "$var.job.datastore", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -1213,7 +1213,7 @@ "variables": { "incoming": { "vm": "$var.job.vm", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -1330,7 +1330,7 @@ "template_library_item": "$var.job.template_library_item", "bodyContentType": "application/json", "requestBodyPayload": "$var.job.deployRequestBody", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -1946,7 +1946,7 @@ "vm": "$var.job.vm", "bodyContentType": "application/json", "requestBodyPayload": "$var.job.spec", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -2122,7 +2122,7 @@ "vm": "$var.job.vm", "bodyContentType": "application/json", "requestBodyPayload": "$var.job.spec", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -2280,7 +2280,7 @@ "vm": "$var.job.vm", "bodyContentType": "application/json", "requestBodyPayload": "$var.job.spec", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -2639,7 +2639,7 @@ "disk": "$var.job.disk", "bodyContentType": "application/json", "requestBodyPayload": "$var.job.spec", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -2825,7 +2825,7 @@ "incoming": { "vm": "$var.job.vm", "disk": "$var.job.disk", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -2949,7 +2949,7 @@ "vm": "$var.job.vm", "bodyContentType": "application/json", "requestBodyPayload": "$var.job.spec", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -3236,7 +3236,7 @@ "nic": "$var.job.nic", "bodyContentType": "application/json", "requestBodyPayload": "$var.job.spec", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -3494,7 +3494,7 @@ "incoming": { "vm": "$var.job.vm", "nic": "$var.job.nic", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null @@ -3616,7 +3616,7 @@ "variables": { "incoming": { "vm": "$var.job.vm", - "adapter_id": "vSphere" + "adapter_id": "vSphere vCenter" }, "outgoing": { "response": null From 2234e57612d2503c8e84ce8bc4d6d71f0926621c Mon Sep 17 00:00:00 2001 From: Michael Elrom Date: Thu, 13 Aug 2026 20:06:13 -0400 Subject: [PATCH 2/3] docs(vsphere): fix inaccurate framing of gateway routing Gateway routing is a deliberate admin choice (e.g. to reach vCenter over an mTLS tunnel), not an incidental "if gateway-configured" condition specific to this project. Drop the redundant/inaccurate note and correct the same framing in the "Why /rest for Auth Bootstrap" explanation. --- VMware/vSphere/README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/VMware/vSphere/README.md b/VMware/vSphere/README.md index 0283a36..bf4aebc 100644 --- a/VMware/vSphere/README.md +++ b/VMware/vSphere/README.md @@ -50,8 +50,6 @@ This project provides Studio Projects of workflows covering the vCenter REST API | `VMware vSphere vCenter:latest` Integration Model | Required for the `/rest`-based project | | `VMware vSphere Automation:latest` Integration Model | Required for the `/api`-based project | -> **Note:** Neither project requires Itential Gateway for its actual business API calls — those go directly from Itential Platform to vCenter. The `/api` project's dynamic auth retrieval, however, is routed through Gateway if your integration instance is gateway-configured (see **Why /rest for Auth Bootstrap** below) — a platform limitation in that path is why its auth bootstrap deliberately targets the `/rest` session endpoint rather than `/api/session`. - ## Choosing /rest vs /api Both projects cover the identical 22 workflows (inventory listing, VM lifecycle, hardware CRUD) — same automation, same scope, different transport underneath. Pick based on your vCenter version: @@ -152,7 +150,7 @@ Same session-based dynamic retrieval as the `/rest` project (see **Session Authe ### Why /rest for Auth Bootstrap -`vmware-api-session-id` is a single, unified session token shared by both the legacy `/rest` API and the modern `/api` surface — whichever endpoint issues it, the other accepts it. This spec uses that to route around a confirmed Itential Platform bug: when a dynamic-retrieval auth request is routed through an Automation Gateway (the normal setup for cloud-hosted/trial platforms) and the target endpoint's response body is a bare JSON string rather than an object, `Gateway.js` unconditionally attempts to `JSON.parse()` an already-decoded string a second time, which throws whenever that string isn't itself valid JSON syntax (e.g. a session token starting with a digit). `/api/session`'s response is exactly that — a bare string (`type: string` in the vendor's own spec) — while `/rest/com/vmware/cis/session`'s response is an object (`{"value": ""}`), which sidesteps the bug entirely (an object-typed body skips the erroneous re-parse). Confirmed live: a token minted via `/rest` works identically against `/api/*` endpoints, so bootstrapping auth through `/rest` while every actual business call still targets `/api` is a clean, permanent fix — not a workaround — for gateway-routed integrations. This is a platform-level gap, not specific to vSphere — any Integration Model with dynamic API key retrieval, routed through a Gateway, against an endpoint whose session response is a bare JSON string rather than an object, will hit the same failure. Worth checking for an object-shaped alternate auth endpoint (as this spec does) before assuming dynamic retrieval simply doesn't work. +`vmware-api-session-id` is a single, unified session token shared by both the legacy `/rest` API and the modern `/api` surface — whichever endpoint issues it, the other accepts it. This spec uses that to route around a confirmed Itential Platform bug: when an admin routes an integration through an Automation Gateway — a deliberate choice, e.g. to reach vCenter over an mTLS tunnel rather than a direct connection — and a dynamic-retrieval auth request's target endpoint returns a bare JSON string rather than an object, `Gateway.js` unconditionally attempts to `JSON.parse()` an already-decoded string a second time, which throws whenever that string isn't itself valid JSON syntax (e.g. a session token starting with a digit). `/api/session`'s response is exactly that — a bare string (`type: string` in the vendor's own spec) — while `/rest/com/vmware/cis/session`'s response is an object (`{"value": ""}`), which sidesteps the bug entirely (an object-typed body skips the erroneous re-parse). Confirmed live: a token minted via `/rest` works identically against `/api/*` endpoints, so bootstrapping auth through `/rest` while every actual business call still targets `/api` is a clean, permanent fix — not a workaround — for gateway-routed integrations. This is a platform-level gap, not specific to vSphere — any Integration Model with dynamic API key retrieval, routed through a Gateway, against an endpoint whose session response is a bare JSON string rather than an object, will hit the same failure. Worth checking for an object-shaped alternate auth endpoint (as this spec does) before assuming dynamic retrieval simply doesn't work. ## OpenAPIs From d8afee9334307ab5df249179f2fb50eb48e3aeb1 Mon Sep 17 00:00:00 2001 From: Michael Elrom Date: Thu, 13 Aug 2026 20:30:33 -0400 Subject: [PATCH 3/3] feat(vsphere): expand /api curated spec to match /rest curated scope Broadens vmware_vsphere_automation-latest.json from 22 to 89 operations so it covers the same breadth as the /rest curated spec: full VM hardware CRUD, guest identity/power, templates/OVF, ISO mount/unmount, storage policies, and guest customization specs, in addition to the original inventory/lifecycle set. --- .../vmware_vsphere_automation-9.1.0.0.json | 2 +- .../vmware_vsphere_automation-latest.json | 12868 +++++++++++++--- VMware/vSphere/README.md | 42 +- 3 files changed, 10634 insertions(+), 2278 deletions(-) diff --git a/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-9.1.0.0.json b/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-9.1.0.0.json index 6053be2..e660539 100644 --- a/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-9.1.0.0.json +++ b/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-9.1.0.0.json @@ -176716,7 +176716,7 @@ "type": "apiKey", "in": "header", "name": "vmware-api-session-id", - "description": "vSphere Automation API session token (the same vmware-api-session-id token shared by the legacy /rest API and the modern /api surface), retrieved dynamically by POSTing HTTP Basic credentials to vCenter's legacy /rest session-creation endpoint. Itential Platform extracts the token from the 'value' response field, injects it as the vmware-api-session-id header on every /api request, and automatically re-retrieves it on a 401 (e.g. after the session's idle timeout expires). The /rest bootstrap endpoint is used deliberately instead of /api/session -- see the product README's 'Why /rest for Auth Bootstrap' section for why.", + "description": "vSphere Automation API session token (the same vmware-api-session-id token shared by the legacy /rest API and the modern /api surface), retrieved dynamically by POSTing HTTP Basic credentials to vCenter's /rest session-creation endpoint. Itential Platform extracts the token from the 'value' response field, injects it as the vmware-api-session-id header on every /api request, and automatically re-retrieves it on a 401 (e.g. after the session's idle timeout expires).", "x-itential-dynamic-retrieval": { "method": "POST", "url": "https:///rest/com/vmware/cis/session", diff --git a/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-latest.json b/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-latest.json index 2fbbb20..a3897d5 100644 --- a/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-latest.json +++ b/VMware/vSphere/OpenAPIs/vmware_vsphere_automation-latest.json @@ -2,10 +2,10 @@ "openapi": "3.0.3", "info": { "title": "VMware vSphere Automation", - "description": "VMware vCenter Server's modern REST API (served under /api), for centralized management of vSphere environments -- inventory (datacenters, clusters, hosts, datastores, networks, folders, resource pools) and virtual machine lifecycle (create from template, power operations, CPU/memory/disk/network hardware configuration, delete).", + "description": "VMware vCenter Server's modern REST API (served under /api), for centralized management of vSphere environments -- inventory (datacenters, clusters, hosts, datastores, networks, folders, resource pools, storage policies), guest customization specs, ISO and OVF/template deployment, and virtual machine lifecycle (create, guest identity/power, full hardware configuration, power operations, storage policy compliance, delete).", "version": "latest", "x-vendor-api-version": "9.1.0.0", - "x-itential-curated": "Curated to 19 operations across vcenter inventory listing/get and VM lifecycle (create-from-template, power start/stop, CPU/memory/disk/ethernet hardware CRUD, delete) -- matching this repo's existing VMware vSphere vCenter (/rest) Studio Project's scope 1:1, on the modern /api surface. The full spec's other packages (esx, appliance, content, vapi, cis, stats) and the vcenter package's non-core-CRUD areas (guest OS filesystem/process operations, EVC mode, compute policies, network VPC/subnet projects, granular NVMe/SATA/SCSI adapter management) are deliberately out of scope for this pass -- see the full spec and the repo README for the complete surface." + "x-itential-curated": "Curated to 89 operations, matching this repo's existing VMware vSphere vCenter (/rest) curated spec's scope 1:1 wherever the modern /api surface has an equivalent: vcenter inventory (clusters, datacenters, datastores, folders, hosts, networks, resource pools, storage policies), guest customization specs, ISO mount/unmount, OVF library item create/deploy/filter, VM template deploy, and VM lifecycle (create/list/get/delete, guest identity/power, full hardware CRUD -- boot, CPU, memory, disk, ethernet, SATA/SCSI adapters, CD-ROM, hardware version upgrade -- power operations, and per-VM storage policy/compliance). Two /rest operations (inventory datastore/network 'find' queries) have no /api equivalent and are excluded. The full spec's other packages (esx, appliance, content, vapi, cis, stats) and the vcenter package's non-core-CRUD areas (guest OS filesystem/process operations, EVC mode, compute policies, network VPC/subnet projects, NVMe adapter management, VM template check-out/versions) are deliberately out of scope for this pass -- see the full spec for the complete surface." }, "servers": [ { @@ -35,29 +35,89 @@ "name": "Vcenter.Datastore", "description": "The Datastore resource provides operations for manipulating a datastore." }, + { + "name": "Vcenter.Datastore.DefaultPolicy", + "description": "The Vcenter.Datastore.DefaultPolicy resource provides operations related to storage policies associated with datastore object. The *GET /vcenter/datastore/{datastore}/default-policy* operation provides information about the default storage policy associated with the specific datastore.\n\nThis resource was added in __vSphere API 6.7__." + }, { "name": "Vcenter.Folder", "description": "The Folder resource provides operations for manipulating a vCenter Server folder." }, + { + "name": "Vcenter.Guest.CustomizationSpecs", + "description": "The Vcenter.Guest.CustomizationSpecs resource provides operations to manage guest customization specifications in the vCenter Server.\n\nThis resource was added in __vSphere API 6.7.1__." + }, { "name": "Vcenter.Host", "description": "The Vcenter.Host resource provides operations to manage hosts in the vCenter Server." }, + { + "name": "Vcenter.Iso.Image", + "description": "Provides an interface to mount and unmount an ISO image on a virtual machine. \n\n This is an API that will let its client mount or unmount an ISO image on a virtual machine as a CD-ROM. " + }, { "name": "Vcenter.Network", "description": "The Network resource provides operations for manipulating a vCenter Server network." }, + { + "name": "Vcenter.Ovf.LibraryItem", + "description": "The Vcenter.Ovf.LibraryItem resource provides operations to deploy virtual machines and virtual appliances from library items containing Open Virtualization Format (OVF) packages in content library, as well as operations to create library items in content library from virtual machines and virtual appliances. \n\n To deploy a virtual machine or a virtual appliance from a library item: \n 1. Create a *Vcenter.Ovf.LibraryItem.DeploymentTarget* to specify the target deployment type and target deployment designation. \n 2. Create a *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec* to specify the parameters for the target deployment. \n 3. Use the deploy operation with the created target and parameter specifications, along with the identifier of the specified source content library item. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*. \n \n\n \n\n To create a library item in content library from a virtual machine or virtual appliance: \n 1. Create a *Vcenter.Ovf.LibraryItem.DeployableIdentity* to specify the source virtual machine or virtual appliance to be used as the OVF template source. \n 2. Create a *Vcenter.Ovf.LibraryItem.CreateTarget* to specify the target library and library item. \n 3. Create a *Vcenter.Ovf.LibraryItem.CreateSpec* to specify the settings for the OVF package to be created.\n 4. Use the create operation with the created target and parameter specifications, along with the specified source entity. See *POST /vcenter/ovf/library-item*. \n \n\n" + }, { "name": "Vcenter.ResourcePool", "description": "The ResourcePool resource provides operations for manipulating a vCenter Server resource pool. \n\n This resource does not include virtual appliances in the inventory of resource pools even though part of the behavior of a virtual appliance is to act like a resource pool." }, + { + "name": "Vcenter.Storage.Policies", + "description": "The Vcenter.Storage.Policies resource provides operations for managing the storage policies.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Storage.Policies.Compliance", + "description": "The Compliance resource provides operations related to all the associated entities of given compliance statuses.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Storage.Policies.Compliance.VM", + "description": "The Vcenter.Storage.Policies.Compliance.VM schema provides operations related to query virtual machines of given compliance statuses.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Storage.Policies.VM", + "description": "The Vcenter.Storage.Policies.VM resource provides operations managing the storage policy association for a virtual machine and its virtual disks.\n\nThis resource was added in __vSphere API 6.7__." + }, { "name": "Vcenter.VM", "description": "The Vcenter.VM resource provides operations for managing the lifecycle of a virtual machine." }, { - "name": "Vcenter.Vm.Power", - "description": "The Vcenter.Vm.Power resource provides operations for managing the power state of a virtual machine." + "name": "Vcenter.Vm.Guest.Identity", + "description": "The Vcenter.Vm.Guest.Identity resource provides operations for retrieving guest operating system identification information.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Vm.Guest.Power", + "description": "The Vcenter.Vm.Guest.Power resource provides operations for managing the guest operating system power state of a virtual machine.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Vm.Hardware", + "description": "The Vcenter.Vm.Hardware resource provides operations for configuring the virtual hardware of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Adapter.Sata", + "description": "The Vcenter.Vm.Hardware.Adapter.Sata resource provides operations for configuring the virtual SATA adapters of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Adapter.Scsi", + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi resource provides operations for configuring the virtual SCSI adapters of a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Boot", + "description": "The Vcenter.Vm.Hardware.Boot resource provides operations for configuring the settings used when booting a virtual machine." + }, + { + "name": "Vcenter.Vm.Hardware.Boot.Device", + "description": "The Vcenter.Vm.Hardware.Boot.Device resource provides operations for configuring the device order used when booting a virtual machine. \n\n The boot order may be specified using a mixture of device classes and device instances, chosen from among the following: \n - *Vcenter.Vm.Hardware.Boot.Device.Type.CDROM*: Boot from a virtual CD-ROM drive; the device instance(s) will be chosen by the BIOS subsystem.\n - *Vcenter.Vm.Hardware.Boot.Device.Type.FLOPPY*: Boot from a virtual floppy drive; the device instance(s) will be chosen by the BIOS subsystem.\n - *Vcenter.Vm.Hardware.Boot.Device.Type.DISK*: Boot from a virtual disk device; the device instance is specified explicitly in *Vcenter.Vm.Hardware.Boot.Device.Entry.disks* list, and multiple instances may be specified in the list.\n - *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET*: Boot from a virtual Ethernet adapter; the device instance is specified explicitly as *Vcenter.Vm.Hardware.Boot.Device.Entry.nic*, and multiple adapters may be specified in the boot order list.\n " + }, + { + "name": "Vcenter.Vm.Hardware.Cdrom", + "description": "The Vcenter.Vm.Hardware.Cdrom resource provides operations for configuring the virtual CD-ROM devices of a virtual machine." }, { "name": "Vcenter.Vm.Hardware.Cpu", @@ -75,6 +135,18 @@ "name": "Vcenter.Vm.Hardware.Memory", "description": "The Vcenter.Vm.Hardware.Memory resource provides operations for configuring the memory settings of a virtual machine." }, + { + "name": "Vcenter.Vm.Power", + "description": "The Vcenter.Vm.Power resource provides operations for managing the power state of a virtual machine." + }, + { + "name": "Vcenter.Vm.Storage.Policy", + "description": "The Vcenter.Vm.Storage.Policy resource provides operations to configure the storage policies associated with the virtual machine home and/or its virtual disks.\n\nThis resource was added in __vSphere API 6.7__." + }, + { + "name": "Vcenter.Vm.Storage.Policy.Compliance", + "description": "The Compliance resource provides operations that return the compliance status of virtual machine entities(virtual machine home directory and virtual disks) that specify storage policy requirements.\n\nThis resource was added in __vSphere API 6.7__." + }, { "name": "Vcenter.VmTemplate.LibraryItems", "description": "The Vcenter.VmTemplate.LibraryItems resource provides operations to deploy virtual machines from library items containing virtual machine templates, as well as operations to create library items containing virtual machine templates. \n\n The Vcenter.VmTemplate.LibraryItems resource also provides an operation to retrieve information about the template contained in the library item.\n\nThis resource was added in __vSphere API 6.8__." @@ -212,144 +284,27 @@ ] } }, - "/vcenter/host": { + "/vcenter/cluster/{cluster}": { "get": { "tags": [ - "Vcenter.Host" + "Vcenter.Cluster" ], - "description": "Returns information about at most 2500 visible (subject to permission checks) hosts in vCenter matching the *Vcenter.Host.FilterSpec*.", - "operationId": "Vcenter.Host_list", + "description": "Retrieves information about the cluster corresponding to cluster.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ClusterComputeResource` referenced by the parameter cluster requires `System.Read`. \n", + "operationId": "Vcenter.Cluster_get", "parameters": [ { - "name": "filter", - "in": "query", - "description": "Specification of matching hosts for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Host.FilterSpec* with all properties missing or `null` which means all hosts match the filter.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "$ref": "#/components/schemas/Vcenter.Host.FilterSpec" - } - }, - { - "name": "hosts", - "in": "query", - "description": "Identifiers of hosts that can match the filter.\n\nIf missing or `null` or empty, hosts with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "names", - "in": "query", - "description": "Names that hosts must have to match the filter (see *Vcenter.Host.Summary.name*).\n\nIf missing or `null` or empty, hosts with any name match the filter.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "folders", - "in": "query", - "description": "Folders that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "datacenters", - "in": "query", - "description": "Datacenters that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "clusters", - "in": "query", - "description": "Clusters that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any cluster and hosts that are not in a cluster match the filter. If this property is not empty and *Vcenter.Host.FilterSpec.standalone* is true, no hosts will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "connection_states", - "in": "query", - "description": "Connection states that a host must be in to match the filter (see *Vcenter.Host.Summary.connection_state*.\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n\n\nFor more information see: *Vcenter.Host.ConnectionState*.\n\nIf missing or `null` or empty, hosts in any connection state match the filter.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "host_uuids", - "in": "query", - "description": "UUID of hosts that can match the filter. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, hosts with any identifier match the filter.", - "required": false, - "style": "form", - "explode": true, + "name": "cluster", + "in": "path", + "description": "Identifier of the cluster.\n\nThe parameter must be an identifier for the resource type: `ClusterComputeResource`.", + "required": true, "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } + "type": "string" } } ], "responses": { - "400": { - "description": "if the *Vcenter.Host.FilterSpec.connection_states* property contains a value that is not supported by the server.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - } - } - } - }, "401": { - "description": "if the user can not be authenticated.", + "description": "if the session id is missing from the request or the corresponding session object cannot be found.", "content": { "application/json": { "schema": { @@ -359,7 +314,7 @@ } }, "403": { - "description": "if the user doesn't have the required privileges.", + "description": "if the user doesn't not have the required privileges.", "content": { "application/json": { "schema": { @@ -368,12 +323,12 @@ } } }, - "500": { - "description": "if more than 2500 hosts match the *Vcenter.Host.FilterSpec*.", + "404": { + "description": "if there is no cluster associated with cluster in the system.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" } } } @@ -389,14 +344,11 @@ } }, "200": { - "description": "Commonly used information about the hosts matching the *Vcenter.Host.FilterSpec*.", + "description": "Information about the cluster associated with cluster.", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Vcenter.Host.Summary" - } + "$ref": "#/components/schemas/Vcenter.Cluster.Info" } } } @@ -409,18 +361,18 @@ ] } }, - "/vcenter/datastore": { + "/vcenter/datacenter": { "get": { "tags": [ - "Vcenter.Datastore" + "Vcenter.Datacenter" ], - "description": "Returns information about at most 2500 visible (subject to permission checks) datastores in vCenter matching the *Vcenter.Datastore.FilterSpec*.", - "operationId": "Vcenter.Datastore_list", + "description": "Returns information about at most 1000 visible (subject to permission checks) datacenters in vCenter matching the *Vcenter.Datacenter.FilterSpec*.", + "operationId": "Vcenter.Datacenter_list", "parameters": [ { - "name": "datastores", + "name": "datacenters", "in": "query", - "description": "Identifiers of datastores that can match the filter.\n\nIf missing or `null` or empty, datastores with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", + "description": "Identifiers of datacenters that can match the filter.\n\nIf missing or `null` or empty, datacenters with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", "required": false, "style": "form", "explode": true, @@ -435,22 +387,7 @@ { "name": "names", "in": "query", - "description": "Names that datastores must have to match the filter (see *Vcenter.Datastore.Info.name*).\n\nIf missing or `null` or empty, datastores with any name match the filter.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "types", - "in": "query", - "description": "Types that datastores must have to match the filter (see *Vcenter.Datastore.Summary.type*).\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*.\n\nIf missing or `null` or empty, datastores with any type match the filter.", + "description": "Names that datacenters must have to match the filter (see *Vcenter.Datacenter.Info.name*).\n\nIf missing or `null` or empty, datacenters with any name match the filter.", "required": false, "style": "form", "explode": true, @@ -465,22 +402,7 @@ { "name": "folders", "in": "query", - "description": "Folders that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "datacenters", - "in": "query", - "description": "Datacenters that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "description": "Folders that must contain the datacenters for the datacenter to match the filter.\n\nIf missing or `null` or empty, datacenters in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", "required": false, "style": "form", "explode": true, @@ -494,16 +416,6 @@ } ], "responses": { - "400": { - "description": "if the *Vcenter.Datastore.FilterSpec.types* property contains a value that is not supported by the server.\n\nif the *Vcenter.Datastore.FilterSpec.types* property contains a value that is not supported by the server.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" - } - } - } - }, "401": { "description": "if the user can not be authenticated.", "content": { @@ -525,7 +437,7 @@ } }, "500": { - "description": "if more than 2500 datastores match the *Vcenter.Datastore.FilterSpec*.", + "description": "if more than 1000 datacenters match the *Vcenter.Datacenter.FilterSpec*.", "content": { "application/json": { "schema": { @@ -545,13 +457,13 @@ } }, "200": { - "description": "Commonly used information about the datastores matching the *Vcenter.Datastore.FilterSpec*.", + "description": "Commonly used information about the datacenters matching the *Vcenter.Datacenter.FilterSpec*.", "content": { "application/json": { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Vcenter.Datastore.Summary" + "$ref": "#/components/schemas/Vcenter.Datacenter.Summary" } } } @@ -563,221 +475,31 @@ "sessionIdAuth": [] } ] - } - }, - "/vcenter/datastore/{datastore}": { - "get": { + }, + "post": { "tags": [ - "Vcenter.Datastore" + "Vcenter.Datacenter" ], - "description": "Retrieves information about the datastore indicated by datastore.", - "operationId": "Vcenter.Datastore_get", - "parameters": [ - { - "name": "datastore", - "in": "path", - "description": "Identifier of the datastore for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `Datastore`.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "401": { - "description": "if the user can not be authenticated.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - } - } - } - }, - "403": { - "description": "if the user doesn't have the required privileges.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" - } - } - } - }, - "404": { - "description": "if the datastore indicated by datastore does not exist.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" - } - } - } - }, - "503": { - "description": "if the system is unable to communicate with a service to complete the request.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" - } + "description": "Create a new datacenter in the vCenter inventory", + "operationId": "Vcenter.Datacenter_create", + "requestBody": { + "description": "Specification for the new datacenter to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Datacenter.CreateSpec" } } }, - "200": { - "description": "Information about the datastore associated with datastore.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vcenter.Datastore.Info" - } - } - } - } + "required": true }, - "security": [ - { - "sessionIdAuth": [] - } - ] - } - }, - "/vcenter/vm": { - "get": { - "tags": [ - "Vcenter.VM" - ], - "description": "Returns information about at most 4000 visible (subject to permission checks) virtual machines in vCenter matching the *Vcenter.VM.FilterSpec*.", - "operationId": "Vcenter.VM_list", - "parameters": [ - { - "name": "vms", - "in": "query", - "description": "Identifiers of virtual machines that can match the filter.\n\nIf missing or `null` or empty, virtual machines with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "names", - "in": "query", - "description": "Names that virtual machines must have to match the filter (see *Vcenter.VM.Info.name*).\n\nIf missing or `null` or empty, virtual machines with any name match the filter.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "folders", - "in": "query", - "description": "Folders that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "datacenters", - "in": "query", - "description": "Datacenters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "hosts", - "in": "query", - "description": "Hosts that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines on any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "clusters", - "in": "query", - "description": "Clusters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "resource_pools", - "in": "query", - "description": "Resource pools that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "power_states", - "in": "query", - "description": "Power states that a virtual machine must be in to match the filter (see *Vcenter.Vm.Power.Info.state*.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*.\n\nIf missing or `null` or empty, virtual machines in any power state match the filter.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - } - ], "responses": { "400": { - "description": "if the *Vcenter.VM.FilterSpec.power_states* property contains a value that is not supported by the server.", + "description": "***Vapi.Std.Errors.AlreadyExists*** if a datacenter with the same name is already present.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if the datacenter name is empty or invalid as per the underlying implementation.\n- if the folder is not specified and the system cannot choose a suitable one.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" } } } @@ -802,12 +524,22 @@ } } }, + "404": { + "description": "if the datacenter folder cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, "500": { - "description": "if more than 4000 virtual machines match the *Vcenter.VM.FilterSpec*.", + "description": "if the system reports an error while responding to the request.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" } } } @@ -822,15 +554,12 @@ } } }, - "200": { - "description": "Commonly used information about the virtual machines matching the *Vcenter.VM.FilterSpec*.", + "201": { + "description": "The identifier of the newly created datacenter\n\nThe response will be an identifier for the resource type: `Datacenter`.", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Vcenter.VM.Summary" - } + "type": "string" } } } @@ -843,18 +572,18 @@ ] } }, - "/vcenter/vm/{vm}": { + "/vcenter/datacenter/{datacenter}": { "get": { "tags": [ - "Vcenter.VM" + "Vcenter.Datacenter" ], - "description": "Returns information about a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", - "operationId": "Vcenter.VM_get", + "description": "Retrieves information about the datacenter corresponding to datacenter.", + "operationId": "Vcenter.Datacenter_get", "parameters": [ { - "name": "vm", + "name": "datacenter", "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "description": "Identifier of the datacenter.\n\nThe parameter must be an identifier for the resource type: `Datacenter`.", "required": true, "schema": { "type": "string" @@ -883,7 +612,7 @@ } }, "404": { - "description": "if the virtual machine is not found.", + "description": "if there is no datacenter associated with datacenter in the system.", "content": { "application/json": { "schema": { @@ -893,7 +622,7 @@ } }, "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "description": "if the system reports an error while responding to the request.", "content": { "application/json": { "schema": { @@ -913,11 +642,11 @@ } }, "200": { - "description": "Information about the specified virtual machine.", + "description": "Information about the datacenter associated with datacenter.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vcenter.VM.Info" + "$ref": "#/components/schemas/Vcenter.Datacenter.Info" } } } @@ -931,28 +660,37 @@ }, "delete": { "tags": [ - "Vcenter.VM" + "Vcenter.Datacenter" ], - "description": "Deletes a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Inventory.Delete`. \n", - "operationId": "Vcenter.VM_delete", + "description": "Delete an empty datacenter from the vCenter Server", + "operationId": "Vcenter.Datacenter_delete", "parameters": [ { - "name": "vm", + "name": "datacenter", "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "description": "Identifier of the datacenter to be deleted.\n\nThe parameter must be an identifier for the resource type: `Datacenter`.", "required": true, "schema": { "type": "string" } + }, + { + "name": "force", + "in": "query", + "description": "If true, delete the datacenter even if it is not empty.\n\nIf missing or `null` a *Vapi.Std.Errors.ResourceInUse* error will be reported if the datacenter is not empty. This is the equivalent of passing the value false.", + "required": false, + "schema": { + "type": "boolean" + } } ], "responses": { "400": { - "description": "if the virtual machine is running (powered on).", + "description": "if the datacenter associated with datacenter is not empty.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" } } } @@ -978,7 +716,7 @@ } }, "404": { - "description": "if the virtual machine is not found.", + "description": "if there is no datacenter associated with datacenter in the system.", "content": { "application/json": { "schema": { @@ -988,7 +726,7 @@ } }, "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "description": "if the system reports an error while responding to the request.", "content": { "application/json": { "schema": { @@ -1018,18 +756,18 @@ ] } }, - "/vcenter/network": { + "/vcenter/datastore": { "get": { "tags": [ - "Vcenter.Network" + "Vcenter.Datastore" ], - "description": "Returns information about at most 1000 visible (subject to permission checks) networks in vCenter matching the *Vcenter.Network.FilterSpec*.", - "operationId": "Vcenter.Network_list", + "description": "Returns information about at most 2500 visible (subject to permission checks) datastores in vCenter matching the *Vcenter.Datastore.FilterSpec*.", + "operationId": "Vcenter.Datastore_list", "parameters": [ { - "name": "networks", + "name": "datastores", "in": "query", - "description": "Identifiers of networks that can match the filter.\n\nIf missing or `null` or empty, networks with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "description": "Identifiers of datastores that can match the filter.\n\nIf missing or `null` or empty, datastores with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datastore`.", "required": false, "style": "form", "explode": true, @@ -1044,7 +782,7 @@ { "name": "names", "in": "query", - "description": "Names that networks must have to match the filter (see *Vcenter.Network.Summary.name*).\n\nIf missing or `null` or empty, networks with any name match the filter.", + "description": "Names that datastores must have to match the filter (see *Vcenter.Datastore.Info.name*).\n\nIf missing or `null` or empty, datastores with any name match the filter.", "required": false, "style": "form", "explode": true, @@ -1059,7 +797,7 @@ { "name": "types", "in": "query", - "description": "Types that networks must have to match the filter (see *Vcenter.Network.Summary.type*).\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*.\n\nIf missing or `null`, networks with any type match the filter.", + "description": "Types that datastores must have to match the filter (see *Vcenter.Datastore.Summary.type*).\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*.\n\nIf missing or `null` or empty, datastores with any type match the filter.", "required": false, "style": "form", "explode": true, @@ -1074,7 +812,7 @@ { "name": "folders", "in": "query", - "description": "Folders that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "description": "Folders that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", "required": false, "style": "form", "explode": true, @@ -1089,7 +827,7 @@ { "name": "datacenters", "in": "query", - "description": "Datacenters that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "description": "Datacenters that must contain the datastore for the datastore to match the filter.\n\nIf missing or `null` or empty, datastores in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", "required": false, "style": "form", "explode": true, @@ -1104,7 +842,7 @@ ], "responses": { "400": { - "description": "if the *Vcenter.Network.FilterSpec.types* property contains a value that is not supported by the server.", + "description": "if the *Vcenter.Datastore.FilterSpec.types* property contains a value that is not supported by the server.\n\nif the *Vcenter.Datastore.FilterSpec.types* property contains a value that is not supported by the server.", "content": { "application/json": { "schema": { @@ -1134,7 +872,7 @@ } }, "500": { - "description": "if more than 1000 networks match the *Vcenter.Network.FilterSpec*.", + "description": "if more than 2500 datastores match the *Vcenter.Datastore.FilterSpec*.", "content": { "application/json": { "schema": { @@ -1154,13 +892,13 @@ } }, "200": { - "description": "Commonly used information about the networks matching the *Vcenter.Network.FilterSpec*.", + "description": "Commonly used information about the datastores matching the *Vcenter.Datastore.FilterSpec*.", "content": { "application/json": { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Vcenter.Network.Summary" + "$ref": "#/components/schemas/Vcenter.Datastore.Summary" } } } @@ -1174,123 +912,138 @@ ] } }, - "/vcenter/folder": { + "/vcenter/datastore/{datastore}": { "get": { "tags": [ - "Vcenter.Folder" + "Vcenter.Datastore" ], - "description": "Returns information about at most 1000 visible (subject to permission checks) folders in vCenter matching the *Vcenter.Folder.FilterSpec*.", - "operationId": "Vcenter.Folder_list", + "description": "Retrieves information about the datastore indicated by datastore.", + "operationId": "Vcenter.Datastore_get", "parameters": [ { - "name": "filter", - "in": "query", - "description": "Specification of matching folders for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Folder.FilterSpec* with all properties missing or `null` which means all folders match the filter.", - "required": false, - "style": "form", - "explode": true, + "name": "datastore", + "in": "path", + "description": "Identifier of the datastore for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `Datastore`.", + "required": true, "schema": { - "$ref": "#/components/schemas/Vcenter.Folder.FilterSpec" + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } } }, - { - "name": "folders", - "in": "query", - "description": "Identifiers of folders that can match the filter.\n\nIf missing or `null` or empty, folders with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } } } }, - { - "name": "names", - "in": "query", - "description": "Names that folders must have to match the filter (see *Vcenter.Folder.Summary.name*).\n\nIf missing or `null` or empty, folders with any name match the filter.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" + "404": { + "description": "if the datastore indicated by datastore does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } } } }, - { - "name": "parent_folders", - "in": "query", - "description": "Folders that must contain the folder for the folder to match the filter.\n\nIf missing or `null` or empty, folder in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } } } }, + "200": { + "description": "Information about the datastore associated with datastore.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Datastore.Info" + } + } + } + } + }, + "security": [ { - "name": "datacenters", - "in": "query", - "description": "Datacenters that must contain the folder for the folder to match the filter.\n\nIf missing or `null` or empty, folder in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", - "required": false, - "style": "form", - "explode": true, + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/datastore/{datastore}/default-policy": { + "get": { + "tags": [ + "Vcenter.Datastore.DefaultPolicy" + ], + "description": "Returns the identifier of the current default storage policy associated with the specified datastore.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Datastore.DefaultPolicy_get", + "parameters": [ + { + "name": "datastore", + "in": "path", + "description": "Identifier of the datastore for which the default policy is requested.\n\nThe parameter must be an identifier for the resource type: `Datastore`.", + "required": true, "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } + "type": "string" } } ], "responses": { - "400": { - "description": "if the *Vcenter.Folder.FilterSpec.type* property contains a value that is not supported by the server.", + "401": { + "description": "if the user is not authenticated.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" } } } }, - "401": { - "description": "if the user can not be authenticated.", + "403": { + "description": "if the user does not have the required privileges.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" } } } }, - "403": { - "description": "if the user doesn't have the required privileges.", + "404": { + "description": "if the specified datastore does not exist.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" } } } }, "500": { - "description": "if more than 1000 folders match the *Vcenter.Folder.FilterSpec*.", + "description": "if the system reports an error while responding to the request.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" } } } @@ -1306,14 +1059,12 @@ } }, "200": { - "description": "Commonly used information about the folders matching the *Vcenter.Folder.FilterSpec*.", + "description": "Identifier of the default storage policy associated with the specified datastore.\n\nthis field is missing or `null` if there is no default storage policy associated with the datastore.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`.", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Vcenter.Folder.Summary" - } + "type": "string", + "nullable": true } } } @@ -1326,48 +1077,29 @@ ] } }, - "/vcenter/resource-pool": { + "/vcenter/folder": { "get": { "tags": [ - "Vcenter.ResourcePool" + "Vcenter.Folder" ], - "description": "Returns information about at most 1000 visible (subject to permission checks) resource pools in vCenter matching the *Vcenter.ResourcePool.FilterSpec*.", - "operationId": "Vcenter.ResourcePool_list", + "description": "Returns information about at most 1000 visible (subject to permission checks) folders in vCenter matching the *Vcenter.Folder.FilterSpec*.", + "operationId": "Vcenter.Folder_list", "parameters": [ { - "name": "resource_pools", - "in": "query", - "description": "Identifiers of resource pools that can match the filter.\n\nIf missing or `null` or empty, resource pools with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "names", + "name": "filter", "in": "query", - "description": "Names that resource pools must have to match the filter (see *Vcenter.ResourcePool.Info.name*).\n\nIf missing or `null` or empty, resource pools with any name match the filter.", + "description": "Specification of matching folders for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Folder.FilterSpec* with all properties missing or `null` which means all folders match the filter.", "required": false, "style": "form", "explode": true, "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/components/schemas/Vcenter.Folder.FilterSpec" } }, { - "name": "parent_resource_pools", + "name": "folders", "in": "query", - "description": "Resource pools that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "description": "Identifiers of folders that can match the filter.\n\nIf missing or `null` or empty, folders with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", "required": false, "style": "form", "explode": true, @@ -1380,9 +1112,9 @@ } }, { - "name": "datacenters", + "name": "names", "in": "query", - "description": "Datacenters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "description": "Names that folders must have to match the filter (see *Vcenter.Folder.Summary.name*).\n\nIf missing or `null` or empty, folders with any name match the filter.", "required": false, "style": "form", "explode": true, @@ -1395,9 +1127,9 @@ } }, { - "name": "hosts", + "name": "parent_folders", "in": "query", - "description": "Hosts that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "description": "Folders that must contain the folder for the folder to match the filter.\n\nIf missing or `null` or empty, folder in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", "required": false, "style": "form", "explode": true, @@ -1410,9 +1142,9 @@ } }, { - "name": "clusters", + "name": "datacenters", "in": "query", - "description": "Clusters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "description": "Datacenters that must contain the folder for the folder to match the filter.\n\nIf missing or `null` or empty, folder in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", "required": false, "style": "form", "explode": true, @@ -1426,8 +1158,18 @@ } ], "responses": { + "400": { + "description": "if the *Vcenter.Folder.FilterSpec.type* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, "401": { - "description": "If the user can not be authenticated.", + "description": "if the user can not be authenticated.", "content": { "application/json": { "schema": { @@ -1437,7 +1179,7 @@ } }, "403": { - "description": "If the user doesn't have the required privileges.", + "description": "if the user doesn't have the required privileges.", "content": { "application/json": { "schema": { @@ -1447,7 +1189,7 @@ } }, "500": { - "description": "If more than 1000 resource pools match the *Vcenter.ResourcePool.FilterSpec*.", + "description": "if more than 1000 folders match the *Vcenter.Folder.FilterSpec*.", "content": { "application/json": { "schema": { @@ -1457,7 +1199,7 @@ } }, "503": { - "description": "If the system is unable to communicate with a service to complete the request.", + "description": "if the system is unable to communicate with a service to complete the request.", "content": { "application/json": { "schema": { @@ -1467,13 +1209,13 @@ } }, "200": { - "description": "Commonly used information about the resource pools matching the *Vcenter.ResourcePool.FilterSpec*.", + "description": "Commonly used information about the folders matching the *Vcenter.Folder.FilterSpec*.", "content": { "application/json": { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Vcenter.ResourcePool.Summary" + "$ref": "#/components/schemas/Vcenter.Folder.Summary" } } } @@ -1487,48 +1229,29 @@ ] } }, - "/vcenter/datacenter": { + "/vcenter/guest/customization-specs": { "get": { "tags": [ - "Vcenter.Datacenter" + "Vcenter.Guest.CustomizationSpecs" ], - "description": "Returns information about at most 1000 visible (subject to permission checks) datacenters in vCenter matching the *Vcenter.Datacenter.FilterSpec*.", - "operationId": "Vcenter.Datacenter_list", + "description": "Returns information about at most 1000 visible (subject to permission checks) guest customization specifications in vCenter matching the *Vcenter.Guest.CustomizationSpecs.FilterSpec*.\n\nThis operation was added in __vSphere API 6.7.1__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `VirtualMachine.Provisioning.ReadCustSpecs`. \n", + "operationId": "Vcenter.Guest.CustomizationSpecs_list", "parameters": [ { - "name": "datacenters", + "name": "filter", "in": "query", - "description": "Identifiers of datacenters that can match the filter.\n\nIf missing or `null` or empty, datacenters with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "description": "Specification of matching guest customization specifications for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Guest.CustomizationSpecs.FilterSpec* with all properties missing or `null` which means all guest customization specifications match the filter.", "required": false, "style": "form", "explode": true, "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.FilterSpec" } }, { "name": "names", "in": "query", - "description": "Names that datacenters must have to match the filter (see *Vcenter.Datacenter.Info.name*).\n\nIf missing or `null` or empty, datacenters with any name match the filter.", - "required": false, - "style": "form", - "explode": true, - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "folders", - "in": "query", - "description": "Folders that must contain the datacenters for the datacenter to match the filter.\n\nIf missing or `null` or empty, datacenters in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "description": "Names that guest customization specifications must have to match the filter (see *Vcenter.Guest.CustomizationSpecs.Summary.name*).\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null` or empty, guest customization specifications with any name match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`.", "required": false, "style": "form", "explode": true, @@ -1542,6 +1265,16 @@ } ], "responses": { + "400": { + "description": "if the *Vcenter.Guest.CustomizationSpecs.FilterSpec.OS_type* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, "401": { "description": "if the user can not be authenticated.", "content": { @@ -1563,7 +1296,7 @@ } }, "500": { - "description": "if more than 1000 datacenters match the *Vcenter.Datacenter.FilterSpec*.", + "description": "if more than 1000 guest customization specifications match the *Vcenter.Guest.CustomizationSpecs.FilterSpec*.", "content": { "application/json": { "schema": { @@ -1583,13 +1316,13 @@ } }, "200": { - "description": "Commonly used information about the datacenters matching the *Vcenter.Datacenter.FilterSpec*.", + "description": "Commonly used information about the guest customization specifications matching the *Vcenter.Guest.CustomizationSpecs.FilterSpec*.", "content": { "application/json": { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Vcenter.Datacenter.Summary" + "$ref": "#/components/schemas/Vcenter.Guest.CustomizationSpecs.Summary" } } } @@ -1603,31 +1336,138 @@ ] } }, - "/vcenter/vm/{vm}/power?action=start": { - "post": { + "/vcenter/host": { + "get": { "tags": [ - "Vcenter.Vm.Power" + "Vcenter.Host" ], - "description": "Powers on a powered-off or suspended virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.PowerOn`. \n", - "operationId": "Vcenter.Vm.Power_start", + "description": "Returns information about at most 2500 visible (subject to permission checks) hosts in vCenter matching the *Vcenter.Host.FilterSpec*.", + "operationId": "Vcenter.Host_list", "parameters": [ { - "name": "vm", - "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", - "required": true, + "name": "filter", + "in": "query", + "description": "Specification of matching hosts for which information should be returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Host.FilterSpec* with all properties missing or `null` which means all hosts match the filter.", + "required": false, + "style": "form", + "explode": true, "schema": { - "type": "string" + "$ref": "#/components/schemas/Vcenter.Host.FilterSpec" + } + }, + { + "name": "hosts", + "in": "query", + "description": "Identifiers of hosts that can match the filter.\n\nIf missing or `null` or empty, hosts with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that hosts must have to match the filter (see *Vcenter.Host.Summary.name*).\n\nIf missing or `null` or empty, hosts with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the hosts for the hosts to match the filter.\n\nIf missing or `null` or empty, hosts in any cluster and hosts that are not in a cluster match the filter. If this property is not empty and *Vcenter.Host.FilterSpec.standalone* is true, no hosts will match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "connection_states", + "in": "query", + "description": "Connection states that a host must be in to match the filter (see *Vcenter.Host.Summary.connection_state*.\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n\n\nFor more information see: *Vcenter.Host.ConnectionState*.\n\nIf missing or `null` or empty, hosts in any connection state match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "host_uuids", + "in": "query", + "description": "UUID of hosts that can match the filter. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nIf missing or `null` or empty, hosts with any identifier match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } } } ], "responses": { "400": { - "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already powered on.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).\n\n***Vapi.Std.Errors.ResourceInUse*** if resources required by the virtual machine are in use (e.g. virtual machine configuration files or virtual disks are locked, host containing the virtual machine is an HA failover host).", + "description": "if the *Vcenter.Host.FilterSpec.connection_states* property contains a value that is not supported by the server.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" } } } @@ -1652,38 +1492,38 @@ } } }, - "404": { - "description": "if the virtual machine is not found.", + "500": { + "description": "if more than 2500 hosts match the *Vcenter.Host.FilterSpec*.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" } } } }, - "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if resources cannot be allocated for the virtual machine (e.g. physical resource allocation policy cannot be satisfied, insufficient licenses are available to run the virtual machine).\n\n***Vapi.Std.Errors.ResourceInaccessible*** if resources required by the virtual machine are not accessible (e.g. virtual machine configuration files or virtual disks are on inaccessible storage, no hosts are available to run the virtual machine).\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" } } } }, - "503": { - "description": "if the system is unable to communicate with a service to complete the request.", + "200": { + "description": "Commonly used information about the hosts matching the *Vcenter.Host.FilterSpec*.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Host.Summary" + } } } } - }, - "204": { - "description": "Success!" } }, "security": [ @@ -1691,39 +1531,37 @@ "sessionIdAuth": [] } ] - } - }, - "/vcenter/vm/{vm}/power?action=stop": { + }, "post": { "tags": [ - "Vcenter.Vm.Power" + "Vcenter.Host" ], - "description": "Powers off a powered-on or suspended virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.PowerOff`. \n", - "operationId": "Vcenter.Vm.Power_stop", - "parameters": [ - { - "name": "vm", - "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", - "required": true, - "schema": { - "type": "string" + "description": "Add a new standalone host in the vCenter inventory. The newly connected host will be in connected state. The vCenter Server will verify the SSL certificate before adding the host to its inventory. In the case where the SSL certificate cannot be verified because the Certificate Authority is not recognized or the certificate is self signed, the vCenter Server will fall back to thumbprint verification mode as defined by *Vcenter.Host.CreateSpec.ThumbprintVerification*.", + "operationId": "Vcenter.Host_create", + "requestBody": { + "description": "Specification for the new host to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Host.CreateSpec" + } } - } - ], + }, + "required": true + }, "responses": { "400": { - "description": "if the virtual machine is already powered off.", + "description": "***Vapi.Std.Errors.AlreadyExists*** if the host with the same name is already present.\n\n***Vapi.Std.Errors.InvalidArgument***:\n- if the host name is invalid.\n- if the host folder is invalid.\n- if the SSL thumbprint specified is invalid.\n- if the PEM SSL certificate in CreateSpec.sslCertificate is invalid.\n- if both CreateSpec.thumbprint and CreateSpec.sslCertificate are set.\n- if the CreateSpec.sslCertificate argument is not set, and the CreateSpec.thumbprint argument is set, but the SHA-1 hashing algorithm is currently disabled for computing certificate thumbprints.\n\n***Vapi.Std.Errors.InvalidElementType*** if the host folder id does not support vSphere compute resource as its children type.\n\n***Vapi.Std.Errors.ResourceInUse*** if the host is already being managed by another vCenter Server\n\n***Vapi.Std.Errors.Unsupported*** if the software version on the host is not supported.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" } } } }, "401": { - "description": "if the user can not be authenticated.", + "description": "if the user name or password for the administration account on the host are invalid.\n\nif the user can not be authenticated.", "content": { "application/json": { "schema": { @@ -1743,7 +1581,7 @@ } }, "404": { - "description": "if the virtual machine is not found.", + "description": "if there is no folder associated with the folder property in the system.", "content": { "application/json": { "schema": { @@ -1753,7 +1591,7 @@ } }, "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "description": "***Vapi.Std.Errors.Error***:\n- if installation of VirtualCenter agent on a host fails.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there are not enough licenses to add the host.", "content": { "application/json": { "schema": { @@ -1772,8 +1610,15 @@ } } }, - "204": { - "description": "Success!" + "201": { + "description": "The newly created identifier of the host in vCenter.\n\nThe response will be an identifier for the resource type: `HostSystem`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } } }, "security": [ @@ -1783,48 +1628,37 @@ ] } }, - "/vcenter/vm-template/library-items/{templateLibraryItem}?action=deploy": { - "post": { + "/vcenter/host/{host}": { + "delete": { "tags": [ - "Vcenter.VmTemplate.LibraryItems" + "Vcenter.Host" ], - "description": "Deploys a virtual machine as a copy of the source virtual machine template contained in the library item specified by templateLibraryItem. It uses the deployment specification in spec. \n\n If *Vcenter.VmTemplate.LibraryItems.DeploySpec.powered_on* and/or *Vcenter.VmTemplate.LibraryItems.DeploySpec.guest_customization* are specified, the server triggers the power on and/or guest customization operations, which are executed asynchronously.\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `VirtualMachine.Provisioning.DeployTemplate`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.policy* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.policy* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.DeploySpec.disk_storage_overrides* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.folder* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.resource_pool* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.host* requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.cluster* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Ethernet` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.nics* requires `System.Read`. \n - The resource `Network` referenced by the property *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.network* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.subnet* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.disks_to_remove* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.disks_to_update* requires `System.Read`. \n", - "operationId": "Vcenter.VmTemplate.LibraryItems_deploy", + "description": "Remove a standalone host from the vCenter Server.", + "operationId": "Vcenter.Host_delete", "parameters": [ { - "name": "templateLibraryItem", + "name": "host", "in": "path", - "description": " identifier of the content library item containing the source virtual machine template to be deployed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "description": "Identifier of the host to be deleted.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "description": " specification of how the virtual machine should be deployed.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpec" - } - } - }, - "required": true - }, "responses": { "400": { - "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the name specified by *Vcenter.VmTemplate.LibraryItems.DeploySpec.name* already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains invalid arguments.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if either a specified host or a specified datastore is in an invalid state for the deployment, such as maintenance mode.", + "description": "if the host associated with host is in a vCenter cluster", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInUse" } } } }, "401": { - "description": " if the user that requested the operation cannot be authenticated.", + "description": "if the user can not be authenticated.", "content": { "application/json": { "schema": { @@ -1834,7 +1668,7 @@ } }, "403": { - "description": " if the user that requested the operation is not authorized to perform the operation.", + "description": "if the user doesn't have the required privileges.", "content": { "application/json": { "schema": { @@ -1844,7 +1678,7 @@ } }, "404": { - "description": " if the library item specified by templateLibraryItem cannot be found.\n\n if any resource specified by a property of the *Vcenter.VmTemplate.LibraryItems.DeploySpec* schema, specified by spec cannot be found.", + "description": "if there is no host associated with host in the system.", "content": { "application/json": { "schema": { @@ -1854,7 +1688,7 @@ } }, "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible***:\n- if there was an error accessing the source virtual machine template contained in the library item specified by templateLibraryItem.\n- if there an error accessing any of the resources specified in the spec.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there was an error in allocating any of the resources required by the operation.", + "description": "if the system reports an error while responding to the request.", "content": { "application/json": { "schema": { @@ -1864,7 +1698,7 @@ } }, "503": { - "description": " if any of the services involved in the operation are unavailable.", + "description": "if the system is unable to communicate with a service to complete the request.", "content": { "application/json": { "schema": { @@ -1873,15 +1707,8 @@ } } }, - "200": { - "description": "Identifier of the deployed virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", - "content": { - "application/json": { - "schema": { - "type": "string" - } - } - } + "204": { + "description": "Success!" } }, "security": [ @@ -1891,42 +1718,31 @@ ] } }, - "/vcenter/vm/{vm}/hardware/cpu": { - "patch": { + "/vcenter/host/{host}?action=connect": { + "post": { "tags": [ - "Vcenter.Vm.Hardware.Cpu" + "Vcenter.Host" ], - "description": "Updates the CPU-related settings of a virtual machine.", - "operationId": "Vcenter.Vm.Hardware.Cpu_update", + "description": "Connect to the host corresponding to host previously added to the vCenter server.", + "operationId": "Vcenter.Host_connect", "parameters": [ { - "name": "vm", + "name": "host", "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "description": "Identifier of the host to be reconnected.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "description": "Specification for updating the CPU-related settings of the virtual machine.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.UpdateSpec" - } - } - }, - "required": true - }, "responses": { "400": { - "description": "***Vapi.Std.Errors.InvalidArgument*** if one of the provided settings is not permitted; for example, specifying a negative value for count.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if hot_add_enabled or hot_remove_enabled is specified and the virtual machine is not powered off.\n- if count is specified and is greater than count, hot_add_enabled is false, and the virtual machine is not powered off.\n- if count is specified and is less than count, hot_remove_enabled is false, and the virtual machine is not powered off.", + "description": "if the host associated with host is already connected.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" } } } @@ -1952,7 +1768,7 @@ } }, "404": { - "description": "if the virtual machine is not found.", + "description": "if there is no host associated with host in the system.", "content": { "application/json": { "schema": { @@ -1962,7 +1778,7 @@ } }, "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "description": "if the system reports an error while responding to the request.", "content": { "application/json": { "schema": { @@ -1992,42 +1808,31 @@ ] } }, - "/vcenter/vm/{vm}/hardware/memory": { - "patch": { + "/vcenter/host/{host}?action=disconnect": { + "post": { "tags": [ - "Vcenter.Vm.Hardware.Memory" + "Vcenter.Host" ], - "description": "Updates the memory-related settings of a virtual machine.", - "operationId": "Vcenter.Vm.Hardware.Memory_update", + "description": "Disconnect the host corresponding to host from the vCenter server", + "operationId": "Vcenter.Host_disconnect", "parameters": [ { - "name": "vm", + "name": "host", "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "description": "Identifier of the host to be disconnected.\n\nThe parameter must be an identifier for the resource type: `HostSystem`.", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "description": "Specification for updating the memory-related settings of the virtual machine.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.UpdateSpec" - } - } - }, - "required": true - }, "responses": { "400": { - "description": "***Vapi.Std.Errors.InvalidArgument*** if one of the provided settings is not permitted; for example, specifying a negative value for size_MiB.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if hot_add_enabled is specified and the virtual machine is not powered off.\n- if size_MiB is specified, hot_add_enabled is false, and the virtual machine is not powered off.", + "description": "if the host associated with host is already disconnected.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" } } } @@ -2053,7 +1858,7 @@ } }, "404": { - "description": "if the virtual machine is not found.", + "description": "if there is no host associated with host in the system.", "content": { "application/json": { "schema": { @@ -2063,7 +1868,7 @@ } }, "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "description": "if the system reports an error while responding to the request.", "content": { "application/json": { "schema": { @@ -2093,30 +1898,33 @@ ] } }, - "/vcenter/vm/{vm}/hardware/disk": { + "/vcenter/iso/image?action=mount": { "post": { "tags": [ - "Vcenter.Vm.Hardware.Disk" - ], - "description": "Adds a virtual disk to the virtual machine. While adding the virtual disk, a new VMDK file may be created or an existing VMDK file may be used to back the virtual disk.", - "operationId": "Vcenter.Vm.Hardware.Disk_create", - "parameters": [ - { - "name": "vm", - "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", - "required": true, - "schema": { - "type": "string" - } - } + "Vcenter.Iso.Image" ], + "description": "Mounts an ISO image from a content library on a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Config.AddRemoveDevice`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter libraryItem requires `ContentLibrary.DownloadSession`. \n", + "operationId": "Vcenter.Iso.Image_mount", "requestBody": { - "description": "Specification for the new virtual disk.", + "description": "Request body for invoking operation: mount", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.CreateSpec" + "required": [ + "library_item", + "vm" + ], + "type": "object", + "properties": { + "library_item": { + "type": "string", + "description": "The identifier of the library item having the ISO image to mount on the virtual machine.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "vm": { + "type": "string", + "description": "The identifier of the virtual machine where the specified ISO image will be mounted.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`." + } + } } } }, @@ -2124,7 +1932,7 @@ }, "responses": { "400": { - "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended or if the virtual machine is powered on and virtual disk type is IDE.\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified storage address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified storage address is out of bounds or if the specified storage policy is invalid.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "description": "***Vapi.Std.Errors.InvalidArgument*** If no .iso file is present on the library item.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** When the operation is not allowed on the virtual machine in its current state.", "content": { "application/json": { "schema": { @@ -2133,65 +1941,99 @@ } } }, - "401": { - "description": "if the user can not be authenticated.", + "500": { + "description": "Error!", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" } } } }, - "403": { - "description": "if the user doesn't have the required privileges.", + "404": { + "description": "If either vm or the libraryItem is not found.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" } } } }, - "404": { - "description": "if the virtual machine is not found.", + "200": { + "description": "The identifier of the newly created virtual CD-ROM backed by the specified ISO image.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + "type": "string" } } } - }, - "500": { - "description": "***Vapi.Std.Errors.Error***:\n- if system reported that the disk device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified storage address is unavailable; for example, if the SCSI adapter requested does not exist.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/iso/image?action=unmount": { + "post": { + "tags": [ + "Vcenter.Iso.Image" + ], + "description": "Unmounts a previously mounted CD-ROM using an ISO image as a backing.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Config.AddRemoveDevice`. \n - The resource `com.vmware.vcenter.vm.hardware.Cdrom` referenced by the parameter cdrom requires `System.Read`. \n", + "operationId": "Vcenter.Iso.Image_unmount", + "requestBody": { + "description": "Request body for invoking operation: unmount", + "content": { + "application/json": { + "schema": { + "required": [ + "cdrom", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "The identifier of the virtual machine from which to unmount the virtual CD-ROM.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`." + }, + "cdrom": { + "type": "string", + "description": "The device identifier of the CD-ROM.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`." + } } } } }, - "503": { - "description": "if the system is unable to communicate with a service to complete the request.", + "required": true + }, + "responses": { + "400": { + "description": "When the operation is not allowed on the virtual machine in its current state.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" } } } }, - "201": { - "description": "Virtual disk identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "404": { + "description": "If the virtual machine identified by vm is not found or the cdrom does not identify a virtual CD-ROM in the virtual machine.", "content": { "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" } } } + }, + "204": { + "description": "Success!" } }, "security": [ @@ -2201,51 +2043,97 @@ ] } }, - "/vcenter/vm/{vm}/hardware/disk/{disk}": { - "patch": { + "/vcenter/network": { + "get": { "tags": [ - "Vcenter.Vm.Hardware.Disk" + "Vcenter.Network" ], - "description": "Updates the configuration of a virtual disk. An update operation can be used to detach the existing VMDK file and attach another VMDK file to the virtual machine.", - "operationId": "Vcenter.Vm.Hardware.Disk_update", + "description": "Returns information about at most 1000 visible (subject to permission checks) networks in vCenter matching the *Vcenter.Network.FilterSpec*.", + "operationId": "Vcenter.Network_list", "parameters": [ { - "name": "vm", - "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", - "required": true, + "name": "networks", + "in": "query", + "description": "Identifiers of networks that can match the filter.\n\nIf missing or `null` or empty, networks with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Network`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Network`.", + "required": false, + "style": "form", + "explode": true, "schema": { - "type": "string" + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } } }, { - "name": "disk", - "in": "path", - "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", - "required": true, + "name": "names", + "in": "query", + "description": "Names that networks must have to match the filter (see *Vcenter.Network.Summary.name*).\n\nIf missing or `null` or empty, networks with any name match the filter.", + "required": false, + "style": "form", + "explode": true, "schema": { - "type": "string" + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } } - } - ], - "requestBody": { - "description": "Specification for updating the virtual disk.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.UpdateSpec" + }, + { + "name": "types", + "in": "query", + "description": "Types that networks must have to match the filter (see *Vcenter.Network.Summary.type*).\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*.\n\nIf missing or `null`, networks with any type match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" } } }, - "required": true - }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the network for the network to match the filter.\n\nIf missing or `null` or empty, networks in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], "responses": { "400": { - "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual disk.", + "description": "if the *Vcenter.Network.FilterSpec.types* property contains a value that is not supported by the server.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" } } } @@ -2270,38 +2158,38 @@ } } }, - "404": { - "description": "if the virtual machine or virtual disk is not found.", + "500": { + "description": "if more than 1000 networks match the *Vcenter.Network.FilterSpec*.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" } } } }, - "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" } } } }, - "503": { - "description": "if the system is unable to communicate with a service to complete the request.", + "200": { + "description": "Commonly used information about the networks matching the *Vcenter.Network.FilterSpec*.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Network.Summary" + } } } } - }, - "204": { - "description": "Success!" } }, "security": [ @@ -2309,66 +2197,76 @@ "sessionIdAuth": [] } ] - }, - "delete": { + } + }, + "/vcenter/ovf/library-item": { + "post": { "tags": [ - "Vcenter.Vm.Hardware.Disk" + "Vcenter.Ovf.LibraryItem" ], - "description": "Removes a virtual disk from the virtual machine. This operation does not destroy the VMDK file that backs the virtual disk. It only detaches the VMDK file from the virtual machine. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted.", - "operationId": "Vcenter.Vm.Hardware.Disk_delete", + "description": "Creates a library item in content library from a virtual machine or virtual appliance. \n\n This operation creates a library item in content library whose content is an OVF package derived from a source virtual machine or virtual appliance, using the supplied create specification. The OVF package may be stored as in a newly created library item or in an in an existing library item. For an existing library item whose content is updated by this operation, the original content is overwritten. Meta data such as name and description is not updated for the exisitng library item. \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `VirtualMachine` or `VirtualApp` referenced by the property *Vcenter.Ovf.LibraryItem.DeployableIdentity.id* requires `VApp.Export`. \n - The resource `com.vmware.content.Library` referenced by the property *Vcenter.Ovf.LibraryItem.CreateTarget.library_id* requires `ContentLibrary.AddLibraryItem`. \n - The resource `com.vmware.content.library.Item` referenced by the property *Vcenter.Ovf.LibraryItem.CreateTarget.library_item_id* requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the property *Vcenter.Ovf.LibraryItem.CreateSpec.library_item_source_id* requires `System.Read`. \n", + "operationId": "Vcenter.Ovf.LibraryItem_create", "parameters": [ { - "name": "vm", - "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "disk", - "in": "path", - "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", - "required": true, + "name": "Client-Token", + "in": "header", + "description": " Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried.\n\nIf missing or `null`, the server will create a token.", + "required": false, "schema": { "type": "string" } } ], - "responses": { - "400": { - "description": "if the virtual machine is suspended or if the virtual machine is powered on and virtual disk type is IDE.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + "requestBody": { + "description": "Request body for invoking operation: create", + "content": { + "application/json": { + "schema": { + "required": [ + "create_spec", + "source", + "target" + ], + "type": "object", + "properties": { + "source": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeployableIdentity" + }, + "target": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.CreateTarget" + }, + "create_spec": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.CreateSpec" + } } } } }, - "401": { - "description": "if the user can not be authenticated.", + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument***:\n- if createSpec contains invalid arguments.\n- if source describes an unexpected resource type.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the operation cannot be performed because of the specified virtual machine or virtual appliance's current state. For example, if the virtual machine configuration information is not available, or if the virtual appliance is running.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" } } } }, - "403": { - "description": "if the user doesn't have the required privileges.", + "500": { + "description": "***Vapi.Std.Errors.ResourceInaccessible*** if there was an error accessing a file from the source virtual machine or virtual appliance.\n\n***Vapi.Std.Errors.ResourceBusy*** if the specified virtual machine or virtual appliance is busy.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" } } } }, "404": { - "description": "if the virtual machine or virtual disk is not found.", + "description": " if the virtual machine or virtual appliance specified by source does not exist.\n\n if the library or library item specified by target does not exist.", "content": { "application/json": { "schema": { @@ -2377,28 +2275,15 @@ } } }, - "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" - } - } - } - }, - "503": { - "description": "if the system is unable to communicate with a service to complete the request.", + "201": { + "description": "Information about the success or failure of the operation, along with the details of the result or failure.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.CreateResult" } } } - }, - "204": { - "description": "Success!" } }, "security": [ @@ -2408,18 +2293,27 @@ ] } }, - "/vcenter/vm/{vm}/hardware/ethernet": { + "/vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy": { "post": { "tags": [ - "Vcenter.Vm.Hardware.Ethernet" + "Vcenter.Ovf.LibraryItem" ], - "description": "Adds a virtual Ethernet adapter to the virtual machine.", - "operationId": "Vcenter.Vm.Hardware.Ethernet_create", + "description": "Deploys an OVF package stored in content library to a newly created virtual machine or virtual appliance. \n\n This operation deploys an OVF package which is stored in the library item specified by ovfLibraryItemId. It uses the deployment specification in deploymentSpec to deploy the OVF package to the location specified by target. \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter ovfLibraryItemId requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.host_id* requires `System.Read`. \n - The resource `Network` referenced by the map value of property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.network_mappings* requires `System.Read`. \n - The resource `Folder` referenced by the map value of property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.subnet_mappings* requires `System.Read`. \n - The resource `StorageProfile` referenced by the property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_profile_id* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.default_datastore_id* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.resource_pool_id* requires `VApp.Import`. \n - The resource `Folder` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.folder_id* requires `VApp.Import`. \n", + "operationId": "Vcenter.Ovf.LibraryItem_deploy", "parameters": [ { - "name": "vm", + "name": "Client-Token", + "in": "header", + "description": " Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried.\n\nIf missing or `null`, the server will create a token.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "ovfLibraryItemId", "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "description": " Identifier of the content library item containing the OVF package to be deployed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", "required": true, "schema": { "type": "string" @@ -2427,11 +2321,23 @@ } ], "requestBody": { - "description": "Specification for the new virtual Ethernet adapter.", + "description": "Request body for invoking operation: deploy", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.CreateSpec" + "required": [ + "deployment_spec", + "target" + ], + "type": "object", + "properties": { + "target": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeploymentTarget" + }, + "deployment_spec": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec" + } + } } } }, @@ -2439,27 +2345,17 @@ }, "responses": { "400": { - "description": "***Vapi.Std.Errors.InvalidArgument*** if the specified PCI address is out of bounds, HOST_DEVICE is specified as the type, or a backing cannot be found in the case that backing is left missing or `null`.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" - } - } - } - }, - "401": { - "description": "if the user can not be authenticated.", + "description": " if target contains invalid arguments.\n\n if deploymentSpec contains invalid arguments or has properties that are inconsistent with target.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" } } } }, "403": { - "description": "if the user doesn't have the required privileges.", + "description": " if you do not have all of the privileges described as follows : \n - Operation execution requires VirtualMachine.Config.AddNewDisk if the OVF descriptor has a disk drive (type 17) section. \n - Operation execution requires VirtualMachine.Config.AdvancedConfig if the OVF descriptor has an ExtraConfig section. \n - Operation execution requires Extension.Register for specified resource group if the OVF descriptor has a vServiceDependency section. \n - Operation execution requires Network.Assign for target network if specified. \n - Operation execution requires Datastore.AllocateSpace for target datastore if specified. \n ", "content": { "application/json": { "schema": { @@ -2468,42 +2364,32 @@ } } }, - "404": { - "description": "if the virtual machine or network backing is not found.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" - } - } - } - }, "500": { - "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the Ethernet adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the virtual machine already has the maximum number of supported Ethernet adapters.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "description": " if there was an error accessing the OVF package stored in the library item specified by ovfLibraryItemId.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" } } } }, - "503": { - "description": "if the system is unable to communicate with a service to complete the request.", + "404": { + "description": " if the library item specified by ovfLibraryItemId does not exist.\n\n if any resource specified by a property of the *Vcenter.Ovf.LibraryItem.DeploymentTarget* schema, specified by target, does not exist.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" } } } }, - "201": { - "description": "Virtual Ethernet adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "200": { + "description": "Information about the success or failure of the operation, along with the details of the result or failure.", "content": { "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeploymentResult" } } } @@ -2516,27 +2402,18 @@ ] } }, - "/vcenter/vm/{vm}/hardware/ethernet/{nic}": { - "patch": { + "/vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter": { + "post": { "tags": [ - "Vcenter.Vm.Hardware.Ethernet" + "Vcenter.Ovf.LibraryItem" ], - "description": "Updates the configuration of a virtual Ethernet adapter.", - "operationId": "Vcenter.Vm.Hardware.Ethernet_update", + "description": "Queries an OVF package stored in content library to retrieve information to use when deploying the package. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*. \n\n This operation retrieves information from the descriptor of the OVF package stored in the library item specified by ovfLibraryItemId. The information returned by the operation can be used to populate the deployment specification (see *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec* when deploying the OVF package to the deployment target specified by target. \n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter ovfLibraryItemId requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.resource_pool_id* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.host_id* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.Ovf.LibraryItem.DeploymentTarget.folder_id* requires `System.Read`. \n", + "operationId": "Vcenter.Ovf.LibraryItem_filter", "parameters": [ { - "name": "vm", - "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "nic", + "name": "ovfLibraryItemId", "in": "path", - "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "description": " Identifier of the content library item containing the OVF package to query.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", "required": true, "schema": { "type": "string" @@ -2544,11 +2421,19 @@ } ], "requestBody": { - "description": "Specification for updating the virtual Ethernet adapter.", + "description": "Request body for invoking operation: filter", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.UpdateSpec" + "required": [ + "target" + ], + "type": "object", + "properties": { + "target": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeploymentTarget" + } + } } } }, @@ -2556,7 +2441,7 @@ }, "responses": { "400": { - "description": "if HOST_DEVICE is specified as the type.", + "description": " if target contains invalid arguments.", "content": { "application/json": { "schema": { @@ -2565,28 +2450,18 @@ } } }, - "401": { - "description": "if the user can not be authenticated.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - } - } - } - }, - "403": { - "description": "if the user doesn't have the required privileges.", + "500": { + "description": " if there was an error accessing the OVF package at the specified ovfLibraryItemId.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + "$ref": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible" } } } }, "404": { - "description": "if the virtual machine, virtual Ethernet adapter, or backing network is not found.", + "description": " if the library item specified by ovfLibraryItemId does not exist.\n\n if any resource specified by a property of the *Vcenter.Ovf.LibraryItem.DeploymentTarget* schema, specified by target, does not exist.", "content": { "application/json": { "schema": { @@ -2595,28 +2470,15 @@ } } }, - "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" - } - } - } - }, - "503": { - "description": "if the system is unable to communicate with a service to complete the request.", + "200": { + "description": "Information that can be used to populate the deployment specification (see *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec*) when deploying the OVF package to the deployment target specified by target.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.OvfSummary" } } } - }, - "204": { - "description": "Success!" } }, "security": [ @@ -2624,76 +2486,140 @@ "sessionIdAuth": [] } ] - }, - "delete": { + } + }, + "/vcenter/resource-pool": { + "get": { "tags": [ - "Vcenter.Vm.Hardware.Ethernet" + "Vcenter.ResourcePool" ], - "description": "Removes a virtual Ethernet adapter from the virtual machine.", - "operationId": "Vcenter.Vm.Hardware.Ethernet_delete", + "description": "Returns information about at most 1000 visible (subject to permission checks) resource pools in vCenter matching the *Vcenter.ResourcePool.FilterSpec*.", + "operationId": "Vcenter.ResourcePool_list", "parameters": [ { - "name": "vm", - "in": "path", - "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", - "required": true, + "name": "resource_pools", + "in": "query", + "description": "Identifiers of resource pools that can match the filter.\n\nIf missing or `null` or empty, resource pools with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, "schema": { - "type": "string" + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } } }, { - "name": "nic", - "in": "path", - "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", - "required": true, + "name": "names", + "in": "query", + "description": "Names that resource pools must have to match the filter (see *Vcenter.ResourcePool.Info.name*).\n\nIf missing or `null` or empty, resource pools with any name match the filter.", + "required": false, + "style": "form", + "explode": true, "schema": { - "type": "string" + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } } - } - ], - "responses": { - "401": { - "description": "if the user can not be authenticated.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" - } + }, + { + "name": "parent_resource_pools", + "in": "query", + "description": "Resource pools that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" } } }, - "403": { - "description": "if the user doesn't have the required privileges.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" - } + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" } } }, - "404": { - "description": "if the virtual machine or virtual Ethernet adapter is not found.", + { + "name": "hosts", + "in": "query", + "description": "Hosts that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the resource pool for the resource pool to match the filter.\n\nIf missing or `null` or empty, resource pools in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "401": { + "description": "If the user can not be authenticated.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" } } } }, "500": { - "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "description": "If more than 1000 resource pools match the *Vcenter.ResourcePool.FilterSpec*.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" } } } }, "503": { - "description": "if the system is unable to communicate with a service to complete the request.", + "description": "If the system is unable to communicate with a service to complete the request.", "content": { "application/json": { "schema": { @@ -2702,8 +2628,18 @@ } } }, - "204": { - "description": "Success!" + "200": { + "description": "Commonly used information about the resource pools matching the *Vcenter.ResourcePool.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.ResourcePool.Summary" + } + } + } + } } }, "security": [ @@ -2712,64 +2648,8488 @@ } ] } - } - }, - "components": { - "securitySchemes": { - "sessionIdAuth": { - "type": "apiKey", - "in": "header", - "name": "vmware-api-session-id", - "description": "vSphere Automation API session token (the same vmware-api-session-id token shared by the legacy /rest API and the modern /api surface), retrieved dynamically by POSTing HTTP Basic credentials to vCenter's legacy /rest session-creation endpoint. Itential Platform extracts the token from the 'value' response field, injects it as the vmware-api-session-id header on every /api request, and automatically re-retrieves it on a 401 (e.g. after the session's idle timeout expires). The /rest bootstrap endpoint is used deliberately instead of /api/session -- see the product README's 'Why /rest for Auth Bootstrap' section for why.", - "x-itential-dynamic-retrieval": { - "method": "POST", - "url": "https:///rest/com/vmware/cis/session", - "responsePointer": "/value" - }, - "x-itential-parameters": [ + }, + "/vcenter/resource-pool/{resourcePool}": { + "get": { + "tags": [ + "Vcenter.ResourcePool" + ], + "description": "Retrieves information about the resource pool indicated by resourcePool.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `ResourcePool` referenced by the parameter resourcePool requires `System.Read`. \n", + "operationId": "Vcenter.ResourcePool_get", + "parameters": [ { - "name": "Authorization", - "in": "header", - "x-itential-use-in": [ - "key" - ], + "name": "resourcePool", + "in": "path", + "description": "Identifier of the resource pool for which information should be retrieved.\n\nThe parameter must be an identifier for the resource type: `ResourcePool`.", + "required": true, "schema": { "type": "string" - }, - "description": "HTTP Basic credential for the session-retrieval call, e.g. 'Basic '" + } + } + ], + "responses": { + "401": { + "description": "If the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "If the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "If the resource pool indicated by resourcePool does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "If the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the resource pool.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.ResourcePool.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] } ] } }, - "schemas": { - "Vcenter.Folder.FilterSpec": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type that folders must have to match the filter (see *Vcenter.Folder.Summary.type*).\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n\n\nFor more information see: *Vcenter.Folder.Type*.\n\nIf missing or `null`, folders with any type match the filter." + "/vcenter/storage/policies": { + "get": { + "tags": [ + "Vcenter.Storage.Policies" + ], + "description": "Returns information about at most 1024 visible (subject to permission checks) storage policies available in vCenter. These storage policies can be used for provisioning virtual machines or disks.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies_list", + "parameters": [ + { + "name": "policies", + "in": "query", + "description": "Identifiers of storage policies that can match the filter.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, storage policies with any identifiers match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.StoragePolicy`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Storage.Policies.FilterSpec* contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 1024 storage policies exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used Information about the storage policies.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.Summary" + } + } + } + } } }, - "description": "The Vcenter.Folder.FilterSpec schema contains properties used to filter the results when listing folders (see *GET /vcenter/folder*). If multiple properties are specified, only folders matching all of the properties match the filter." - }, - "Vcenter.Vm.Hardware.ScsiAddressSpec": { - "required": [ - "bus" + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies/compliance/vm": { + "get": { + "tags": [ + "Vcenter.Storage.Policies.Compliance.VM" ], - "type": "object", - "properties": { - "bus": { - "type": "integer", - "description": "Bus number of the adapter to which the device should be attached.", - "format": "int64" + "description": "Returns compliance information about at most 1000 virtual machines matching the filter *Vcenter.Storage.Policies.Compliance.VM.FilterSpec*. If there are no virtual machines matching the *Vcenter.Storage.Policies.Compliance.VM.FilterSpec* an empty List is returned. Virtual machines without storage policy association are not returned.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies.Compliance.VM_list", + "parameters": [ + { + "name": "status", + "in": "query", + "description": "Compliance Status that a virtual machine must have to match the filter. Atleast one status must be specified.\n\nPossible values:\n - `COMPLIANT`: The virtual machine or virtual disk is in compliance.\n - `NON_COMPLIANT`: The virtual machine or virtual disk is in not in compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the virtual machine or virtual disk is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this virtual machine or disk because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the virtual machine or disk is edited and not applied. The compliance status will remain out of date until the latest policy is applied.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.VM.Status*.\n\nThis property was added in __vSphere API 6.7__.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "vms", + "in": "query", + "description": "Identifiers of virtual machines that can match the filter\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, virtual machines with any identifier matches the filter\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the *Vcenter.Storage.Policies.Compliance.VM.FilterSpec.status* property contains a value that is not supported by the server.\n\n***Vapi.Std.Errors.Unsupported*** if the API is invoked against vCenter Server version is less than 6.5", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** If more than 1000 results match the *Vcenter.Storage.Policies.Compliance.VM.FilterSpec*", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "compliance information about virtual machines matching the filter *Vcenter.Storage.Policies.Compliance.VM.FilterSpec*.\n\nThe key in the response map will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.Compliance.VM.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies/entities/compliance": { + "get": { + "tags": [ + "Vcenter.Storage.Policies.Compliance" + ], + "description": "Returns compliance information about entities matching the filter *Vcenter.Storage.Policies.Compliance.FilterSpec*. Entities without storage policy association are not returned.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies.Compliance_list", + "parameters": [ + { + "name": "status", + "in": "query", + "description": "Compliance Status that a virtual machine must have to match the filter.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the entity is edited and not applied. The compliance status will remain out of date until the latest policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.Storage.Policies.Compliance.FilterSpec.status* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "compliance information about entities matching the filter *Vcenter.Storage.Policies.Compliance.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.Compliance.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies/{policy}/vm": { + "get": { + "tags": [ + "Vcenter.Storage.Policies.VM" + ], + "description": "Returns information about the virtual machines and/or their virtual disks that are associated with the given storage policy.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies.VM_list", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "storage policy identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.UnableToAllocateResource*** if more than 1000 virtual machines are associated with the specified policy.\n\n***Vapi.Std.Errors.Error*** if the backend server encounters some an error while processing the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "404": { + "description": "if there is no policy associated with policy in the system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service necessary to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the virtual machines and/or their virtual disks that are associated with the given storage policy.\n\nThe key in the response map will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.VM.Info" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/storage/policies/{policy}?action=check-compatibility": { + "post": { + "tags": [ + "Vcenter.Storage.Policies" + ], + "description": "Returns datastore compatibility summary about a specific storage policy.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Storage.Policies_checkCompatibility", + "parameters": [ + { + "name": "policy", + "in": "path", + "description": "The storage policy identifier\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: checkCompatibility", + "content": { + "application/json": { + "schema": { + "required": [ + "datastores" + ], + "type": "object", + "properties": { + "datastores": { + "uniqueItems": true, + "type": "array", + "description": "Datastores used to check compatibility against a storage policy. The number of datastores is limited to 1024.\n\nThe parameter must contain identifiers for the resource type: `Datastore`.", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the storage policy specified does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if input more than 1024 datastores.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "datastore compatibility summary about a specific storage policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.CompatibilityInfo" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm": { + "get": { + "tags": [ + "Vcenter.VM" + ], + "description": "Returns information about at most 4000 visible (subject to permission checks) virtual machines in vCenter matching the *Vcenter.VM.FilterSpec*.", + "operationId": "Vcenter.VM_list", + "parameters": [ + { + "name": "vms", + "in": "query", + "description": "Identifiers of virtual machines that can match the filter.\n\nIf missing or `null` or empty, virtual machines with any identifier match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `VirtualMachine`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "names", + "in": "query", + "description": "Names that virtual machines must have to match the filter (see *Vcenter.VM.Info.name*).\n\nIf missing or `null` or empty, virtual machines with any name match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "folders", + "in": "query", + "description": "Folders that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any folder match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Folder`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Folder`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "datacenters", + "in": "query", + "description": "Datacenters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any datacenter match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `Datacenter`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "hosts", + "in": "query", + "description": "Hosts that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines on any host match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `HostSystem`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "clusters", + "in": "query", + "description": "Clusters that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any cluster match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ClusterComputeResource`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "resource_pools", + "in": "query", + "description": "Resource pools that must contain the virtual machine for the virtual machine to match the filter.\n\nIf missing or `null` or empty, virtual machines in any resource pool match the filter.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "power_states", + "in": "query", + "description": "Power states that a virtual machine must be in to match the filter (see *Vcenter.Vm.Power.Info.state*.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*.\n\nIf missing or `null` or empty, virtual machines in any power state match the filter.", + "required": false, + "style": "form", + "explode": true, + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "400": { + "description": "if the *Vcenter.VM.FilterSpec.power_states* property contains a value that is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if more than 4000 virtual machines match the *Vcenter.VM.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Commonly used information about the virtual machines matching the *Vcenter.VM.FilterSpec*.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.VM.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.VM" + ], + "description": "Creates a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `Folder` referenced by the property *Vcenter.VM.InventoryPlacementSpec.folder* requires `VirtualMachine.Inventory.Create`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VM.ComputePlacementSpec.resource_pool* requires `Resource.AssignVMToPool`. \n - The resource `Datastore` referenced by the property *Vcenter.VM.StoragePlacementSpec.datastore* requires `Datastore.AllocateSpace`. \n - The resource `Network` referenced by the property *Vcenter.Vm.Hardware.Ethernet.BackingSpec.network* requires `Network.Assign`. \n", + "operationId": "Vcenter.VM_create", + "requestBody": { + "description": "Virtual machine specification.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the specified name already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if any of the specified parameters are invalid.\n\n***Vapi.Std.Errors.ResourceInUse*** if any of the specified storage addresses (eg. IDE, SATA, SCSI, NVMe) result in a storage address conflict.\n\n***Vapi.Std.Errors.Unsupported*** if guest_OS is not supported for the requested virtual hardware version and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if any of the resources specified in spec could not be found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if a specified resource (eg. host) is not accessible.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to create the virtual machine could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "ID of newly-created virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items": { + "post": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems" + ], + "description": "Creates a library item in content library from a virtual machine. \n\n This operation creates a library item in content library whose content is a virtual machine template created from the source virtual machine, using the supplied create specification. The virtual machine template is stored in a newly created library item.\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.Library` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpec.library* requires `ContentLibrary.AddLibraryItem`. \n - The resource `VirtualMachine` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpec.source_vm* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy.policy* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy.policy* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.CreateSpec.disk_storage_overrides* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.folder* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.resource_pool* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.host* requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.cluster* requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems_create", + "requestBody": { + "description": " information used to create the library item from the source virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if an entity with the name specified by *Vcenter.VmTemplate.LibraryItems.CreateSpec.name* already exists in the folder specified by *Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec.folder*.\n\n***Vapi.Std.Errors.InvalidArgument*** if *Vcenter.VmTemplate.LibraryItems.CreateSpec* contains invalid arguments.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the operation cannot be performed because of the source virtual machine's current state.\n\n***Vapi.Std.Errors.ResourceInUse*** if the source virtual machine is busy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the source virtual machine specified by *Vcenter.VmTemplate.LibraryItems.CreateSpec.source_vm* does not exist.\n\n if the library specified by *Vcenter.VmTemplate.LibraryItems.CreateSpec.library* does not exist.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if there was an error accessing a file from the source virtual machine.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if any of the resources needed to create the virtual machine template could not be allocated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " if any of the services involved in the operation are unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Identifier of the newly created library item.\n\nThe response will be an identifier for the resource type: `com.vmware.content.library.Item`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}": { + "get": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems" + ], + "description": "Returns information about a virtual machine template contained in the library item specified by templateLibraryItem\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems_get", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": " identifier of the library item containing the virtual machine template.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the library item could not be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine template's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " if any of the services involved in the operation are unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the virtual machine template item contained in the library item.\n\nIf missing or `null`, the library item specified by templateLibraryItem does not contain a virtual machine template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm-template/library-items/{templateLibraryItem}?action=deploy": { + "post": { + "tags": [ + "Vcenter.VmTemplate.LibraryItems" + ], + "description": "Deploys a virtual machine as a copy of the source virtual machine template contained in the library item specified by templateLibraryItem. It uses the deployment specification in spec. \n\n If *Vcenter.VmTemplate.LibraryItems.DeploySpec.powered_on* and/or *Vcenter.VmTemplate.LibraryItems.DeploySpec.guest_customization* are specified, the server triggers the power on and/or guest customization operations, which are executed asynchronously.\n\nThis operation was added in __vSphere API 6.8__.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - Operation execution requires `System.Read`. \n - The resource `com.vmware.content.library.Item` referenced by the parameter templateLibraryItem requires `VirtualMachine.Provisioning.DeployTemplate`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.policy* requires `System.Read`. \n - The resource `Datastore` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage.datastore* requires `System.Read`. \n - The resource `com.vmware.spbm.StorageProfile` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.policy* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.DeploySpec.disk_storage_overrides* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.folder* requires `System.Read`. \n - The resource `ResourcePool` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.resource_pool* requires `System.Read`. \n - The resource `HostSystem` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.host* requires `System.Read`. \n - The resource `ClusterComputeResource` referenced by the property *Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec.cluster* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Ethernet` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.nics* requires `System.Read`. \n - The resource `Network` referenced by the property *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.network* requires `System.Read`. \n - The resource `Folder` referenced by the property *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.subnet* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.disks_to_remove* requires `System.Read`. \n - The resource `com.vmware.vcenter.vm.hardware.Disk` referenced by the map key of property *Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec.disks_to_update* requires `System.Read`. \n", + "operationId": "Vcenter.VmTemplate.LibraryItems_deploy", + "parameters": [ + { + "name": "templateLibraryItem", + "in": "path", + "description": " identifier of the content library item containing the source virtual machine template to be deployed.\n\nThe parameter must be an identifier for the resource type: `com.vmware.content.library.Item`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": " specification of how the virtual machine should be deployed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyExists*** if a virtual machine with the name specified by *Vcenter.VmTemplate.LibraryItems.DeploySpec.name* already exists.\n\n***Vapi.Std.Errors.InvalidArgument*** if spec contains invalid arguments.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if either a specified host or a specified datastore is in an invalid state for the deployment, such as maintenance mode.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": " if the user that requested the operation cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": " if the user that requested the operation is not authorized to perform the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": " if the library item specified by templateLibraryItem cannot be found.\n\n if any resource specified by a property of the *Vcenter.VmTemplate.LibraryItems.DeploySpec* schema, specified by spec cannot be found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible***:\n- if there was an error accessing the source virtual machine template contained in the library item specified by templateLibraryItem.\n- if there an error accessing any of the resources specified in the spec.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there was an error in allocating any of the resources required by the operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": " if any of the services involved in the operation are unavailable.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Identifier of the deployed virtual machine.\n\nThe response will be an identifier for the resource type: `VirtualMachine`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}": { + "get": { + "tags": [ + "Vcenter.VM" + ], + "description": "Returns information about a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.VM_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.VM.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.VM" + ], + "description": "Deletes a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Inventory.Delete`. \n", + "operationId": "Vcenter.VM_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is running (powered on).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/identity": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Identity" + ], + "description": "Return information about the guest.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Identity_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.\n\nif VMware Tools has not provided any data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "guest identification information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Identity.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/power": { + "get": { + "tags": [ + "Vcenter.Vm.Guest.Power" + ], + "description": "Returns information about the guest operating system power state.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Power_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "200": { + "description": "Guest OS powerstate information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Guest.Power.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/power?action=reboot": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Power" + ], + "description": "Issues a request to the guest operating system asking it to perform a reboot. This request returns immediately and does not wait for the guest operating system to complete the operation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Power_reboot", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/power?action=shutdown": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Power" + ], + "description": "Issues a request to the guest operating system asking it to perform a clean shutdown of all services. This request returns immediately and does not wait for the guest operating system to complete the operation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Power_shutdown", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is not powered on.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/guest/power?action=standby": { + "post": { + "tags": [ + "Vcenter.Vm.Guest.Power" + ], + "description": "Issues a request to the guest operating system asking it to perform a suspend operation.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Guest.Power_standby", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Identifier of the virtual machine.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is suspended.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if VMware Tools is not running.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware" + ], + "description": "Returns the virtual hardware settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Virtual hardware settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware" + ], + "description": "Updates the virtual hardware settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual hardware settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already configured for the desired hardware version.\n\n***Vapi.Std.Errors.InvalidArgument*** if the requested virtual hardware version is not newer than the current version.\n\n***Vapi.Std.Errors.Unsupported*** if the requested virtual hardware version is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/sata": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Sata" + ], + "description": "Returns commonly used information about the virtual SATA adapters belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Sata_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual SATA adapters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Sata" + ], + "description": "Adds a virtual SATA adapter to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Sata_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual SATA adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified SATA bus or PCI address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified SATA bus or PCI address is out of bounds.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reports an error while responding to the request.\n- if the system reported that the SATA adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there are no more available SATA buses on the virtual machine.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual SATA adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/sata/{adapter}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Sata" + ], + "description": "Returns information about a virtual SATA adapter.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Sata_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SATA adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SATA adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual SATA adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Sata" + ], + "description": "Removes a virtual SATA adapter from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Sata_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SATA adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SATA adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/scsi": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Returns commonly used information about the virtual SCSI adapters belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual SCSI adapters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Adds a virtual SCSI adapter to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual SCSI adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified SCSI bus is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified SATA bus or PCI address is out of bounds.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the SCSI adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if there are no more available SCSI buses on the virtual machine.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual SCSI adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/adapter/scsi/{adapter}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Returns information about a virtual SCSI adapter.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SCSI adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SCSI adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual SCSI adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Removes a virtual SCSI adapter from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SCSI adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SCSI adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Adapter.Scsi" + ], + "description": "Updates the configuration of a virtual SCSI adapter.", + "operationId": "Vcenter.Vm.Hardware.Adapter.Scsi_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "adapter", + "in": "path", + "description": "Virtual SCSI adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual SCSI adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual SCSI adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual SCSI adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/boot": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Boot" + ], + "description": "Returns the boot-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Boot_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Boot-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Boot" + ], + "description": "Updates the boot-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Boot_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the boot-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one of the provided settings is not permitted; for example, specifying a negative value for delay.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/boot/device": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Boot.Device" + ], + "description": "Returns an ordered list of boot devices for the virtual machine. If the list is empty, the virtual machine uses a default boot sequence.", + "operationId": "Vcenter.Vm.Hardware.Boot.Device_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Ordered list of configured boot devices.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.Entry" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "put": { + "tags": [ + "Vcenter.Vm.Hardware.Boot.Device" + ], + "description": "Sets the virtual devices that will be used to boot the virtual machine. The virtual machine will check the devices in order, attempting to boot from each, until the virtual machine boots successfully. If the list is empty, the virtual machine will use a default boot sequence. There should be no more than one instance of *Vcenter.Vm.Hardware.Boot.Device.Entry* for a given device type except *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET* in the list.", + "operationId": "Vcenter.Vm.Hardware.Boot.Device_set", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: set", + "content": { + "application/json": { + "schema": { + "required": [ + "devices" + ], + "type": "object", + "properties": { + "devices": { + "type": "array", + "description": "Ordered list of boot devices.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.Entry" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if a any of the Device.Type values appears in more than one Vcenter.Vm.Hardware.Boot.Device.Entry with the exception of *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET*, which may appear multiple times if the virtual machine has been configured with multiple Ethernet adapters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found, or if any of the specified virtual devices is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cdrom": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Returns commonly used information about the virtual CD-ROM devices belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual CD-ROM devices.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Adds a virtual CD-ROM device to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual CD-ROM device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended or if the virtual machine is powered on and virtual CD-ROM type is IDE.\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified storage address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified storage address is out of bounds.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the CD-ROM device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified storage address is unavailable; for example, if the SCSI adapter requested does not exist.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual CD-ROM device identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cdrom/{cdrom}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Returns information about a virtual CD-ROM device.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual CD-ROM device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Removes a virtual CD-ROM device from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended or if the virtual machine is powered on and virtual CD-ROM type is IDE.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Updates the configuration of a virtual CD-ROM device.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual CD-ROM device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual CD-ROM device.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cdrom/{cdrom}?action=connect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Connects a virtual CD-ROM device of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/cdrom/{cdrom}* operation may be used to configure the virtual CD-ROM device to start in the connected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_connect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual CD-ROM device is already connected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cdrom/{cdrom}?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Cdrom" + ], + "description": "Disconnects a virtual CD-ROM device of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the CD-ROM device is not connected to its backing resource. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/cdrom/{cdrom}* operation may be used to configure the virtual CD-ROM device to start in the disconnected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Cdrom_disconnect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cdrom", + "in": "path", + "description": "Virtual CD-ROM device identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual CD-ROM device is already disconnected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual CD-ROM device is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/cpu": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Cpu" + ], + "description": "Returns the CPU-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cpu_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "CPU-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Cpu" + ], + "description": "Updates the CPU-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Cpu_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the CPU-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if one of the provided settings is not permitted; for example, specifying a negative value for count.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if hot_add_enabled or hot_remove_enabled is specified and the virtual machine is not powered off.\n- if count is specified and is greater than count, hot_add_enabled is false, and the virtual machine is not powered off.\n- if count is specified and is less than count, hot_remove_enabled is false, and the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/disk": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Returns commonly used information about the virtual disks belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Disk_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about the virtual disks.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Adds a virtual disk to the virtual machine. While adding the virtual disk, a new VMDK file may be created or an existing VMDK file may be used to back the virtual disk.", + "operationId": "Vcenter.Vm.Hardware.Disk_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is suspended or if the virtual machine is powered on and virtual disk type is IDE.\n\n***Vapi.Std.Errors.ResourceInUse*** if the specified storage address is in use.\n\n***Vapi.Std.Errors.InvalidArgument*** if the specified storage address is out of bounds or if the specified storage policy is invalid.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if system reported that the disk device was created but was unable to confirm the creation because the identifier of the new device could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the specified storage address is unavailable; for example, if the SCSI adapter requested does not exist.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual disk identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/disk/{disk}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Returns information about a virtual disk.", + "operationId": "Vcenter.Vm.Hardware.Disk_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "disk", + "in": "path", + "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual disk is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Removes a virtual disk from the virtual machine. This operation does not destroy the VMDK file that backs the virtual disk. It only detaches the VMDK file from the virtual machine. Once detached, the VMDK file will not be destroyed when the virtual machine to which it was associated is deleted.", + "operationId": "Vcenter.Vm.Hardware.Disk_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "disk", + "in": "path", + "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is suspended or if the virtual machine is powered on and virtual disk type is IDE.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual disk is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Disk" + ], + "description": "Updates the configuration of a virtual disk. An update operation can be used to detach the existing VMDK file and attach another VMDK file to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Disk_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "disk", + "in": "path", + "description": "Virtual disk identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if one or more of the properties specified in the spec parameter cannot be modified due to the current power state of the virtual machine or the connection state of the virtual disk.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual disk is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Returns commonly used information about the virtual Ethernet adapters belonging to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_list", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "List of commonly used information about virtual Ethernet adapters.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.Summary" + } + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Adds a virtual Ethernet adapter to the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_create", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for the new virtual Ethernet adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.CreateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if the specified PCI address is out of bounds, HOST_DEVICE is specified as the type, or a backing cannot be found in the case that backing is left missing or `null`.\n\n***Vapi.Std.Errors.Unsupported*** if the guest operating system of the virtual machine is not supported and spec includes missing or `null` properties that default to guest-specific values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or network backing is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error***:\n- if the system reported that the Ethernet adapter was created but was unable to confirm the creation because the identifier of the new adapter could not be determined.\n- if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if the virtual machine already has the maximum number of supported Ethernet adapters.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "201": { + "description": "Virtual Ethernet adapter identifier.\n\nThe response will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet/{nic}": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Returns information about a virtual Ethernet adapter.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Information about the specified virtual Ethernet adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "delete": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Removes a virtual Ethernet adapter from the virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_delete", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Updates the configuration of a virtual Ethernet adapter.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the virtual Ethernet adapter.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if HOST_DEVICE is specified as the type.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine, virtual Ethernet adapter, or backing network is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet/{nic}?action=connect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Connects a virtual Ethernet adapter of a powered-on virtual machine to its backing. Connecting the virtual device makes the backing accessible from the perspective of the guest operating system. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/ethernet/{nic}* operation may be used to configure the virtual Ethernet adapter to start in the connected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_connect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual Ethernet adapter is already connected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/ethernet/{nic}?action=disconnect": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware.Ethernet" + ], + "description": "Disconnects a virtual Ethernet adapter of a powered-on virtual machine from its backing. The virtual device is still present and its backing configuration is unchanged, but from the perspective of the guest operating system, the Ethernet adapter is not connected to its backing resource. \n\n For a powered-off virtual machine, the *PATCH /vcenter/vm/{vm}/hardware/ethernet/{nic}* operation may be used to configure the virtual Ethernet adapter to start in the disconnected state when the virtual machine is powered on.", + "operationId": "Vcenter.Vm.Hardware.Ethernet_disconnect", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nic", + "in": "path", + "description": "Virtual Ethernet adapter identifier.\n\nThe parameter must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual Ethernet adapter is already disconnected.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered on.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine or virtual Ethernet adapter is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware/memory": { + "get": { + "tags": [ + "Vcenter.Vm.Hardware.Memory" + ], + "description": "Returns the memory-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Memory_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Memory-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Hardware.Memory" + ], + "description": "Updates the memory-related settings of a virtual machine.", + "operationId": "Vcenter.Vm.Hardware.Memory_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Specification for updating the memory-related settings of the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.InvalidArgument*** if one of the provided settings is not permitted; for example, specifying a negative value for size_MiB.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState***:\n- if hot_add_enabled is specified and the virtual machine is not powered off.\n- if size_MiB is specified, hot_add_enabled is false, and the virtual machine is not powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/hardware?action=upgrade": { + "post": { + "tags": [ + "Vcenter.Vm.Hardware" + ], + "description": "Upgrades the virtual machine to a newer virtual hardware version.", + "operationId": "Vcenter.Vm.Hardware_upgrade", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for invoking operation: upgrade", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "New virtual machine version.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nIf missing or `null`, defaults to the most recent virtual hardware version supported by the server." + } + } + } + } + }, + "required": false + }, + "responses": { + "400": { + "description": "***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is not powered off.\n\n***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already configured for the desired hardware version.\n\n***Vapi.Std.Errors.InvalidArgument*** if version is older than the current virtual hardware version.\n\n***Vapi.Std.Errors.Unsupported*** if version is not supported by the server.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power": { + "get": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Returns the power state information of a virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `System.Read`. \n", + "operationId": "Vcenter.Vm.Power_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration or execution state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Power state information for the specified virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Power.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=reset": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Resets a powered-on virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.Reset`. \n", + "operationId": "Vcenter.Vm.Power_reset", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is powered off or suspended.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=start": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Powers on a powered-off or suspended virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.PowerOn`. \n", + "operationId": "Vcenter.Vm.Power_start", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already powered on.\n\n***Vapi.Std.Errors.Unsupported*** if the virtual machine does not support being powered on (e.g. marked as a template, serving as a fault-tolerance secondary virtual machine).\n\n***Vapi.Std.Errors.ResourceInUse*** if resources required by the virtual machine are in use (e.g. virtual machine configuration files or virtual disks are locked, host containing the virtual machine is an HA failover host).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.UnableToAllocateResource*** if resources cannot be allocated for the virtual machine (e.g. physical resource allocation policy cannot be satisfied, insufficient licenses are available to run the virtual machine).\n\n***Vapi.Std.Errors.ResourceInaccessible*** if resources required by the virtual machine are not accessible (e.g. virtual machine configuration files or virtual disks are on inaccessible storage, no hosts are available to run the virtual machine).\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=stop": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Powers off a powered-on or suspended virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.PowerOff`. \n", + "operationId": "Vcenter.Vm.Power_stop", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "if the virtual machine is already powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/power?action=suspend": { + "post": { + "tags": [ + "Vcenter.Vm.Power" + ], + "description": "Suspends a powered-on virtual machine.\n\nReturns an authorization error if you do not have all of the privileges described as follows: \n - The resource `VirtualMachine` referenced by the parameter vm requires `VirtualMachine.Interact.Suspend`. \n", + "operationId": "Vcenter.Vm.Power_suspend", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "***Vapi.Std.Errors.AlreadyInDesiredState*** if the virtual machine is already suspended.\n\n***Vapi.Std.Errors.NotAllowedInCurrentState*** if the virtual machine is powered off.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "404": { + "description": "if the virtual machine is not found.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.NotFound" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine is performing another operation.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/storage/policy": { + "get": { + "tags": [ + "Vcenter.Vm.Storage.Policy" + ], + "description": "Returns Information about Storage Policy associated with a virtual machine's home directory and/or its virtual hard disks.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Storage.Policy_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user can not be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Overview of Storage Policy associated with a virtual machine's home directory and/or its associated virtual hard disks.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + }, + "patch": { + "tags": [ + "Vcenter.Vm.Storage.Policy" + ], + "description": "Updates the storage policy configuration of a virtual machine and/or its associated virtual hard disks.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Storage.Policy_update", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Storage Policy Specification for updating the virtual machine and virtual disks.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.UpdateSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "if the storage policy specified is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.InvalidArgument" + } + } + } + }, + "401": { + "description": "if the user is not authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user doesn't have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "***Vapi.Std.Errors.Error*** if the system reports an error while responding to the request.\n\n***Vapi.Std.Errors.ResourceBusy*** if the virtual machine or disk is busy performing another operation.\n\n***Vapi.Std.Errors.ResourceInaccessible*** if the virtual machine or disk's configuration state cannot be accessed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "204": { + "description": "Success!" + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/storage/policy/compliance": { + "get": { + "tags": [ + "Vcenter.Vm.Storage.Policy.Compliance" + ], + "description": "Returns the cached storage policy compliance information of a virtual machine.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Storage.Policy.Compliance_get", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Virtual machine storage policy compliance Info *Vcenter.Vm.Storage.Policy.Compliance.Info*.\n\nIf missing or `null`, neither the virtual machine home directory nor any of it's virtual disks are associated with a storage policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + }, + "/vcenter/vm/{vm}/storage/policy/compliance?action=check": { + "post": { + "tags": [ + "Vcenter.Vm.Storage.Policy.Compliance" + ], + "description": "Returns the storage policy Compliance *Vcenter.Vm.Storage.Policy.Compliance.Info* of a virtual machine after explicitly re-computing compliance check.\n\nThis operation was added in __vSphere API 6.7__.", + "operationId": "Vcenter.Vm.Storage.Policy.Compliance_check", + "parameters": [ + { + "name": "vm", + "in": "path", + "description": "Virtual machine identifier.\n\nThe parameter must be an identifier for the resource type: `VirtualMachine`.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter specifies the entities on which storage policy compliance check is to be invoked. The storage compliance Info *Vcenter.Vm.Storage.Policy.Compliance.Info* is returned.\n\nIf missing or `null`, the behavior is equivalent to a *Vcenter.Vm.Storage.Policy.Compliance.CheckSpec* with CheckSpec#vmHome set to true and CheckSpec#disks populated with all disks attached to the virtual machine.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.CheckSpec" + } + } + }, + "required": false + }, + "responses": { + "401": { + "description": "if the user cannot be authenticated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthenticated" + } + } + } + }, + "403": { + "description": "if the user does not have the required privileges.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Unauthorized" + } + } + } + }, + "500": { + "description": "if the system reports an error while responding to the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + } + } + }, + "503": { + "description": "if the system is unable to communicate with a service necessary to complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable" + } + } + } + }, + "200": { + "description": "Virtual machine storage policy compliance Vcenter.Vm.Storage.Policy.Compliance.Info schema .\n\nIf missing or `null`, neither the virtual machine home directory nor any of it's virtual disks are associated with a storage policy.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.Info" + } + } + } + } + }, + "security": [ + { + "sessionIdAuth": [] + } + ] + } + } + }, + "components": { + "securitySchemes": { + "sessionIdAuth": { + "type": "apiKey", + "in": "header", + "name": "vmware-api-session-id", + "description": "vSphere Automation API session token (the same vmware-api-session-id token shared by the legacy /rest API and the modern /api surface), retrieved dynamically by POSTing HTTP Basic credentials to vCenter's /rest session-creation endpoint. Itential Platform extracts the token from the 'value' response field, injects it as the vmware-api-session-id header on every /api request, and automatically re-retrieves it on a 401 (e.g. after the session's idle timeout expires).", + "x-itential-dynamic-retrieval": { + "method": "POST", + "url": "https:///rest/com/vmware/cis/session", + "responsePointer": "/value" + }, + "x-itential-parameters": [ + { + "name": "Authorization", + "in": "header", + "x-itential-use-in": [ + "key" + ], + "schema": { + "type": "string" + }, + "description": "HTTP Basic credential for the session-retrieval call, e.g. 'Basic '" + } + ] + } + }, + "schemas": { + "Vapi.Std.Errors.AlreadyInDesiredState": { + "type": "object", + "description": "The Vapi.Std.Errors.AlreadyInDesiredState error indicates that an attempt to change the state of a resource or service had no effect because the resource or service is already in the desired state. \n\n Examples: \n - Trying to power on a virtual machine that is already powered on.\n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.Error": { + "required": [ + "error_type", + "messages" + ], + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "Stack of one or more localizable messages for human error consumers. \n\n The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked. \n\n Each subsequent message in the stack describes the \"cause\" of the prior message.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + }, + "data": { + "type": "object", + "description": "Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. \n\n Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports. \n\n The *Vapi.Std.Errors.ArgumentLocations*, *Vapi.Std.Errors.FileLocations*, and *Vapi.Std.Errors.TransientIndication* schemas are intended as possible values for this property. *Vapi.Std.DynamicID* may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.\n\nSome operations will not set this property when reporting errors." + }, + "error_type": { + "type": "string", + "description": "Discriminator field to help API consumers identify the structure type.\n\nPossible values:\n - `ERROR`: Discriminator for the *Vapi.Std.Errors.Error* type.\n - `ALREADY_EXISTS`: Discriminator for the *Vapi.Std.Errors.AlreadyExists* type.\n - `ALREADY_IN_DESIRED_STATE`: Discriminator for the *Vapi.Std.Errors.AlreadyInDesiredState* type.\n - `CANCELED`: Discriminator for the *Vapi.Std.Errors.Canceled* type.\n - `CONCURRENT_CHANGE`: Discriminator for the *Vapi.Std.Errors.ConcurrentChange* type.\n - `FEATURE_IN_USE`: Discriminator for the *Vapi.Std.Errors.FeatureInUse* type.\n - `INTERNAL_SERVER_ERROR`: Discriminator for the *Vapi.Std.Errors.InternalServerError* type.\n - `INVALID_ARGUMENT`: Discriminator for the *Vapi.Std.Errors.InvalidArgument* type.\n - `INVALID_ELEMENT_CONFIGURATION`: Discriminator for the *Vapi.Std.Errors.InvalidElementConfiguration* type.\n - `INVALID_ELEMENT_TYPE`: Discriminator for the *Vapi.Std.Errors.InvalidElementType* type.\n - `INVALID_REQUEST`: Discriminator for the *Vapi.Std.Errors.InvalidRequest* type.\n - `NOT_ALLOWED_IN_CURRENT_STATE`: Discriminator for the *Vapi.Std.Errors.NotAllowedInCurrentState* type.\n - `NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.NotFound* type.\n - `OPERATION_NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.OperationNotFound* type.\n - `RESOURCE_BUSY`: Discriminator for the *Vapi.Std.Errors.ResourceBusy* type.\n - `RESOURCE_IN_USE`: Discriminator for the *Vapi.Std.Errors.ResourceInUse* type.\n - `RESOURCE_INACCESSIBLE`: Discriminator for the *Vapi.Std.Errors.ResourceInaccessible* type.\n - `SERVICE_UNAVAILABLE`: Discriminator for the *Vapi.Std.Errors.ServiceUnavailable* type.\n - `TIMED_OUT`: Discriminator for the *Vapi.Std.Errors.TimedOut* type.\n - `UNABLE_TO_ALLOCATE_RESOURCE`: Discriminator for the *Vapi.Std.Errors.UnableToAllocateResource* type.\n - `UNAUTHENTICATED`: Discriminator for the *Vapi.Std.Errors.Unauthenticated* type.\n - `UNAUTHORIZED`: Discriminator for the *Vapi.Std.Errors.Unauthorized* type.\n - `UNEXPECTED_INPUT`: Discriminator for the *Vapi.Std.Errors.UnexpectedInput* type.\n - `UNSUPPORTED`: Discriminator for the *Vapi.Std.Errors.Unsupported* type.\n - `UNVERIFIED_PEER`: Discriminator for the *Vapi.Std.Errors.UnverifiedPeer* type.\n\n\nFor more information see: *Vapi.Std.Errors.Error.Type*.\n\nThis property was added in __vSphere API 6.7.2__.\n\nCan be missing or `null` for compatibility with preceding implementations." + } + }, + "description": "The Vapi.Std.Errors.Error error describes theproperties common to all standard errors. \n\n This error serves two purposes: \n 1. It is the error that clients in many programming languages can catch to handle all standard errors. Typically those clients will display one or more of the localizable messages from *Vapi.Std.Errors.Error.messages* to a human. \n 2. It is the error that operations can report when they need to report some error, but the error doesn't fit into any other standard error, and in fact the only reasonable way for a client to react to the error is to display the message(s) to a human. \n ", + "discriminator": { + "propertyName": "error_type", + "mapping": { + "ALREADY_EXISTS": "#/components/schemas/Vapi.Std.Errors.AlreadyExists", + "ALREADY_IN_DESIRED_STATE": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState", + "CANCELED": "#/components/schemas/Vapi.Std.Errors.Canceled", + "CONCURRENT_CHANGE": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange", + "ERROR": "#/components/schemas/Vapi.Std.Errors.Error", + "FEATURE_IN_USE": "#/components/schemas/Vapi.Std.Errors.FeatureInUse", + "INTERNAL_SERVER_ERROR": "#/components/schemas/Vapi.Std.Errors.InternalServerError", + "INVALID_ARGUMENT": "#/components/schemas/Vapi.Std.Errors.InvalidArgument", + "INVALID_ELEMENT_CONFIGURATION": "#/components/schemas/Vapi.Std.Errors.InvalidElementConfiguration", + "INVALID_ELEMENT_TYPE": "#/components/schemas/Vapi.Std.Errors.InvalidElementType", + "INVALID_REQUEST": "#/components/schemas/Vapi.Std.Errors.InvalidRequest", + "NOT_ALLOWED_IN_CURRENT_STATE": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState", + "NOT_FOUND": "#/components/schemas/Vapi.Std.Errors.NotFound", + "OPERATION_NOT_FOUND": "#/components/schemas/Vapi.Std.Errors.OperationNotFound", + "RESOURCE_BUSY": "#/components/schemas/Vapi.Std.Errors.ResourceBusy", + "RESOURCE_IN_USE": "#/components/schemas/Vapi.Std.Errors.ResourceInUse", + "RESOURCE_INACCESSIBLE": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible", + "SERVICE_UNAVAILABLE": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable", + "TIMED_OUT": "#/components/schemas/Vapi.Std.Errors.TimedOut", + "UNABLE_TO_ALLOCATE_RESOURCE": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource", + "UNAUTHENTICATED": "#/components/schemas/Vapi.Std.Errors.Unauthenticated", + "UNAUTHORIZED": "#/components/schemas/Vapi.Std.Errors.Unauthorized", + "UNEXPECTED_INPUT": "#/components/schemas/Vapi.Std.Errors.UnexpectedInput", + "UNSUPPORTED": "#/components/schemas/Vapi.Std.Errors.Unsupported", + "UNVERIFIED_PEER": "#/components/schemas/Vapi.Std.Errors.UnverifiedPeer" + } + } + }, + "Vapi.Std.Errors.InvalidArgument": { + "type": "object", + "description": "The Vapi.Std.Errors.InvalidArgument error indicates that the values received for one or more parameters are not acceptable. \n\n This error is reported by the API infrastructure, so it could occur in response to the invocation of any operation. It may also be reported as the result of operation-specific validation. \n\n Examples: \n - A parameter has a value that is not of the expected type. \n - A parameter has a value that is not in the required range. \n - A parameter has a value that is not one of the specifically allowed strings. \n - One property of a schema is the tag for a tagged union, and has a specific value but another property of the schema that is required to be specified when the tag has that value is not specified, or another property of the schema that is required to be unspecified when the tag has that value is specified. \n \n\n Counterexamples: \n - Trying to create a new tag in tag category when a tag with the specified name already exists the tag category. The *Vapi.Std.Errors.AlreadyExists* error would be used instead. \n - Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. The *Vapi.Std.Errors.NotFound* error would be used instead. \n - Attempt to put a virtual machine into a folder that can only contain hosts. The *Vapi.Std.Errors.InvalidElementType* error would be used instead. \n - Attempt to attach a SCSI virtual disk to an IDE port. The *Vapi.Std.Errors.InvalidElementType* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.NotAllowedInCurrentState": { + "type": "object", + "description": "The Vapi.Std.Errors.NotAllowedInCurrentState error indicates that the requested operation is not allowed with a resource or service in its current state. This could be because the operation is performing a configuration change that is not allowed in the current state or because operation itself is not allowed in the current state. \n\n Examples: \n - Trying to add a virtual device that cannot be hot plugged to a running virtual machine. \n - Trying to upgrade the virtual hardware version for a suspended virtual machine. \n - Trying to power off, reset, or suspend a virtual machine that is not powered on. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. The *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.NotFound": { + "type": "object", + "description": "The Vapi.Std.Errors.NotFound error indicates that a specified element could not be found. \n\n Examples: \n - Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. \n - Invoke the operation to modify the configuration of a virtual nic, passing an id that does not identify an existing virtual nic in the specified virtual machine. \n - Invoke the operation to remove a vswitch, passing an id that does not identify an existing vswitch. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ResourceInUse": { + "type": "object", + "description": "The Vapi.Std.Errors.ResourceInUse error indicates that the operation could not be completed because a resource is in use. \n\n Examples: \n - Trying to remove a VMFS datastore when the is a virtual machine registered on any host attached to the datastore. \n - Trying to add a virtual switch if the physical network adapter being bridged is already in use. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. The *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ResourceInaccessible": { + "type": "object", + "description": "The Vapi.Std.Errors.ResourceInaccessible error indicates that the operation could not be completed because an entity is not accessible. \n\n Examples: \n - Attempt to invoke some operation on a virtual machine when the virtual machine's configuration file is not accessible (for example due to a storage APD condition). \n \n\n Counterexamples: \n - Attempt to invoke some operation when the server is too busy. The *Vapi.Std.Errors.ServiceUnavailable* error would be used instead. \n - Attempt to invoke some operation when the server is undergoing maintenance. The *Vapi.Std.Errors.ServiceUnavailable* error would be used instead. \n - Some operation fails to contact VMware Tools running inside the virtual machine. The *Vapi.Std.Errors.ServiceUnavailable* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.ServiceUnavailable": { + "type": "object", + "description": "The Vapi.Std.Errors.ServiceUnavailable error indicates that the resource is unavailable. \n\n Examples: \n - Attempt to invoke a operation when the server is too busy. \n - Attempt to invoke a operation when the server is undergoing maintenance. \n - An operation fails to contact VMware Tools running inside the virtual machine. \n \n\n Counterexamples: \n - A client provides an invalid service or operation identifier when invoking the operation using a dynamic interface (for example REST). The *Vapi.Std.Errors.OperationNotFound* error would be used instead. \n - A client invokes the operation from the resource, but that resource has not been installed. The *Vapi.Std.Errors.OperationNotFound* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.UnableToAllocateResource": { + "type": "object", + "description": "The Vapi.Std.Errors.UnableToAllocateResource error indicates that the operation failed because it was unable to allocate or acquire a required resource. \n\n Examples: \n - Trying to power on a virtual machine when there are not enough licenses to do so. \n - Trying to power on a virtual machine that would violate a resource usage policy. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. A *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n - Trying to remove a VMFS datastore when the is a virtual machine registered on any host attached to the datastore. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n - Trying to add a virtual switch if the physical network adapter being bridged is already in use. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n - Attempt to invoke some operation on a virtual machine when the virtual machine's configuration file is not accessible (for example due to a storage APD condition). The *Vapi.Std.Errors.ResourceInaccessible* error would be used instead. \n ", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.Unauthenticated": { + "type": "object", + "properties": { + "challenge": { + "type": "string", + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. \n\n For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vapi.Std.Errors.Unauthenticated error indicates that the operation requires authentication and the user is not authenticated. \n\n API requests may include a security context containing user credentials. For example, the user credentials could be a SAML token, a user name and password, or the session identifier for a previously established session. \n\n Examples: \n - The SAML token in the request's security context has expired. \n - The user name and password in the request's security context are invalid. \n - The session identifier in the request's security context identifies a session that has expired. \n Counterexamples: \n - The user is authenticated but isn't authorized to perform the requested operation. The *Vapi.Std.Errors.Unauthorized* error would be used instead. \n \n\n For security reasons, the *Vapi.Std.Errors.Error.data* property in this error is missing or `null`, and the *Vapi.Std.Errors.Error.messages* property in this error does not disclose which part of the security context is correct or incorrect. For example the messages would not disclose whether a username or a password is valid or invalid, but only that a combination of username and password is invalid.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.Errors.Unauthorized": { + "type": "object", + "properties": { + "challenge": { + "type": "string", + "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. \n\n For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da158-2ba4-11e9-b\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vapi.Std.Errors.Unauthorized error indicates that the user is not authorized to perform the operation. \n\n API requests may include a security context containing user credentials. For example, the user credentials could be a SAML token, a user name and password, or the session identifier for a previously established session. Invoking the operation may require that the user identified by those credentials has particular privileges on the operation or on one or more resource identifiers passed to the operation. \n\n Examples: \n - The operation requires that the user have one or more privileges on the operation, but the user identified by the credentials in the security context does not have the required privileges. \n - The operation requires that the user have one or more privileges on a resource identifier passed to the operation, but the user identified by the credentials in the security context does not have the required privileges. \n \n\n \n\n Counterexamples: \n - The SAML token in the request's security context has expired. A *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n - The user name and password in the request's security context are invalid. The *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n - The session identifier in the request's security context identifies a session that has expired. The *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n \n\n For security reasons, the *Vapi.Std.Errors.Error.data* property in this error is missing or `null`, and the *Vapi.Std.Errors.Error.messages* property in this error does not disclose why the user is not authorized to perform the operation. For example the messages would not disclose which privilege the user did not have or which resource identifier the user did not have the required privilege to access. The API documentation should indicate what privileges are required.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + ] + }, + "Vapi.Std.LocalizableMessage": { + "required": [ + "args", + "default_message", + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the localizable string or message template. \n\n This identifier is typically used to retrieve a locale-specific string or message template from a message catalog." + }, + "default_message": { + "type": "string", + "description": "The value of this localizable string or message template in the `en_US` (English) locale. If *Vapi.Std.LocalizableMessage.id* refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog." + }, + "args": { + "type": "array", + "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", + "items": { + "type": "string" + } + }, + "params": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Std.LocalizationParam" + }, + "description": "Named arguments to be substituted into the message template.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nMissing or `null` means that the message template requires no arguments or positional arguments are used." + }, + "localized": { + "type": "string", + "description": "Localized string value as per request requirements.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nwhen the client has not requested specific locale the implementation may not populate this field to conserve resources." + } + }, + "description": "The Vapi.Std.LocalizableMessage schema represents localizable string and message template. Resources include one or more localizable message templates in the errors they report so that clients can display diagnostic messages in the native language of the user. Resources can include localizable strings in the data returned from operations to allow clients to display localized status information in the native language of the user." + }, + "Vapi.Std.LocalizationParam": { + "type": "object", + "properties": { + "s": { + "type": "string", + "description": "String value associated with the parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when string value is used." + }, + "dt": { + "type": "string", + "description": "Date and time value associated with the parameter. Use the format property to specify date and time display style.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when date and time value is used.", + "format": "date-time" + }, + "i": { + "type": "integer", + "description": "long value associated with the parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when long value is used.", + "format": "int64" + }, + "d": { + "type": "number", + "description": "The double value associated with the parameter. The number of displayed fractional digits is changed via precision property.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when double value is used.", + "format": "double" + }, + "l": { + "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form enumerated type and boolean values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive Vapi.Std.NestedLocalizableMessage instances can be used for localizing short lists of items.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when nested localization message value is used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.NestedLocalizableMessage" + } + ] + }, + "format": { + "type": "string", + "description": "Format associated with the date and time value in dt property. The enumeration value `SHORT_DATETIME` will be used as default.\n\nPossible values:\n - `SHORT_DATE`: The date and time value will be formatted as short date, for example *2019-01-28*\n - `MED_DATE`: The date and time value will be formatted as medium date, for example *2019 Jan 28*\n - `LONG_DATE`: The date and time value will be formatted as long date, for example *2019 Jan 28*\n - `FULL_DATE`: The date and time value will be formatted as full date, for example *2019 Jan 28, Mon*\n - `SHORT_TIME`: The date and time value will be formatted as short time, for example *12:59*\n - `MED_TIME`: The date and time value will be formatted as medium time, for example *12:59:01*\n - `LONG_TIME`: The date and time value will be formatted as long time, for example *12:59:01 Z*\n - `FULL_TIME`: The date and time value will be formatted as full time, for example *12:59:01 Z*\n - `SHORT_DATE_TIME`: The date and time value will be formatted as short date and time, for example *2019-01-28 12:59*\n - `MED_DATE_TIME`: The date and time value will be formatted as medium date and time, for example *2019 Jan 28 12:59:01*\n - `LONG_DATE_TIME`: The date and time value will be formatted as long date and time, for example *2019 Jan 28 12:59:01 Z*\n - `FULL_DATE_TIME`: The date and time value will be formatted as full date and time, for example *2019 Jan 28, Mon 12:59:01 Z*\n\n\nFor more information see: *Vapi.Std.LocalizationParam.DateTimeFormat*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis may not be set if enumeration value `SHORT_DATETIME` default format is appropriate" + }, + "precision": { + "type": "integer", + "description": "Number of fractional digits to include in formatted double value.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis will be set when exact precision is required for rendering double numbers.", + "format": "int64" + } + }, + "description": "This schema holds a single message parameter and formatting settings for it. The schema has fields for string, long, double, date time and nested messages. Only one will be used depending on the type of data sent. For date, double and long it is possible to set additional formatting details.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vapi.Std.NestedLocalizableMessage": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the localizable string or message template. \n\n This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "params": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vapi.Std.LocalizationParam" + }, + "description": "Named Arguments to be substituted into the message template.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nservices will not populate this field when there are no parameters to be substituted" + } + }, + "description": "The Vapi.Std.NestedLocalizableMessage schema represents a nested within a parameter localizable string or message template. This schema is useful for modeling composite messages. Such messages are necessary to do correct pluralization of phrases, represent lists of several items etc.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.Cluster.Info": { + "required": [ + "name", + "resource_pool" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the cluster" + }, + "resource_pool": { + "type": "string", + "description": "Identifier of the root resource pool of the cluster\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + } + }, + "description": "The Vcenter.Cluster.Info schema contains information about a cluster in vCenter Server." + }, + "Vcenter.Cluster.Summary": { + "required": [ + "cluster", + "drs_enabled", + "ha_enabled", + "name" + ], + "type": "object", + "properties": { + "cluster": { + "type": "string", + "description": "Identifier of the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "name": { + "type": "string", + "description": "Name of the cluster." + }, + "ha_enabled": { + "type": "boolean", + "description": "Flag indicating whether the vSphere HA feature is enabled for the cluster." + }, + "drs_enabled": { + "type": "boolean", + "description": "Flag indicating whether the vSphere DRS service is enabled for the cluster." + } + }, + "description": "The Vcenter.Cluster.Summary schema contains commonly used information about a cluster in vCenter Server." + }, + "Vcenter.Datacenter.CreateSpec": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the datacenter to be created." + }, + "folder": { + "type": "string", + "description": "Datacenter folder in which the new datacenter should be created.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose a suitable folder for the datacenter; if a folder cannot be chosen, the datacenter creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.Datacenter.CreateSpec schema defines the information used to create a datacenter." + }, + "Vcenter.Datacenter.Info": { + "required": [ + "datastore_folder", + "host_folder", + "name", + "network_folder", + "vm_folder" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the datacenter." + }, + "datastore_folder": { + "type": "string", + "description": "The root datastore folder associated with the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "host_folder": { + "type": "string", + "description": "The root host and cluster folder associated with the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "network_folder": { + "type": "string", + "description": "The root network folder associated with the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "vm_folder": { + "type": "string", + "description": "The root virtual machine folder associated with the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.Datacenter.Info schema contains information about a datacenter in vCenter Server." + }, + "Vcenter.Datacenter.Summary": { + "required": [ + "datacenter", + "name" + ], + "type": "object", + "properties": { + "datacenter": { + "type": "string", + "description": "Identifier of the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datacenter`." + }, + "name": { + "type": "string", + "description": "Name of the datacenter." + } + }, + "description": "The Vcenter.Datacenter.Summary schema contains commonly used information about a datacenter in vCenter Server." + }, + "Vcenter.Datastore.Info": { + "required": [ + "accessible", + "multiple_host_access", + "name", + "thin_provisioning_supported", + "type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the datastore." + }, + "type": { + "type": "string", + "description": "Type (Type) of the datastore.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*." + }, + "accessible": { + "type": "boolean", + "description": "Whether or not this datastore is accessible." + }, + "free_space": { + "type": "integer", + "description": "Available space of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the available space of this datastore is not known.", + "format": "int64" + }, + "multiple_host_access": { + "type": "boolean", + "description": "Whether or not more than one host in the datacenter has been configured with access to the datastore." + }, + "thin_provisioning_supported": { + "type": "boolean", + "description": "Whether or not the datastore supports thin provisioning on a per file basis. When thin provisioning is used, backing storage is lazily allocated." + } + }, + "description": "The Vcenter.Datastore.Info schema contains information about a datastore." + }, + "Vcenter.Datastore.Summary": { + "required": [ + "datastore", + "name", + "type" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "name": { + "type": "string", + "description": "Name of the datastore." + }, + "type": { + "type": "string", + "description": "Type (Type) of the datastore.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*." + }, + "free_space": { + "type": "integer", + "description": "Available space of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the available space of this datastore is not known.", + "format": "int64" + }, + "capacity": { + "type": "integer", + "description": "Capacity of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the capacity of this datastore is not known.", + "format": "int64" + } + }, + "description": "The Vcenter.Datastore.Summary schema contains commonly used information about a datastore." + }, + "Vcenter.Folder.FilterSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type that folders must have to match the filter (see *Vcenter.Folder.Summary.type*).\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n\n\nFor more information see: *Vcenter.Folder.Type*.\n\nIf missing or `null`, folders with any type match the filter." + } + }, + "description": "The Vcenter.Folder.FilterSpec schema contains properties used to filter the results when listing folders (see *GET /vcenter/folder*). If multiple properties are specified, only folders matching all of the properties match the filter." + }, + "Vcenter.Folder.Summary": { + "required": [ + "folder", + "name", + "type" + ], + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Identifier of the folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "name": { + "type": "string", + "description": "Name of the vCenter Server folder." + }, + "type": { + "type": "string", + "description": "Type (Type) of the vCenter Server folder.\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n\n\nFor more information see: *Vcenter.Folder.Type*." + } + }, + "description": "The Vcenter.Folder.Summary schema contains commonly used information about a folder." + }, + "Vcenter.Guest.CustomizationSpecs.FilterSpec": { + "type": "object", + "properties": { + "os_type": { + "type": "string", + "description": "Guest operating system type that guest customization specifications must have to match the filter (see *Vcenter.Guest.CustomizationSpecs.Summary.OS_type*).\n\nPossible values:\n - `WINDOWS`: A customization specification for a Windows guest operating system\n - `LINUX`: A customization specification for a Linux guest operating system\n\n\nFor more information see: *Vcenter.Guest.CustomizationSpecs.OsType*.\n\nThis property was added in __vSphere API 6.7.1__.\n\nIf missing or `null`, guest customization specifications with any guest operating system type match the filter." + } + }, + "description": "The Vcenter.Guest.CustomizationSpecs.FilterSpec schema contains properties used to filter the results when listing guest customization specifications (see *GET /vcenter/guest/customization-specs*). If multiple properties are specified, only guest customization specifications matching all of the properties match the filter.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Guest.CustomizationSpecs.Summary": { + "required": [ + "description", + "last_modified", + "name", + "os_type" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the guest customization specification.\n\nThis property was added in __vSphere API 6.7.1__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.guest.CustomizationSpec`." + }, + "description": { + "type": "string", + "description": "Description of the guest customization specification.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "os_type": { + "type": "string", + "description": "Guest operating system type for which that this guest customization specification applies.\n\nPossible values:\n - `WINDOWS`: A customization specification for a Windows guest operating system\n - `LINUX`: A customization specification for a Linux guest operating system\n\n\nFor more information see: *Vcenter.Guest.CustomizationSpecs.OsType*.\n\nThis property was added in __vSphere API 6.7.1__." + }, + "last_modified": { + "type": "string", + "description": "Date and time when this guest customization specification was last modified.\n\nThis property was added in __vSphere API 6.7.1__.", + "format": "date-time" + } + }, + "description": "The Vcenter.Guest.CustomizationSpecs.Summary schema contains commonly used information about a guest customization specification.\n\nThis schema was added in __vSphere API 6.7.1__." + }, + "Vcenter.Host.CreateSpec": { + "required": [ + "hostname", + "password", + "thumbprint_verification", + "user_name" + ], + "type": "object", + "properties": { + "hostname": { + "type": "string", + "description": "The IP address or DNS resolvable name of the host." + }, + "port": { + "type": "integer", + "description": "The port of the host.\n\nIf missing or `null`, port 443 will be used.", + "format": "int64" + }, + "user_name": { + "type": "string", + "description": "The administrator account on the host." + }, + "password": { + "type": "string", + "description": "The password for the administrator account on the host.", + "format": "password" + }, + "folder": { + "type": "string", + "description": "Host and cluster folder in which the new standalone host should be created.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose a suitable folder for the host; if a folder cannot be chosen, the host creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "thumbprint_verification": { + "type": "string", + "description": "Type of host's SSL certificate verification to be done.\n\nPossible values:\n - `NONE`: Accept the host's thumbprint without verifying it.\n - `THUMBPRINT`: Host's SSL certificate verified by checking its thumbprint against the specified thumbprint.\n - `CERTIFICATE`: Host's SSL certificate verified by checking it against the provided PEM SSL certificate.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Host.CreateSpec.ThumbprintVerification*." + }, + "thumbprint": { + "type": "string", + "description": "The thumbprint of the SSL certificate, which the host is expected to have. The thumbprint is always computed using the SHA1 hash and is the string representation of that hash in the format: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx where, 'x' represents a hexadecimal digit.\n\nThis property is optional and it is only relevant when the value of thumbprint_verification is *Vcenter.Host.CreateSpec.ThumbprintVerification.THUMBPRINT*." + }, + "ssl_certificate": { + "type": "string", + "description": "The SSL certificate in PEM format, which the host is expected to have.\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional and it is only relevant when the value of thumbprint_verification is *Vcenter.Host.CreateSpec.ThumbprintVerification.CERTIFICATE*." + }, + "force_add": { + "type": "boolean", + "description": "Whether host should be added to the vCenter Server even if it is being managed by another vCenter Server. The original vCenterServer loses connection to the host.\n\nIf missing or `null`, forceAdd is default to false." + } + }, + "description": "The Vcenter.Host.CreateSpec schema defines the information used to create a host." + }, + "Vcenter.Host.FilterSpec": { + "type": "object", + "properties": { + "standalone": { + "type": "boolean", + "description": "If true, only hosts that are not part of a cluster can match the filter, and if false, only hosts that are are part of a cluster can match the filter.\n\nIf missing or `null` Hosts can match filter independent of whether they are part of a cluster or not. If this field is true and *Vcenter.Host.FilterSpec.clusters* is not empty, no hosts will match the filter." + } + }, + "description": "The Vcenter.Host.FilterSpec schema contains properties used to filter the results when listing hosts (see *GET /vcenter/host*). If multiple properties are specified, only hosts matching all of the properties match the filter." + }, + "Vcenter.Host.Summary": { + "required": [ + "connection_state", + "host", + "name" + ], + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Identifier of the host.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "name": { + "type": "string", + "description": "Name of the host." + }, + "connection_state": { + "type": "string", + "description": "Connection status of the host\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n\n\nFor more information see: *Vcenter.Host.ConnectionState*." + }, + "power_state": { + "type": "string", + "description": "Power state of the host\n\nPossible values:\n - `POWERED_ON`: The host is powered on. A host that is entering standby mode is also in this state.\n - `POWERED_OFF`: The host was specifically powered off by the user through vCenter server. This state is not a certain state, because after vCenter server issues the command to power off the host, the host might crash, or kill all the processes but fail to power off.\n - `STANDBY`: The host was specifically put in standby mode, either explicitly by the user, or automatically by DPM. This state is not a certain state, because after VirtualCenter issues the command to put the host in standby state, the host might crash, or kill all the processes but fail to enter standby mode. A host that is exiting standby mode is also in this state.\n\n\nFor more information see: *Vcenter.Host.PowerState*.\n\nThis property is optional and it is only relevant when the value of connection_state is *Vcenter.Host.ConnectionState.CONNECTED*." + }, + "host_uuid": { + "type": "string", + "description": "UUID of the host. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + } + }, + "description": "The Vcenter.Host.Summary schema contains commonly used information about a host in vCenter Server." + }, + "Vcenter.Network.Summary": { + "required": [ + "name", + "network", + "type" + ], + "type": "object", + "properties": { + "network": { + "type": "string", + "description": "Identifier of the network.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "name": { + "type": "string", + "description": "Name of the network." + }, + "type": { + "type": "string", + "description": "Type (Type) of the vCenter Server network.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*." + } + }, + "description": "The Vcenter.Network.Summary schema contains commonly used information about a network." + }, + "Vcenter.Ovf.LibraryItem.CreateResult": { + "required": [ + "succeeded" + ], + "type": "object", + "properties": { + "succeeded": { + "type": "boolean", + "description": "Whether the create operation completed successfully." + }, + "ovf_library_item_id": { + "type": "string", + "description": "Identifier of the created or updated library item.\n\nIf missing or `null`, the create operation failed and *Vcenter.Ovf.LibraryItem.CreateResult.error* will describe the error(s) that caused the failure.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + }, + "error": { + "description": "Errors, warnings, and informational messages produced by the create operation.\n\nIf missing or `null`, no errors, warnings, or informational messages were reported by the create operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.ResultInfo" + } + ] + } + }, + "description": "The Vcenter.Ovf.LibraryItem.CreateResult schema defines the result of the create operation. See *POST /vcenter/ovf/library-item*." + }, + "Vcenter.Ovf.LibraryItem.CreateSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name to use in the OVF descriptor stored in the library item.\n\nIf missing or `null`, the server will use source's current name." + }, + "description": { + "type": "string", + "description": "Description to use in the OVF descriptor stored in the library item.\n\nIf missing or `null`, the server will use source's current annotation." + }, + "flags": { + "type": "array", + "description": "Flags to use for OVF package creation. The supported flags can be obtained using *GET /vcenter/ovf/export-flag*.\n\nIf missing or `null`, no flags will be used.", + "items": { + "type": "string" + } + }, + "library_item_source_id": { + "type": "string", + "description": "Source identifier of the library item for image identification.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, no source identifier will be used.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.CreateSpec schema defines the information used to create or update a library item containing an OVF package." + }, + "Vcenter.Ovf.LibraryItem.CreateTarget": { + "type": "object", + "properties": { + "library_id": { + "type": "string", + "description": "Identifier of the library in which a new library item should be created. This property is not used if the library_item_id property is specified.\n\nThis property is currently required. \n\n In the future, if missing or `null`, the library_item_id property must be specified. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "library_item_id": { + "type": "string", + "description": "Identifier of the library item that should be updated.\n\nIf missing or `null`, a new library item will be created. The library_id property must be specified if this property is set.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.library.Item`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.library.Item`." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.CreateTarget schema specifies the target library item when capturing a virtual machine or virtual appliance as an OVF package in a library item in a content library. The target can be an existing library item, which will be updated, creating a new version, or it can be a newly created library item in a specified library. See *POST /vcenter/ovf/library-item*." + }, + "Vcenter.Ovf.LibraryItem.DeployableIdentity": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the deployable resource.\n\nWhen clients pass a value of this schema as a parameter, the property must be one of `VirtualMachine` or `VirtualApp`. When operations return a value of this schema as a response, the property will be one of `VirtualMachine` or `VirtualApp`." + }, + "id": { + "type": "string", + "description": "Identifier of the deployable resource.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for one of these resource types: `VirtualMachine` or `VirtualApp`. When operations return a value of this schema as a response, the property will be an identifier for one of these resource types: `VirtualMachine` or `VirtualApp`." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.DeployableIdentity schema describes the resource created by a deployment, or the source resource from which library item can be created, by specifying its resource type and resource identifier." + }, + "Vcenter.Ovf.LibraryItem.DeploymentResult": { + "required": [ + "succeeded" + ], + "type": "object", + "properties": { + "succeeded": { + "type": "boolean", + "description": "Whether the deploy operation completed successfully." + }, + "resource_id": { + "description": "Identifier of the deployed resource entity.\n\nIf missing or `null`, the deploy operation failed and *Vcenter.Ovf.LibraryItem.DeploymentResult.error* will describe the error(s) that caused the failure.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.DeployableIdentity" + } + ] + }, + "error": { + "description": "Errors, warnings, and informational messages produced by the deploy operation.\n\nIf missing or `null`, no errors, warnings, or informational messages were reported by the deploy operation.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.ResultInfo" + } + ] + } + }, + "description": "The Vcenter.Ovf.LibraryItem.DeploymentResult schema defines the result of the deploy operation. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*." + }, + "Vcenter.Ovf.LibraryItem.DeploymentTarget": { + "required": [ + "resource_pool_id" + ], + "type": "object", + "properties": { + "resource_pool_id": { + "type": "string", + "description": "Identifier of the resource pool to which the virtual machine or virtual appliance should be attached.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host_id": { + "type": "string", + "description": "Identifier of the target host on which the virtual machine or virtual appliance will run. The target host must be a member of the cluster that contains the resource pool identified by *Vcenter.Ovf.LibraryItem.DeploymentTarget.resource_pool_id*.\n\nIf missing or `null`, the server will automatically select a target host from the resource pool if *Vcenter.Ovf.LibraryItem.DeploymentTarget.resource_pool_id* is a stand-alone host or a cluster with Distributed Resource Scheduling (DRS) enabled.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "folder_id": { + "type": "string", + "description": "Identifier of the vCenter folder that should contain the virtual machine or virtual appliance. The folder must be virtual machine folder.\n\nIf missing or `null`, the server will choose the deployment folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.DeploymentTarget schema describes the location (target) where a virtual machine or virtual appliance should be deployed. It is used in the deploy and filter operations. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.LibraryItem.OvfSummary": { + "required": [ + "eulas" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Default name for the virtual machine or virtual appliance.\n\nIf missing or `null`, the OVF descriptor did not specify a name." + }, + "annotation": { + "type": "string", + "description": "Default annotation for the virtual machine or virtual appliance.\n\nIf missing or `null`, the OVF descriptor did not specify an annotation." + }, + "eulas": { + "type": "array", + "description": "End User License Agreements specified in the OVF descriptor. All end user license agreements must be accepted in order for the deploy operation to succeed. See *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.accept_all_EULA*.", + "items": { + "type": "string" + } + }, + "networks": { + "type": "array", + "description": "Section identifiers for sections of type ovf:NetworkSection in the OVF descriptor. These identifiers can be used as keys in *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.network_mappings*.\n\nIf missing or `null`, the OVF descriptor did not specify any networks.", + "items": { + "type": "string" + } + }, + "storage_groups": { + "type": "array", + "description": "Section identifiers for sections of type vmw:StorageGroupSection in the OVF descriptor. These identifiers can be used as keys in *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_mappings*.\n\nIf missing or `null`, the OVF descriptor did not specify any storage groups.", + "items": { + "type": "string" + } + }, + "additional_params": { + "type": "array", + "description": "Additional OVF parameters which can be specified for the deployment target. These OVF parameters can be inspected, optionally modified, and used as values in *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.additional_parameters* for the deploy operation.\n\nIf missing or `null`, the OVF descriptor does not require addtional parameters or does not have additional parameters suitable for the deployment target.\n\nWhen clients pass a value of this schema as a parameter, the property must contain all the properties defined in *Vcenter.Ovf.OvfParams*. When operations return a value of this schema as a response, the property will contain all the properties defined in *Vcenter.Ovf.OvfParams*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfParams" + } + } + }, + "description": "The Vcenter.Ovf.LibraryItem.OvfSummary schema defines the result of the filter operation. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*. The properties in the schema describe parameterizable information in the OVF descriptor, with respect to a deployment target, for the deploy operation. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*." + }, + "Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec": { + "required": [ + "accept_all_eula" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name assigned to the deployed target virtual machine or virtual appliance.\n\nIf missing or `null`, the server will use the name from the OVF package." + }, + "annotation": { + "type": "string", + "description": "Annotation assigned to the deployed target virtual machine or virtual appliance.\n\nIf missing or `null`, the server will use the annotation from the OVF package." + }, + "accept_all_eula": { + "type": "boolean", + "description": "Whether to accept all End User License Agreements. See *Vcenter.Ovf.LibraryItem.OvfSummary.EULAs*." + }, + "network_mappings": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Specification of the target network to use for sections of type ovf:NetworkSection in the OVF descriptor. The key in the map is the section identifier of the ovf:NetworkSection section in the OVF descriptor and the value is the target network to be used for deployment.\n\nIf missing or `null`, the server will choose a network mapping.\n\nWhen clients pass a value of this schema as a parameter, the value in the property map must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the value in the property map will be an identifier for the resource type: `Network`." + }, + "subnet_mappings": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Specification of the target subnet to use for sections of type ovf:NetworkSection in the OVF descriptor. The key in the map is the section identifier of the ovf:NetworkSection section in the OVF descriptor and the value is the target subnet to be used for deployment, i.e. the identifier of subnet folder in vCenter. If set, this will take precedence over the property *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.network_mappings*.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, property networkMappings will be used.\n\nWhen clients pass a value of this schema as a parameter, the value in the property map must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the value in the property map will be an identifier for the resource type: `Folder`." + }, + "storage_mappings": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.StorageGroupMapping" + }, + "description": "Specification of the target storage to use for sections of type vmw:StorageGroupSection in the OVF descriptor. The key in the map is the section identifier of the ovf:StorageGroupSection section in the OVF descriptor and the value is the target storage specification to be used for deployment. See *Vcenter.Ovf.LibraryItem.StorageGroupMapping*.\n\nIf missing or `null`, the server will choose a storage mapping." + }, + "storage_provisioning": { + "type": "string", + "description": "Default storage provisioning type to use for all sections of type vmw:StorageSection in the OVF descriptor.\n\nPossible values:\n - `thin`: A thin provisioned virtual disk has space allocated and zeroed on demand as the space is used.\n - `thick`: A thick provisioned virtual disk has all space allocated at creation time and the space is zeroed on demand as the space is used.\n - `eagerZeroedThick`: An eager zeroed thick provisioned virtual disk has all space allocated and wiped clean of any previous contents on the physical media at creation time. \n\n Disks specified as eager zeroed thick may take longer time to create than disks specified with the other disk provisioning types.\n\n\nFor more information see: *Vcenter.Ovf.DiskProvisioningType*.\n\nIf missing or `null`, the server will choose the provisioning type." + }, + "storage_profile_id": { + "type": "string", + "description": "Default storage profile to use for all sections of type vmw:StorageSection in the OVF descriptor.\n\nIf missing or `null`, the server will choose the default profile.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `StorageProfile`." + }, + "locale": { + "type": "string", + "description": "The locale to use for parsing the OVF descriptor.\n\nIf missing or `null`, the server locale will be used." + }, + "flags": { + "type": "array", + "description": "Flags to be use for deployment. The supported flag values can be obtained using *GET /vcenter/ovf/import-flag*.\n\nIf missing or `null`, no flags will be used.", + "items": { + "type": "string" + } + }, + "additional_parameters": { + "type": "array", + "description": "Additional OVF parameters that may be needed for the deployment. Additional OVF parameters may be required by the OVF descriptor of the OVF package in the library item. Examples of OVF parameters that can be specified through this property include, but are not limited to: \n - *Vcenter.Ovf.DeploymentOptionParams*\n - *Vcenter.Ovf.ExtraConfigParams*\n - *Vcenter.Ovf.IpAllocationParams*\n - *Vcenter.Ovf.PropertyParams*\n - *Vcenter.Ovf.ScaleOutParams*\n - *Vcenter.Ovf.VcenterExtensionParams*\n \n\nIf missing or `null`, the server will choose default settings for all parameters necessary for the deploy operation. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain all the properties defined in *Vcenter.Ovf.OvfParams*. When operations return a value of this schema as a response, the property will contain all the properties defined in *Vcenter.Ovf.OvfParams*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfParams" + } + }, + "default_datastore_id": { + "type": "string", + "description": "Default datastore to use for all sections of type vmw:StorageSection in the OVF descriptor.\n\nIf missing or `null`, the server will choose the default datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "vm_config_spec": { + "description": "The *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.vm_config_spec* is used for virtual machine configuration settings including hardware specifications to use in place of the OVF descriptor. If set, the OVF descriptor acts as a disk descriptor. \n\n Fields in the Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec parameters such as *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.name* that overlap with settings in the *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.vm_config_spec* are not overridden and will continue to be used. Similarly, storage settings in the Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec that affect the disks on the virtual machine namely *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_mappings*, *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_profile_id*, *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_provisioning* and *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.default_datastore_id* will also be honored. \n\nThis property was added in __vSphere API 8.0.2.0__.\n\nIf missing or `null`, the relevant virtual machine specifications in the OVF descriptor of the OVF template will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.LibraryItem.VmConfigSpec" + } + ] + }, + "tag_params": { + "description": "Tag parameters that contain the information required to attach tags to a VM during VM deployment.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.TagParams" + } + ] + } + }, + "description": "The Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec schema defines the deployment parameters that can be specified for the deploy operation where the deployment target is a resource pool. See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy*." + }, + "Vcenter.Ovf.LibraryItem.ResultInfo": { + "required": [ + "errors", + "information", + "warnings" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "description": "Errors reported by the create or deploy operation. These errors would have prevented the create or deploy operation from completing successfully.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfError" + } + }, + "warnings": { + "type": "array", + "description": "Warnings reported by the create or deploy operation. These warnings would not have prevented the create or deploy operation from completing successfully, but there might be issues that warrant attention.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfWarning" + } + }, + "information": { + "type": "array", + "description": "Information messages reported by the create or deploy operation. For example, a non-required parameter was ignored.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.OvfInfo" + } + } + }, + "description": "The Vcenter.Ovf.LibraryItem.ResultInfo schema defines the information returned along with the result of a create or deploy operation to describe errors, warnings, and informational messages produced by the server." + }, + "Vcenter.Ovf.LibraryItem.StorageGroupMapping": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of storage deployment target to use for the vmw:StorageGroupSection section. The specified value must be *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type.DATASTORE* or *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type.STORAGE_PROFILE*.\n\nPossible values:\n - `DATASTORE`: Storage deployment target is a datastore.\n - `STORAGE_PROFILE`: Storage deployment target is a storage profile.\n\n\nFor more information see: *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type*." + }, + "datastore_id": { + "type": "string", + "description": "Target datastore to be used for the storage group.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type.DATASTORE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_profile_id": { + "type": "string", + "description": "Target storage profile to be used for the storage group.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Ovf.LibraryItem.StorageGroupMapping.Type.STORAGE_PROFILE*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `StorageProfile`." + }, + "provisioning": { + "type": "string", + "description": "Target provisioning type to use for the storage group.\n\nPossible values:\n - `thin`: A thin provisioned virtual disk has space allocated and zeroed on demand as the space is used.\n - `thick`: A thick provisioned virtual disk has all space allocated at creation time and the space is zeroed on demand as the space is used.\n - `eagerZeroedThick`: An eager zeroed thick provisioned virtual disk has all space allocated and wiped clean of any previous contents on the physical media at creation time. \n\n Disks specified as eager zeroed thick may take longer time to create than disks specified with the other disk provisioning types.\n\n\nFor more information see: *Vcenter.Ovf.DiskProvisioningType*.\n\nIf missing or `null`, *Vcenter.Ovf.LibraryItem.ResourcePoolDeploymentSpec.storage_provisioning* will be used." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.StorageGroupMapping schema defines the storage deployment target and storage provisioning type for a section of type vmw:StorageGroupSection in the OVF descriptor." + }, + "Vcenter.Ovf.LibraryItem.VmConfigSpec": { + "required": [ + "provider" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The *Vcenter.Ovf.LibraryItem.VmConfigSpec.provider* selects a provider from the list of available providers.\n\nPossible values:\n - `XML`: A vim.vm.ConfigSpec that has been serialized to XML and base64 encoded.\n\n\nFor more information see: *Vcenter.Ovf.LibraryItem.VmConfigSpecProvider*.\n\nThis property was added in __vSphere API 8.0.2.0__." + }, + "xml": { + "type": "string", + "description": "The *Vcenter.Ovf.LibraryItem.VmConfigSpec.xml* is a conditional configuration made available upon selecting the *Vcenter.Ovf.LibraryItem.VmConfigSpecProvider.XML*. It is used to pass in a vim.vm.ConfigSpec for a virtual machine that has been serialized to XML and base64 encoded.\n\nThis property was added in __vSphere API 8.0.2.0__.\n\nThis property is optional and it is only relevant when the value of provider is *Vcenter.Ovf.LibraryItem.VmConfigSpecProvider.XML*." + } + }, + "description": "The Vcenter.Ovf.LibraryItem.VmConfigSpec defines the optional virtual machine configuration settings used when deploying an OVF template. When used, the OVF descriptor acts as a disk descriptor.\n\nThis schema was added in __vSphere API 8.0.2.0__." + }, + "Vcenter.Ovf.OvfError": { + "required": [ + "category" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "The message category.\n\nPossible values:\n - `VALIDATION`: The OVF descriptor is invalid, for example, syntax errors or schema errors.\n - `INPUT`: The user provided input parameters are invalid.\n - `SERVER`: Server error.\n\n\nFor more information see: *Vcenter.Ovf.OvfMessage.Category*." + }, + "issues": { + "type": "array", + "description": "List of parse issues (see *Vcenter.Ovf.ParseIssue*).\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.VALIDATION*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ParseIssue" + } + }, + "name": { + "type": "string", + "description": "The name of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "value": { + "type": "string", + "description": "The value of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "message": { + "description": "A localizable message.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "error": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + }, + "description": "The Vcenter.Ovf.OvfError schema describes an error related to accessing, validating, deploying, or exporting an OVF package." + }, + "Vcenter.Ovf.OvfInfo": { + "required": [ + "messages" + ], + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "A list of localizable messages (see *Vapi.Std.LocalizableMessage*).", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.Ovf.OvfInfo schema contains informational messages related to accessing, validating, deploying, or exporting an OVF package." + }, + "Vcenter.Ovf.OvfParams": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.OvfParams schema defines the common properties for all OVF deployment parameters. OVF parameters serve several purposes: \n - Describe information about a given OVF package. \n - Describe default deployment configuration. \n - Describe possible deployment values based on the deployment environment. \n - Provide deployment-specific configuration. \n Each OVF parameters schema specifies a particular configurable aspect of OVF deployment. An aspect has both a query-model and a deploy-model. The query-model is used when the OVF package is queried, and the deploy-model is used when deploying an OVF package. \n\n Most OVF parameter schemas provide both informational and deployment parameters. However, some are purely informational (for example, download size) and some are purely deployment parameters (for example, the flag to indicate whether registration as a vCenter extension is accepted). \n\n See *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=deploy* and *POST /vcenter/ovf/library-item/{ovfLibraryItemId}?action=filter*." + }, + "Vcenter.Ovf.OvfWarning": { + "required": [ + "category" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "The message category.\n\nPossible values:\n - `VALIDATION`: The OVF descriptor is invalid, for example, syntax errors or schema errors.\n - `INPUT`: The user provided input parameters are invalid.\n - `SERVER`: Server error.\n\n\nFor more information see: *Vcenter.Ovf.OvfMessage.Category*." + }, + "issues": { + "type": "array", + "description": "List of parse issues (see *Vcenter.Ovf.ParseIssue*).\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.VALIDATION*.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.ParseIssue" + } + }, + "name": { + "type": "string", + "description": "The name of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "value": { + "type": "string", + "description": "The value of input parameter.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*." + }, + "message": { + "description": "A localizable message.\n\nThis property is optional and it is only relevant when the value of category is *Vcenter.Ovf.OvfMessage.Category.INPUT*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "error": { + "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + } + }, + "description": "The Vcenter.Ovf.OvfWarning schema describes a warning related to accessing, validating, deploying, or exporting an OVF package." + }, + "Vcenter.Ovf.ParseIssue": { + "required": [ + "category", + "column_number", + "file", + "line_number", + "message" + ], + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "The category of the parse issue.\n\nPossible values:\n - `VALUE_ILLEGAL`: Illegal value error. For example, the value is malformed, not a number, or outside of the given range, and so on.\n - `ATTRIBUTE_REQUIRED`: Required attribute error. It indicates that a required attribute is missing from an element in the OVF descriptor.\n - `ATTRIBUTE_ILLEGAL`: Illegal attribute error. It indicates that an illegal attribute is set for an element in the OVF descriptor. For example, empty disks do not use format, parentRef, and populatedSize attributes, if these attributes are present in an empty disk element then will get this pasrse issue.\n - `ELEMENT_REQUIRED`: Required element error. It indicates that a required element is missing from the OVF descriptor.\n - `ELEMENT_ILLEGAL`: Illegal element error. It indicates that an element is present in a location which is not allowed, or found multiple elements but only one is allowed at the location in the OVF descriptor.\n - `ELEMENT_UNKNOWN`: Unknown element error. It indicates that an element is unsupported when parsing an OVF descriptor.\n - `SECTION_UNKNOWN`: Section unknown error. It indicates that a section is unsupported when parsing an OVF descriptor.\n - `SECTION_RESTRICTION`: Section restriction error. It indicates that a section appears in place in the OVF descriptor where it is not allowed, a section appears fewer times than is required, or a section appears more times than is allowed.\n - `PARSE_ERROR`: OVF package parsing error, including: \n - OVF descriptor parsing errors, for example, syntax errors or schema errors. \n - Manifest file parsing and verification errors. \n - Certificate file parsing and verification errors. \n\n - `GENERATE_ERROR`: OVF descriptor (which is an XML document) generating error, for example, well-formedness errors as well as unexpected processing conditions.\n - `VALIDATION_ERROR`: An issue with the manifest and signing.\n - `EXPORT_ERROR`: Issue during OVF export, for example, malformed deviceId, controller not found, or file backing for a device not found.\n - `INTERNAL_ERROR`: Server encountered an unexpected error which prevented it from fulfilling the request.\n\n\nFor more information see: *Vcenter.Ovf.ParseIssue.Category*." + }, + "file": { + "type": "string", + "description": "The name of the file in which the parse issue was found." + }, + "line_number": { + "type": "integer", + "description": "The line number of the line in the file (see *Vcenter.Ovf.ParseIssue.file*) where the parse issue was found (or -1 if not applicable).", + "format": "int64" + }, + "column_number": { + "type": "integer", + "description": "The position in the line (see *Vcenter.Ovf.ParseIssue.line_number*) (or -1 if not applicable).", + "format": "int64" + }, + "message": { + "description": "A localizable message describing the parse issue.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + } + }, + "description": "The Vcenter.Ovf.ParseIssue schema contains the information about the issue found when parsing an OVF package during deployment or exporting an OVF package including: \n - Parsing and validation error on OVF descriptor (which is an XML document), manifest and certificate files. \n - OVF descriptor generating and device error. \n - Unexpected server error. \n" + }, + "Vcenter.Ovf.TagNameSpec": { + "required": [ + "category_name", + "tag_name" + ], + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag to attach.\n\nThis property was added in __vSphere API 9.1.0.0__." + }, + "category_name": { + "type": "string", + "description": "The name of the vSphere tag category that this tag belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "Represents a vSphere tag by its name and its respective category's name.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Ovf.TagParams": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "description": "List of tag parameters which contains information required to attach tags while deploying a VM.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is not used for the `create` operation. It will always be present in the response of the `get` or `list` operations. It is not used for the `update` operation.", + "items": { + "$ref": "#/components/schemas/Vcenter.Ovf.TagSpec" + } + }, + "type": { + "type": "string", + "description": "Unique identifier describing the type of the OVF parameters. The value is the name of the OVF parameters schema.\n\nThis property must be provided in the input parameters when deploying an OVF package. This property will always be present in the result when retrieving information about an OVF package." + } + }, + "description": "The Vcenter.Ovf.TagParams schema contains information required to attach tags while deploying a VM.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.Ovf.TagSpec": { + "type": "object", + "properties": { + "tag_id": { + "type": "string", + "description": "The tag identifier of a vSphere tag. If this field is specified in addition to *Vcenter.Ovf.TagSpec.tag_name_spec*, then both tagId and *Vcenter.Ovf.TagSpec.tag_name_spec* must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.Ovf.TagSpec.tag_name_spec* must be specified." + }, + "tag_name_spec": { + "description": "Name of the tag with associated category. If this field is specified in addition to *Vcenter.Ovf.TagSpec.tag_id*, then both *Vcenter.Ovf.TagSpec.tag_id* and tagNameSpec must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.Ovf.TagSpec.tag_id* must be specified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Ovf.TagNameSpec" + } + ] + } + }, + "description": "The Vcenter.Ovf.TagSpec schema specifies information required to attach a tag while deploying a VM. \n\n Represents a tag specification with optional *Cis.Tagging.Tag* and/or *Vcenter.Ovf.TagNameSpec*. The *Cis.Tagging.Tag* should already exist in vSphere, otherwise VM deployment will fail.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.ResourcePool.Info": { + "required": [ + "name", + "resource_pools" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the vCenter Server resource pool." + }, + "resource_pools": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the child resource pools contained in this resource pool.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `ResourcePool`.", + "items": { + "type": "string" + } + }, + "cpu_allocation": { + "description": "Resource allocation information for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.ResourceAllocationInfo" + } + ] + }, + "memory_allocation": { + "description": "Resource allocation information for memory.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.ResourceAllocationInfo" + } + ] + } + }, + "description": "The Vcenter.ResourcePool.Info schema contains information about a resource pool." + }, + "Vcenter.ResourcePool.ResourceAllocationInfo": { + "required": [ + "expandable_reservation", + "limit", + "reservation", + "shares" + ], + "type": "object", + "properties": { + "reservation": { + "type": "integer", + "description": "Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "expandable_reservation": { + "type": "boolean", + "description": "In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "limit": { + "type": "integer", + "description": "The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "format": "int64" + }, + "shares": { + "description": "Shares are used in case of resource contention.\n\nThis property was added in __vSphere API 7.0.0.0__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.ResourcePool.SharesInfo" + } + ] + } + }, + "description": "The Vcenter.ResourcePool.ResourceAllocationInfo schema contains resource allocation information of a resource pool.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.ResourcePool.SharesInfo": { + "required": [ + "level" + ], + "type": "object", + "properties": { + "level": { + "type": "string", + "description": "The allocation level. It maps to a pre-determined set of numeric values for shares. If the shares value does not map to a predefined size, then the level is set as CUSTOM.\n\nPossible values:\n - `LOW`: For CPU: Shares = 500 * number of virtual CPUs. \n For Memory: Shares = 5 * virtual machine memory size in MB. \n\n - `NORMAL`: For CPU: Shares = 1000 * number of virtual CPUs. \n For Memory: Shares = 10 * virtual machine memory size in MB. \n\n - `HIGH`: For CPU: Shares = 2000 * number of virtual CPUs. \n For Memory: Shares = 20 * virtual machine memory size in MB. \n\n - `CUSTOM`: If set, in case there is resource contention the server uses the shares value to determine the resource allocation.\n\n\nFor more information see: *Vcenter.ResourcePool.SharesInfo.Level*.\n\nThis property was added in __vSphere API 7.0.0.0__." + }, + "shares": { + "type": "integer", + "description": "When *Vcenter.ResourcePool.SharesInfo.level* is set to CUSTOM, it is the number of shares allocated. Otherwise, this value is ignored. \n\n There is no unit for this value. It is a relative measure based on the settings for other resource pools.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional and it is only relevant when the value of level is *Vcenter.ResourcePool.SharesInfo.Level.CUSTOM*.", + "format": "int64" + } + }, + "description": "The Vcenter.ResourcePool.SharesInfo schema provides specification of shares. \n\n Shares are used to determine relative allocation between resource consumers. In general, a consumer with more shares gets proportionally more of the resource, subject to certain other constraints.\n\nThis schema was added in __vSphere API 7.0.0.0__." + }, + "Vcenter.ResourcePool.Summary": { + "required": [ + "name", + "resource_pool" + ], + "type": "object", + "properties": { + "resource_pool": { + "type": "string", + "description": "Identifier of the resource pool.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "name": { + "type": "string", + "description": "Name of the resource pool." + } + }, + "description": "The Vcenter.ResourcePool.Summary schema contains commonly used information about a resource pool in vCenter Server." + }, + "Vcenter.Storage.Policies.CompatibilityInfo": { + "required": [ + "compatible_datastores" + ], + "type": "object", + "properties": { + "compatible_datastores": { + "type": "array", + "description": "Info about a list of datastores compatible with a specific storage policy.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vcenter.Storage.Policies.CompatibleDatastoreInfo" + } + } + }, + "description": "The Vcenter.Storage.Policies.CompatibilityInfo schema contains info about a list of datastores compatible with a specific storage policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.CompatibleDatastoreInfo": { + "required": [ + "datastore" + ], + "type": "object", + "properties": { + "datastore": { + "type": "string", + "description": "Identifier of the datastore.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.Storage.Policies.CompatibleDatastoreInfo schema contains compatible datastore's information.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.Compliance.Summary": { + "required": [ + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of virtual machine\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "vm_home": { + "type": "string", + "description": "Compliance status of the virtual machine home.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the entity is edited and not applied. The compliance status will remain out of date until the latest policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, vmHome is not associated with a storage policy." + }, + "disks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of the virtual hard disk.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the entity is edited and not applied. The compliance status will remain out of date until the latest policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, virtual machine entity does not have any disks or its disks are not associated with a storage policy.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "Provides the details of a virtual machine and its associated entities which match the given compliance statuses.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.Compliance.VM.Info": { + "required": [ + "disks" + ], + "type": "object", + "properties": { + "vm_home": { + "type": "string", + "description": "Compliance status of the virtual machine home.\n\nPossible values:\n - `COMPLIANT`: The virtual machine or virtual disk is in compliance.\n - `NON_COMPLIANT`: The virtual machine or virtual disk is in not in compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the virtual machine or virtual disk is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this virtual machine or disk because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the virtual machine or disk is edited and not applied. The compliance status will remain out of date until the latest policy is applied.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.VM.Status*.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, virtual machine home is not associated with a storage policy." + }, + "disks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A Map of virtual disks and their compliance status If empty, the virtual machine does not have any disks or its disks are not associated with a storage policy.\n\nPossible values:\n - `COMPLIANT`: The virtual machine or virtual disk is in compliance.\n - `NON_COMPLIANT`: The virtual machine or virtual disk is in not in compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the virtual machine or virtual disk is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this virtual machine or disk because it does not have any storage requirement that apply to the object-based datastore on which the entity is placed.\n - `OUT_OF_DATE`: Compliance status becomes out of date when the profile associated with the virtual machine or disk is edited and not applied. The compliance status will remain out of date until the latest policy is applied.\n\n\nFor more information see: *Vcenter.Storage.Policies.Compliance.VM.Status*.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "Provides the compliance details of a virtual machine and its associated entities which match the given compliance statuses.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.Summary": { + "required": [ + "description", + "name", + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the storage policy.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + }, + "name": { + "type": "string", + "description": "Name of the storage policy.\n\nThis property was added in __vSphere API 6.7__." + }, + "description": { + "type": "string", + "description": "Description of the storage policy.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "The Vcenter.Storage.Policies.Summary schema contains commonly used information about a storage policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Storage.Policies.VM.Info": { + "required": [ + "disks", + "vm_home" + ], + "type": "object", + "properties": { + "vm_home": { + "type": "boolean", + "description": "Flag to indicate whether or not the virtual machine home is associated with the given storage policy.\n\nThis property was added in __vSphere API 6.7__." + }, + "disks": { + "type": "array", + "description": "List of the virtual disks that are associated with the given storage policy.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Storage.Policies.VM.Info schema contains information about a virtual machine and its virtual disks that are associated with the given storage policy.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.VM.CreateSpec": { + "required": [ + "guest_os" + ], + "type": "object", + "properties": { + "guest_os": { + "type": "string", + "description": "Guest OS.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*." + }, + "name": { + "type": "string", + "description": "Virtual machine name.\n\nIf missing or `null`, a default name will be generated by the server." + }, + "placement": { + "description": "Virtual machine placement information.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose suitable resources on which to place the virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.PlacementSpec" + } + ] + }, + "hardware_version": { + "type": "string", + "description": "Virtual hardware version.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nIf missing or `null`, defaults to the most recent version supported by the server." + }, + "boot": { + "description": "Boot configuration.\n\nIf missing or `null`, guest-specific default values will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.CreateSpec" + } + ] + }, + "boot_devices": { + "type": "array", + "description": "Boot device configuration.\n\nIf missing or `null`, a server-specific boot sequence will be used.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.EntryCreateSpec" + } + }, + "cpu": { + "description": "CPU configuration.\n\nIf missing or `null`, guest-specific default values will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.UpdateSpec" + } + ] + }, + "memory": { + "description": "Memory configuration.\n\nIf missing or `null`, guest-specific default values will be used.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.UpdateSpec" + } + ] + }, + "disks": { + "type": "array", + "description": "List of disks.\n\nIf missing or `null`, a single blank virtual disk of a guest-specific size will be created on the same storage as the virtual machine configuration, and will use a guest-specific host bus adapter type. If the guest-specific size is 0, no virtual disk will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.CreateSpec" + } + }, + "nics": { + "type": "array", + "description": "List of Ethernet adapters.\n\nIf missing or `null`, no Ethernet adapters will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.CreateSpec" + } + }, + "cdroms": { + "type": "array", + "description": "List of CD-ROMs.\n\nIf missing or `null`, no CD-ROM devices will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.CreateSpec" + } + }, + "floppies": { + "type": "array", + "description": "List of floppy drives.\n\nIf missing or `null`, no floppy drives will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.CreateSpec" + } + }, + "parallel_ports": { + "type": "array", + "description": "List of parallel ports.\n\nIf missing or `null`, no parallel ports will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.CreateSpec" + } + }, + "serial_ports": { + "type": "array", + "description": "List of serial ports.\n\nIf missing or `null`, no serial ports will be created.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.CreateSpec" + } + }, + "sata_adapters": { + "type": "array", + "description": "List of SATA adapters.\n\nIf missing or `null`, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a SATA host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is SATA.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.CreateSpec" + } + }, + "scsi_adapters": { + "type": "array", + "description": "List of SCSI adapters.\n\nIf missing or `null`, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a SCSI host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is SCSI. The type of the SCSI adapter will be a guest-specific default type.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.CreateSpec" + } + }, + "nvme_adapters": { + "type": "array", + "description": "List of NVMe adapters.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a NVMe host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is NVMe.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.CreateSpec" + } + }, + "storage_policy": { + "description": "The Vcenter.VM.StoragePolicySpec schema contains information about the storage policy that is to be associated with the virtual machine home (which contains the configuration and log files).\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the datastore default storage policy (if applicable) is applied. Currently a default storage policy is only supported by object datastores : VVol and vSAN. For non-object datastores, if missing or `null` then no storage policy would be associated with the virtual machine home.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VM.StoragePolicySpec" + } + ] + } + }, + "description": "Document-based creation spec." + }, + "Vcenter.VM.Info": { + "required": [ + "boot", + "boot_devices", + "cdroms", + "cpu", + "disks", + "floppies", + "guest_os", + "hardware", + "memory", + "name", + "nics", + "parallel_ports", + "power_state", + "sata_adapters", + "scsi_adapters", + "serial_ports" + ], + "type": "object", + "properties": { + "guest_os": { + "type": "string", + "description": "Guest OS.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*." + }, + "name": { + "type": "string", + "description": "Virtual machine name." + }, + "identity": { + "description": "Identity of the virtual machine.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Identity.Info" + } + ] + }, + "power_state": { + "type": "string", + "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." + }, + "instant_clone_frozen": { + "type": "boolean", + "description": "Indicates whether the virtual machine is frozen for instant clone, or not.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional because it was added in a newer version than its parent node." + }, + "hardware": { + "description": "Virtual hardware version information.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Info" + } + ] + }, + "boot": { + "description": "Boot configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Info" + } + ] + }, + "boot_devices": { + "type": "array", + "description": "Boot device configuration. If the list has no entries, a server-specific default boot sequence is used.", + "items": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.Entry" + } + }, + "cpu": { + "description": "CPU configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.Info" + } + ] + }, + "memory": { + "description": "Memory configuration.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.Info" + } + ] + }, + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.Info" + }, + "description": "List of disks.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "nics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.Info" + }, + "description": "List of Ethernet adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "cdroms": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.Info" + }, + "description": "List of CD-ROMs.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`." + }, + "floppies": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.Info" + }, + "description": "List of floppy drives.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`." + }, + "parallel_ports": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.Info" + }, + "description": "List of parallel ports.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`." + }, + "serial_ports": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.Info" + }, + "description": "List of serial ports.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`." + }, + "sata_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.Info" + }, + "description": "List of SATA adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`." + }, + "scsi_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.Info" + }, + "description": "List of SCSI adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`." + }, + "nvme_adapters": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.Info" + }, + "description": "List of NVMe adapters.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`." + } + }, + "description": "Document-based info." + }, + "Vcenter.VM.PlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine should be placed.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, + "resource_pool": { + "type": "string", + "description": "Resource pool into which the virtual machine should be placed.\n\nThis property is currently required if both host and cluster are missing or `null`. In the future, if this property is missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster into which the virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + }, + "datastore": { + "type": "string", + "description": "Datastore on which the virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are created as part of the virtual machine creation operation.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will attempt to choose suitable storage for the virtual machine; if storage cannot be chosen, the virtual machine creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + } + }, + "description": "The Vcenter.VM.PlacementSpec schema contains information used to place a virtual machine onto resources within the vCenter inventory." + }, + "Vcenter.VM.StoragePolicySpec": { + "required": [ + "policy" + ], + "type": "object", + "properties": { + "policy": { + "type": "string", + "description": "Identifier of the storage policy which should be associated with the virtual machine.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + } + }, + "description": "The Vcenter.VM.StoragePolicySpec schema contains information about the storage policy to be associated with a virtual machine object.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.VM.Summary": { + "required": [ + "name", + "power_state", + "vm" + ], + "type": "object", + "properties": { + "vm": { + "type": "string", + "description": "Identifier of the virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." + }, + "name": { + "type": "string", + "description": "Name of the Virtual machine." + }, + "power_state": { + "type": "string", + "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." + }, + "cpu_count": { + "type": "integer", + "description": "Number of CPU cores.\n\nThis property will be missing or `null` if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the initial phases of virtual machine creation.", + "format": "int64" + }, + "memory_size_mib": { + "type": "integer", + "description": "Memory size in mebibytes.\n\nThis property will be missing or `null` if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the initial phases of virtual machine creation.", + "format": "int64" + } + }, + "description": "The Vcenter.VM.Summary schema contains commonly used information about a virtual machine." + }, + "Vcenter.Vm.Guest.Identity.Info": { + "required": [ + "family", + "full_name", + "host_name", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Guest operating system identifier (short name).\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*.\n\nThis property was added in __vSphere API 6.7__." + }, + "family": { + "type": "string", + "description": "Guest operating system family.\n\nPossible values:\n - `WINDOWS`: Windows operating system\n - `LINUX`: Linux operating system\n - `NETWARE`: Novell Netware\n - `SOLARIS`: Solaris operating system\n - `DARWIN`: Mac OS operating system\n - `OTHER`: Other operating systems\n\n\nFor more information see: *Vcenter.Vm.GuestOSFamily*.\n\nThis property was added in __vSphere API 6.7__." + }, + "full_name": { + "description": "Guest operating system full name.\n\nThis property was added in __vSphere API 6.7__.", + "allOf": [ + { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + ] + }, + "host_name": { + "type": "string", + "description": "Hostname of the guest operating system.\n\nThis property was added in __vSphere API 6.7__." + }, + "ip_address": { + "type": "string", + "description": "IP address assigned by the guest operating system.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the guest does not have an IP address." + } + }, + "description": "The Vcenter.Vm.Guest.Identity.Info schema contains information describing the guest operating system identification.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Guest.Power.Info": { + "required": [ + "operations_ready", + "state" + ], + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "The power state of the guest operating system.\n\nPossible values:\n - `RUNNING`: The guest OS is running.\n - `SHUTTING_DOWN`: The guest OS is shutting down\n - `RESETTING`: The guest OS is resetting\n - `STANDBY`: The guest OS is in standby.\n - `NOT_RUNNING`: The guest OS is not running.\n - `UNAVAILABLE`: The guest OS power state is unknown.\n\n\nFor more information see: *Vcenter.Vm.Guest.Power.State*.\n\nThis property was added in __vSphere API 6.7__." + }, + "operations_ready": { + "type": "boolean", + "description": "Flag indicating if the virtual machine is ready to process soft power operations.\n\nThis property was added in __vSphere API 6.7__." + } + }, + "description": "Information about the guest operating system power state.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Hardware.Adapter.Nvme.CreateSpec": { + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "NVMe bus number.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available bus number; if none is available, the request will fail.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the NVMe adapter on the PCI bus.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Nvme.CreateSpec schema provides a specification for the configuration of a newly-created virtual NVMe adapter.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.Adapter.Nvme.Info": { + "required": [ + "bus", + "label" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label.\n\nThis property was added in __vSphere API 7.0.0.1__." + }, + "bus": { + "type": "integer", + "description": "NVMe bus number.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the NVMe adapter on the PCI bus.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Nvme.Info schema contains information about a virtual NVMe adapter.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.Adapter.Sata.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `AHCI`: AHCI host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Sata.Type*.\n\nIf missing or `null`, a guest-specific default value will be used." + }, + "bus": { + "type": "integer", + "description": "SATA bus number.\n\nIf missing or `null`, the server will choose an available bus number; if none is available, the request will fail.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SATA adapter on the PCI bus.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Sata.CreateSpec schema provides a specification for the configuration of a newly-created virtual SATA adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Sata.Info": { + "required": [ + "bus", + "label", + "type" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `AHCI`: AHCI host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Sata.Type*." + }, + "bus": { + "type": "integer", + "description": "SATA bus number.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SATA adapter on the PCI bus.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Sata.Info schema contains information about a virtual SATA adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Sata.Summary": { + "required": [ + "adapter" + ], + "type": "object", + "properties": { + "adapter": { + "type": "string", + "description": "Identifier of the virtual SATA adapter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Sata.Summary schema contains commonly used information about a Virtual SATA adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `BUSLOGIC`: BusLogic host bus adapter.\n - `LSILOGIC`: LSI Logic host bus adapter.\n - `LSILOGICSAS`: LSI Logic SAS 1068 host bus adapter.\n - `PVSCSI`: Paravirtualized host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Type*.\n\nIf missing or `null`, a guest-specific default value will be used." + }, + "bus": { + "type": "integer", + "description": "SCSI bus number.\n\nIf missing or `null`, the server will choose an available bus number; if none is available, the request will fail.", + "format": "int64" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SCSI adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" + }, + "sharing": { + "type": "string", + "description": "Bus sharing mode.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing*.\n\nIf missing or `null`, the adapter will default to *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing.NONE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.CreateSpec schema provides a specification for the configuration of a newly-created virtual SCSI adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.Info": { + "required": [ + "label", + "scsi", + "sharing", + "type" + ], + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Device label." + }, + "type": { + "type": "string", + "description": "Adapter type.\n\nPossible values:\n - `BUSLOGIC`: BusLogic host bus adapter.\n - `LSILOGIC`: LSI Logic host bus adapter.\n - `LSILOGICSAS`: LSI Logic SAS 1068 host bus adapter.\n - `PVSCSI`: Paravirtualized host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Type*." + }, + "scsi": { + "description": "Address of the SCSI adapter on the SCSI bus.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressInfo" + } + ] + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the SCSI adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", + "format": "int64" + }, + "sharing": { + "type": "string", + "description": "Bus sharing mode.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing*." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.Info schema contains information about a virtual SCSI adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.Summary": { + "required": [ + "adapter" + ], + "type": "object", + "properties": { + "adapter": { + "type": "string", + "description": "Identifier of the virtual SCSI adapter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.Summary schema contains commonly used information about a Virtual SCSI adapter." + }, + "Vcenter.Vm.Hardware.Adapter.Scsi.UpdateSpec": { + "type": "object", + "properties": { + "sharing": { + "type": "string", + "description": "Bus sharing mode. \n\n This property may only be modified if the virtual machine is not powered on.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing*.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.UpdateSpec schema describes the updates to be made to the configuration of a virtual SCSI adapter." + }, + "Vcenter.Vm.Hardware.Boot.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Firmware type to be used by the virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Type*.\n\nIf missing or `null`, defaults to value that is recommended for the guest OS and is supported for the virtual hardware version." + }, + "efi_legacy_boot": { + "type": "boolean", + "description": "Flag indicating whether to use EFI legacy boot mode.\n\nIf missing or `null`, defaults to value that is recommended for the guest OS and is supported for the virtual hardware version." + }, + "network_protocol": { + "type": "string", + "description": "Protocol to use when attempting to boot the virtual machine over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.NetworkProtocol*.\n\nIf missing or `null`, defaults to a system defined default value." + }, + "delay": { + "type": "integer", + "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.\n\nIf missing or `null`, default value is 0.", + "format": "int64" + }, + "retry": { + "type": "boolean", + "description": "Flag indicating whether the virtual machine should automatically retry the boot process after a failure.\n\nIf missing or `null`, default value is false." + }, + "retry_delay": { + "type": "integer", + "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when *Vcenter.Vm.Hardware.Boot.Info.retry* is true.\n\nIf missing or `null`, default value is 10000.", + "format": "int64" + }, + "enter_setup_mode": { + "type": "boolean", + "description": "Flag indicating whether the firmware boot process should automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.CreateSpec schema describes settings used when booting a virtual machine." + }, + "Vcenter.Vm.Hardware.Boot.Device.Entry": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Virtual device type.\n\nPossible values:\n - `CDROM`: Virtual CD-ROM device.\n - `DISK`: Virtual disk device.\n - `ETHERNET`: Virtual Ethernet adapter.\n - `FLOPPY`: Virtual floppy drive.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Device.Type*." + }, + "nic": { + "type": "string", + "description": "Virtual Ethernet device. Ethernet device to use as boot device for this entry.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + }, + "disks": { + "type": "array", + "description": "Virtual disk device. List of virtual disks in boot order.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Device.Type.DISK*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.Device.Entry schema specifies a bootable virtual device class or specific bootable virtual device(s)." + }, + "Vcenter.Vm.Hardware.Boot.Device.EntryCreateSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Virtual Boot device type.\n\nPossible values:\n - `CDROM`: Virtual CD-ROM device.\n - `DISK`: Virtual disk device.\n - `ETHERNET`: Virtual Ethernet adapter.\n - `FLOPPY`: Virtual floppy drive.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Device.Type*." + } + }, + "description": "The schema Vcenter.Vm.Hardware.Boot.Device.EntryCreateSpec specifies a list of bootable virtual device classes. When a VM is being created and a list of Vcenter.Vm.Hardware.Boot.Device.EntryCreateSpec is specified, the boot order of the specific device instances are not specified in this schema. The boot order of the specific device instance will be the order in which the Ethernet and Disk devices appear in the nics and disks respectively." + }, + "Vcenter.Vm.Hardware.Boot.Info": { + "required": [ + "delay", + "enter_setup_mode", + "retry", + "retry_delay", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Firmware type used by the virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Type*." + }, + "efi_legacy_boot": { + "type": "boolean", + "description": "Flag indicating whether to use EFI legacy boot mode.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Type.EFI*." + }, + "network_protocol": { + "type": "string", + "description": "Protocol to use when attempting to boot the virtual machine over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.NetworkProtocol*.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Type.EFI*." + }, + "delay": { + "type": "integer", + "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.", + "format": "int64" + }, + "retry": { + "type": "boolean", + "description": "Flag indicating whether the virtual machine will automatically retry the boot process after a failure." + }, + "retry_delay": { + "type": "integer", + "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when *Vcenter.Vm.Hardware.Boot.Info.retry* is true.", + "format": "int64" + }, + "enter_setup_mode": { + "type": "boolean", + "description": "Flag indicating whether the firmware boot process will automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode." + } + }, + "description": "The Vcenter.Vm.Hardware.Boot.Info schema contains information about the virtual machine boot process." + }, + "Vcenter.Vm.Hardware.Boot.UpdateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Firmware type to be used by the virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Type*.\n\nIf missing or `null`, the value is unchanged." + }, + "efi_legacy_boot": { + "type": "boolean", + "description": "Flag indicating whether to use EFI legacy boot mode.\n\nIf missing or `null`, the value is unchanged." + }, + "network_protocol": { + "type": "string", + "description": "Protocol to use when attempting to boot the virtual machine over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.NetworkProtocol*.\n\nIf missing or `null`, the value is unchanged." + }, + "delay": { + "type": "integer", + "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "retry": { + "type": "boolean", + "description": "Flag indicating whether the virtual machine should automatically retry the boot process after a failure.\n\nIf missing or `null`, the value is unchanged." }, - "unit": { + "retry_delay": { "type": "integer", - "description": "Unit number of the device.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when *Vcenter.Vm.Hardware.Boot.Info.retry* is true.\n\nIf missing or `null`, the value is unchanged.", "format": "int64" + }, + "enter_setup_mode": { + "type": "boolean", + "description": "Flag indicating whether the firmware boot process should automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode.\n\nIf missing or `null`, the value is unchanged." } }, - "description": "The Vcenter.Vm.Hardware.ScsiAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual SCSI adapter of a virtual machine." + "description": "The Vcenter.Vm.Hardware.Boot.UpdateSpec schema describes the updates to the settings used when booting a virtual machine." }, "Vcenter.Vm.Hardware.Cdrom.BackingInfo": { "required": [ @@ -2800,95 +11160,317 @@ }, "description": "The Vcenter.Vm.Hardware.Cdrom.BackingInfo schema contains information about the physical resource backing a virtual CD-ROM device." }, - "Vcenter.Vm.Hardware.Disk.StoragePolicySpec": { + "Vcenter.Vm.Hardware.Cdrom.BackingSpec": { "required": [ - "policy" + "type" ], "type": "object", "properties": { - "policy": { + "type": { "type": "string", - "description": "Identifier of the storage policy which should be associated with the VMDK file.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." + "description": "Backing type for the virtual CD-ROM device.\n\nPossible values:\n - `ISO_FILE`: Virtual CD-ROM device is backed by an ISO file.\n - `HOST_DEVICE`: Virtual CD-ROM device is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual CD-ROM device is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.BackingType*." + }, + "iso_file": { + "type": "string", + "description": "Path of the image file that should be used as the virtual CD-ROM device backing.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.BackingType.ISO_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device that should be used as the virtual CD-ROM device backing.\n\nIf missing or `null`, the virtual CD-ROM device will be configured to automatically detect a suitable host device." + }, + "device_access_type": { + "type": "string", + "description": "Access type for the device backing.\n\nPossible values:\n - `EMULATION`: ATAPI or SCSI device emulation.\n - `PASSTHRU`: Raw passthru device access.\n - `PASSTHRU_EXCLUSIVE`: Raw passthru device access, with exclusive access to the device.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.DeviceAccessType*.\n\nIf missing or `null`, defaults to *Vcenter.Vm.Hardware.Cdrom.DeviceAccessType.EMULATION*." } }, - "description": "The Vcenter.Vm.Hardware.Disk.StoragePolicySpec schema contains information about the storage policy be associated with a VMDK file.\n\nThis schema was added in __vSphere API 6.7__." + "description": "The Vcenter.Vm.Hardware.Cdrom.BackingSpec schema provides a specification of the physical resource backing a virtual CD-ROM device." }, - "Vcenter.Vm.Hardware.Parallel.BackingInfo": { + "Vcenter.Vm.Hardware.Cdrom.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device should be attached.\n\nPossible values:\n - `IDE`: Cdrom is attached to an IDE adapter.\n - `SATA`: Cdrom is attached to a SATA adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType*.\n\nIf missing or `null`, guest-specific default values will be used" + }, + "ide": { + "description": "Address for attaching the device to a virtual IDE adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressSpec" + } + ] + }, + "sata": { + "description": "Address for attaching the device to a virtual SATA adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressSpec" + } + ] + }, + "backing": { + "description": "Physical resource backing for the virtual CD-ROM device.\n\nIf missing or `null`, defaults to automatic detection of a suitable host device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.CreateSpec schema provides a specification for the configuration of a newly-created virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cdrom.Info": { "required": [ + "allow_guest_control", + "backing", + "label", + "start_connected", + "state", "type" ], "type": "object", "properties": { "type": { "type": "string", - "description": "Backing type for the virtual parallel port.\n\nPossible values:\n - `FILE`: Virtual parallel port is backed by a file.\n - `HOST_DEVICE`: Virtual parallel port is backed by a device on the host where the virtual machine is running.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Parallel.BackingType*." + "description": "Type of host bus adapter to which the device is attached.\n\nPossible values:\n - `IDE`: Cdrom is attached to an IDE adapter.\n - `SATA`: Cdrom is attached to a SATA adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType*." }, - "file": { + "label": { "type": "string", - "description": "Path of the file backing the virtual parallel port.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.FILE*." + "description": "Device label." }, - "host_device": { + "ide": { + "description": "Address of device attached to a virtual IDE adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType.IDE*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressInfo" + } + ] + }, + "sata": { + "description": "Address of device attached to a virtual SATA adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType.SATA*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressInfo" + } + ] + }, + "backing": { + "description": "Physical resource backing for the virtual CD-ROM device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.BackingInfo" + } + ] + }, + "state": { "type": "string", - "description": "Name of the device backing the virtual parallel port. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual parallel port is not connected or no suitable device is available on the host." + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." }, - "auto_detect": { + "start_connected": { "type": "boolean", - "description": "Flag indicating whether the virtual parallel port is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.HOST_DEVICE*." + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." } }, - "description": "The Vcenter.Vm.Hardware.Parallel.BackingInfo schema contains information about the physical resource backing a virtual parallel port." + "description": "The Vcenter.Vm.Hardware.Cdrom.Info schema contains information about a virtual CD-ROM device." }, - "Vcenter.Vm.Hardware.Memory.Info": { + "Vcenter.Vm.Hardware.Cdrom.Summary": { + "required": [ + "cdrom" + ], + "type": "object", + "properties": { + "cdrom": { + "type": "string", + "description": "Identifier of the virtual CD-ROM device.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.Summary schema contains commonly used information about a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cdrom.UpdateSpec": { + "type": "object", + "properties": { + "backing": { + "description": "Physical resource backing for the virtual CD-ROM device. \n\n This property may only be modified if the virtual machine is not powered on or the virtual CD-ROM device is not connected.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Cdrom.UpdateSpec schema describes the updates to be made to the configuration of a virtual CD-ROM device." + }, + "Vcenter.Vm.Hardware.Cpu.Info": { "required": [ + "cores_per_socket", + "count", "hot_add_enabled", - "size_mib" + "hot_remove_enabled" ], "type": "object", "properties": { - "size_mib": { + "count": { "type": "integer", - "description": "Memory size in mebibytes.", + "description": "Number of CPU cores.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "Number of CPU cores per socket.", "format": "int64" }, "hot_add_enabled": { "type": "boolean", - "description": "Flag indicating whether adding memory while the virtual machine is running is enabled. \n\n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running." + "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled." + }, + "hot_remove_enabled": { + "type": "boolean", + "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled." + } + }, + "description": "The Vcenter.Vm.Hardware.Cpu.Info schema contains CPU-related information about a virtual machine." + }, + "Vcenter.Vm.Hardware.Cpu.UpdateSpec": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "New number of CPU cores. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket. \n\n The supported range of CPU counts is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, the number of CPU cores may only be increased if *Vcenter.Vm.Hardware.Cpu.Info.hot_add_enabled* is true, and may only be decreased if *Vcenter.Vm.Hardware.Cpu.Info.hot_remove_enabled* is true.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "New number of CPU cores per socket. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" + }, + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled. \n\n This property may only be modified if the virtual machine is powered off.\n\nIf missing or `null`, the value is unchanged." + }, + "hot_remove_enabled": { + "type": "boolean", + "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled. \n\n This property may only be modified if the virtual machine is powered off.\n\nIf missing or `null`, the value is unchanged." + } + }, + "description": "The Vcenter.Vm.Hardware.Cpu.UpdateSpec schema describes the updates to be made to the CPU-related settings of a virtual machine." + }, + "Vcenter.Vm.Hardware.Disk.BackingInfo": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.BackingType*." + }, + "vmdk_file": { + "type": "string", + "description": "Path of the VMDK file backing the virtual disk.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.BackingType.VMDK_FILE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.BackingInfo schema contains information about the physical resource backing a virtual disk." + }, + "Vcenter.Vm.Hardware.Disk.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.BackingType*." + }, + "vmdk_file": { + "type": "string", + "description": "Path of the VMDK file backing the virtual disk.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.BackingType.VMDK_FILE*." + } + }, + "description": "The Vcenter.Vm.Hardware.Disk.BackingSpec schema provides a specification of the physical resource backing a virtual disk." + }, + "Vcenter.Vm.Hardware.Disk.CreateSpec": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device should be attached.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.HostBusAdapterType*.\n\nIf missing or `null`, guest-specific default values will be used" + }, + "ide": { + "description": "Address for attaching the device to a virtual IDE adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressSpec" + } + ] + }, + "scsi": { + "description": "Address for attaching the device to a virtual SCSI adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressSpec" + } + ] + }, + "sata": { + "description": "Address for attaching the device to a virtual SATA adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressSpec" + } + ] + }, + "nvme": { + "description": "Address for attaching the device to a virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.NvmeAddressSpec" + } + ] }, - "hot_add_increment_size_mib": { - "type": "integer", - "description": "Only set when *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true and the virtual machine is running.", - "format": "int64" + "backing": { + "description": "Existing physical resource backing for the virtual disk. Exactly one of backing or new_vmdk must be specified.\n\nIf missing or `null`, the virtual disk will not be connected to an existing backing.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingSpec" + } + ] }, - "hot_add_limit_mib": { - "type": "integer", - "description": "The maximum amount of memory, in mebibytes, that can be added to a running virtual machine.\n\nOnly set when *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true and the virtual machine is running.", - "format": "int64" - } - }, - "description": "The Vcenter.Vm.Hardware.Memory.Info schema contains memory-related information about a virtual machine." - }, - "Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec": { - "required": [ - "capacity" - ], - "type": "object", - "properties": { - "capacity": { - "type": "integer", - "description": "Updated capacity of the virtual disk backing in bytes. This value has to be larger than the original capacity of the disk.\n\nThis property was added in __vSphere API 6.8__.", - "format": "int64" + "new_vmdk": { + "description": "Specification for creating a new VMDK backing for the virtual disk. Exactly one of backing or new_vmdk must be specified.\n\nIf missing or `null`, a new VMDK backing will not be created.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.VmdkCreateSpec" + } + ] } }, - "description": "The Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec schema describes updates to the configuration of a virtual disk in the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.Vm.Hardware.Disk.CreateSpec schema provides a specification for the configuration of a newly-created virtual disk." }, - "Vcenter.Vm.Hardware.Serial.Info": { + "Vcenter.Vm.Hardware.Disk.Info": { "required": [ - "allow_guest_control", "backing", "label", - "start_connected", - "state", - "yield_on_poll" + "type" ], "type": "object", "properties": { @@ -2896,104 +11478,122 @@ "type": "string", "description": "Device label." }, - "yield_on_poll": { - "type": "boolean", - "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host." + "type": { + "type": "string", + "description": "Type of host bus adapter to which the device is attached.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.HostBusAdapterType*." }, - "backing": { - "description": "Physical resource backing for the virtual serial port.", + "ide": { + "description": "Address of device attached to a virtual IDE adapter.\n\nWorkaround for PR1459646", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.BackingInfo" + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressInfo" } ] }, - "state": { - "type": "string", - "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + "scsi": { + "description": "Address of device attached to a virtual SCSI adapter.\n\nWorkaround for PR1459646", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressInfo" + } + ] }, - "start_connected": { - "type": "boolean", - "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + "sata": { + "description": "Address of device attached to a virtual SATA adapter.\n\nWorkaround for PR1459646", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressInfo" + } + ] }, - "allow_guest_control": { - "type": "boolean", - "description": "Flag indicating whether the guest can connect and disconnect the device." + "nvme": { + "description": "Address of device attached to a virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.HostBusAdapterType.NVME*.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.NvmeAddressInfo" + } + ] + }, + "backing": { + "description": "Physical resource backing for the virtual disk.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingInfo" + } + ] + }, + "capacity": { + "type": "integer", + "description": "Capacity of the virtual disk in bytes.\n\nIf missing or `null`, virtual disk is inaccessible or disk capacity is 0.", + "format": "int64" } }, - "description": "The Vcenter.Vm.Hardware.Serial.Info schema contains information about a virtual serial port." + "description": "The Vcenter.Vm.Hardware.Disk.Info schema contains information about a virtual disk." }, - "Vcenter.Vm.Hardware.Disk.BackingInfo": { + "Vcenter.Vm.Hardware.Disk.StoragePolicySpec": { "required": [ - "type" + "policy" ], "type": "object", "properties": { - "type": { - "type": "string", - "description": "Backing type for the virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.BackingType*." - }, - "vmdk_file": { + "policy": { "type": "string", - "description": "Path of the VMDK file backing the virtual disk.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.BackingType.VMDK_FILE*." + "description": "Identifier of the storage policy which should be associated with the VMDK file.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." } }, - "description": "The Vcenter.Vm.Hardware.Disk.BackingInfo schema contains information about the physical resource backing a virtual disk." + "description": "The Vcenter.Vm.Hardware.Disk.StoragePolicySpec schema contains information about the storage policy be associated with a VMDK file.\n\nThis schema was added in __vSphere API 6.7__." }, - "Vcenter.Vm.Hardware.SataAddressInfo": { + "Vcenter.Vm.Hardware.Disk.Summary": { "required": [ - "bus", - "unit" + "disk" ], "type": "object", "properties": { - "bus": { - "type": "integer", - "description": "Bus number of the adapter to which the device is attached.", - "format": "int64" - }, - "unit": { - "type": "integer", - "description": "Unit number of the device.", - "format": "int64" + "disk": { + "type": "string", + "description": "Identifier of the virtual Disk.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." } }, - "description": "The Vcenter.Vm.Hardware.SataAddressInfo schema contains information about the address of a virtual device that is attached to a virtual SATA adapter of a virtual machine." + "description": "The Vcenter.Vm.Hardware.Disk.Summary schema contains commonly used information about a virtual disk." }, - "Vcenter.Vm.Hardware.Memory.UpdateSpec": { + "Vcenter.Vm.Hardware.Disk.UpdateSpec": { "type": "object", "properties": { - "size_mib": { - "type": "integer", - "description": "New memory size in mebibytes. \n\n The supported range of memory sizes is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, this value may only be changed if *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true, and the new memory size must satisfy the constraints specified by *Vcenter.Vm.Hardware.Memory.Info.hot_add_increment_size_MiB* and *Vcenter.Vm.Hardware.Memory.Info.hot_add_limit_MiB*.\n\nIf missing or `null`, the value is unchanged.", - "format": "int64" - }, - "hot_add_enabled": { - "type": "boolean", - "description": "Flag indicating whether adding memory while the virtual machine is running should be enabled. \n\n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running. \n\n This property may only be modified if the virtual machine is not powered on.\n\nIf missing or `null`, the value is unchanged." + "backing": { + "description": "Physical resource backing for the virtual disk. \n\n This property may only be modified if the virtual machine is not powered on.\n\nIf missing or `null`, the value is unchanged.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingSpec" + } + ] } }, - "description": "The Vcenter.Vm.Hardware.Memory.UpdateSpec schema describes the updates to be made to the memory-related settings of a virtual machine." + "description": "The Vcenter.Vm.Hardware.Disk.UpdateSpec schema describes the updates to be made to the configuration of a virtual disk." }, - "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage": { + "Vcenter.Vm.Hardware.Disk.VmdkCreateSpec": { "type": "object", "properties": { - "datastore": { + "name": { "type": "string", - "description": "Identifier for the datastore associated the deployed virtual machine's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If storage_policy is also specified and is incompatible with the datastore, then the disk will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + "description": "Base name of the VMDK file. The name should not include the '.vmdk' file extension.\n\nIf missing or `null`, a name (derived from the name of the virtual machine) will be chosen by the server." + }, + "capacity": { + "type": "integer", + "description": "Capacity of the virtual disk backing in bytes.\n\nIf missing or `null`, defaults to a guest-specific capacity.", + "format": "int64" }, "storage_policy": { - "description": "Storage policy for the deployed virtual machine's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the deployed virtual machine's disk is created with the default storage policy associated with the datastore.", + "description": "The Vcenter.Vm.Hardware.Disk.StoragePolicySpec schema contains information about the storage policy that is to be associated the with VMDK file.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the default storage policy of the target datastore (if applicable) is applied. Currently a default storage policy is only supported by object based datastores : VVol & vSAN. For non- object datastores, if missing or `null` then no storage policy would be associated with the VMDK file.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy" + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.StoragePolicySpec" } ] } }, - "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage schema contains the storage specification for disks in the virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.Vm.Hardware.Disk.VmdkCreateSpec schema provides a specification for creating a new VMDK file to be used as a backing for a virtual disk. The virtual disk will be stored in the same directory as the virtual machine's configuration file." }, - "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy": { + "Vcenter.Vm.Hardware.Ethernet.BackingInfo": { "required": [ "type" ], @@ -3001,86 +11601,99 @@ "properties": { "type": { "type": "string", - "description": "Policy type to be used when creating the deployed virtual machine's disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the corresponding disk in the source virtual machine template.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." + "description": "Backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.BackingType*." }, - "policy": { + "network": { "type": "string", - "description": "Identifier of the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." - } - }, - "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy schema describes the storage policy specification for the deployed virtual machine's disks.\n\nThis schema was added in __vSphere API 6.8__." - }, - "Vapi.Std.Errors.NotFound": { - "type": "object", - "description": "The Vapi.Std.Errors.NotFound error indicates that a specified element could not be found. \n\n Examples: \n - Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. \n - Invoke the operation to modify the configuration of a virtual nic, passing an id that does not identify an existing virtual nic in the specified virtual machine. \n - Invoke the operation to remove a vswitch, passing an id that does not identify an existing vswitch. \n ", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" - } - ] - }, - "Vcenter.Vm.Hardware.NvmeAddressSpec": { - "required": [ - "bus" - ], - "type": "object", - "properties": { - "bus": { - "type": "integer", - "description": "Bus number of the adapter to which the device should be attached.\n\nThis property was added in __vSphere API 7.0.0.1__.", - "format": "int64" + "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nIf missing or `null`, the identifier of the network backing could not be determined.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." }, - "unit": { + "network_name": { + "type": "string", + "description": "Name of the standard portgroup backing the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.STANDARD_PORTGROUP*." + }, + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.HOST_DEVICE*." + }, + "distributed_switch_uuid": { + "type": "string", + "description": "UUID of the distributed virtual switch that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.DISTRIBUTED_PORTGROUP*." + }, + "distributed_port": { + "type": "string", + "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter.\n\nThis property will be missing or `null` if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected." + }, + "connection_cookie": { "type": "integer", - "description": "Unit number of the device.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "description": "Server-generated cookie that identifies the connection to the port. This cookie may be used to verify that the virtual machine is the rightful owner of the port.\n\nThis property will be missing or `null` if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected.", "format": "int64" + }, + "opaque_network_type": { + "type": "string", + "description": "Type of the opaque network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*." + }, + "opaque_network_id": { + "type": "string", + "description": "Identifier of the opaque network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*." } }, - "description": "The Vcenter.Vm.Hardware.NvmeAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual NVMe adapter of a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.1__." + "description": "The Vcenter.Vm.Hardware.Ethernet.BackingInfo schema contains information about the physical resource backing a virtual Ethernet adapter." }, - "Vcenter.Datacenter.Summary": { + "Vcenter.Vm.Hardware.Ethernet.BackingSpec": { "required": [ - "datacenter", - "name" + "type" ], "type": "object", "properties": { - "datacenter": { + "type": { "type": "string", - "description": "Identifier of the datacenter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datacenter`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datacenter`." + "description": "Backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.BackingType*." }, - "name": { + "network": { "type": "string", - "description": "Name of the datacenter." + "description": "Identifier of the network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Ethernet.BackingType.STANDARD_PORTGROUP*, *Vcenter.Vm.Hardware.Ethernet.BackingType.DISTRIBUTED_PORTGROUP*, or *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "distributed_port": { + "type": "string", + "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter. Depending on the type of the Portgroup, the port may be specified using this field. If the portgroup type is early-binding (also known as static), a port is assigned when the Ethernet adapter is configured to use the port. The port may be either automatically or specifically assigned based on the value of this property. If the portgroup type is ephemeral, the port is created and assigned to a virtual machine when it is powered on and the Ethernet adapter is connected. This property cannot be specified as no free ports exist before use.\n\nMay be used to specify a port when the network specified on the network property is a static or early binding distributed portgroup. If missing or `null`, the port will be automatically assigned to the Ethernet adapter based on the policy embodied by the portgroup type." } }, - "description": "The Vcenter.Datacenter.Summary schema contains commonly used information about a datacenter in vCenter Server." + "description": "The Vcenter.Vm.Hardware.Ethernet.BackingSpec schema provides a specification of the physical resource that backs a virtual Ethernet adapter." }, - "Vcenter.Vm.Hardware.Ethernet.UpdateSpec": { + "Vcenter.Vm.Hardware.Ethernet.CreateSpec": { "type": "object", "properties": { + "type": { + "type": "string", + "description": "Ethernet adapter emulation type.\n\nPossible values:\n - `E1000`: E1000 ethernet adapter.\n - `E1000E`: E1000e ethernet adapter.\n - `PCNET32`: AMD Lance PCNet32 Ethernet adapter.\n - `VMXNET`: VMware Vmxnet virtual Ethernet adapter.\n - `VMXNET2`: VMware Vmxnet2 virtual Ethernet adapter.\n - `VMXNET3`: VMware Vmxnet3 virtual Ethernet adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.EmulationType*.\n\nIf missing or `null`, defaults to a guest-specific type." + }, "upt_compatibility_enabled": { "type": "boolean", - "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility should be enabled on this virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged. Must be missing or `null` if the emulation type of the virtual Ethernet adapter is not *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility is enabled on this virtual Ethernet adapter.\n\nIf missing or `null`, UPT will not be enabled on the newly-created virtual Ethernet adapter." }, "upt_v2_compatibility_enabled": { "type": "boolean", - "description": "Flag indicates whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter. To enable this feature, the network adapter must connect to a network backed by DPU (Data Processing Unit) and network offloading must be enabled on the network. This property can be only modified when virtual machine is powered off.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the value is unchanged. Must be missing or `null` if the emulation type of the virtual Ethernet adapter is not *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + "description": "Flag indicating whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter. To enable this feature, the network adapter must connect to a network backed by DPU (Data Processing Unit) and network offloading must be enabled on the network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, UPTv2 will not be enabled on the newly-created virtual Ethernet adapter." }, "mac_type": { "type": "string", - "description": "MAC address type. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*.\n\nIf missing or `null`, the value is unchanged." + "description": "MAC address type.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*.\n\nIf missing or `null`, defaults to *Vcenter.Vm.Hardware.Ethernet.MacAddressType.GENERATED*." }, "mac_address": { "type": "string", - "description": "MAC address. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged. Must be specified if *Vcenter.Vm.Hardware.Ethernet.UpdateSpec.mac_type* is *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL*. Must be missing or `null` if the MAC address type is not *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL*." + "description": "MAC address.\n\nWorkaround for PR1459647" + }, + "pci_slot_number": { + "type": "integer", + "description": "Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change when it the VM is started or as the device is hot added.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", + "format": "int64" }, "wake_on_lan_enabled": { "type": "boolean", - "description": "Flag indicating whether wake-on-LAN should be enabled on this virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + "description": "Flag indicating whether wake-on-LAN is enabled on this virtual Ethernet adapter.\n\nDefaults to false if missing or `null`." }, "backing": { - "description": "Physical resource backing for the virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged.", + "description": "Physical resource backing for the virtual Ethernet adapter.\n\nIf missing or `null`, the system may try to find an appropriate backing. If one is not found, the request will fail.", "allOf": [ { "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingSpec" @@ -3089,14 +11702,14 @@ }, "start_connected": { "type": "boolean", - "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." }, "allow_guest_control": { "type": "boolean", - "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." } }, - "description": "The Vcenter.Vm.Hardware.Ethernet.UpdateSpec schema describes the updates to be made to the configuration of a virtual Ethernet adapter." + "description": "The Vcenter.Vm.Hardware.Ethernet.CreateSpec schema provides a specification for the configuration of a newly-created virtual Ethernet adapter." }, "Vcenter.Vm.Hardware.Ethernet.Info": { "required": [ @@ -3167,99 +11780,165 @@ }, "description": "The Vcenter.Vm.Hardware.Ethernet.Info schema contains information about a virtual Ethernet adapter." }, - "Vcenter.Vm.Hardware.Parallel.Info": { + "Vcenter.Vm.Hardware.Ethernet.Summary": { "required": [ - "allow_guest_control", - "backing", - "label", - "start_connected", - "state" + "nic" ], "type": "object", "properties": { - "label": { + "nic": { "type": "string", - "description": "Device label." + "description": "Identifier of the virtual Ethernet adapter.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + } + }, + "description": "The Vcenter.Vm.Hardware.Ethernet.Summary schema contains commonly used information about a virtual Ethernet adapter." + }, + "Vcenter.Vm.Hardware.Ethernet.UpdateSpec": { + "type": "object", + "properties": { + "upt_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility should be enabled on this virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged. Must be missing or `null` if the emulation type of the virtual Ethernet adapter is not *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "upt_v2_compatibility_enabled": { + "type": "boolean", + "description": "Flag indicates whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter. To enable this feature, the network adapter must connect to a network backed by DPU (Data Processing Unit) and network offloading must be enabled on the network. This property can be only modified when virtual machine is powered off.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, the value is unchanged. Must be missing or `null` if the emulation type of the virtual Ethernet adapter is not *Vcenter.Vm.Hardware.Ethernet.EmulationType.VMXNE_t3*." + }, + "mac_type": { + "type": "string", + "description": "MAC address type. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*.\n\nIf missing or `null`, the value is unchanged." + }, + "mac_address": { + "type": "string", + "description": "MAC address. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged. Must be specified if *Vcenter.Vm.Hardware.Ethernet.UpdateSpec.mac_type* is *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL*. Must be missing or `null` if the MAC address type is not *Vcenter.Vm.Hardware.Ethernet.MacAddressType.MANUAL*." + }, + "wake_on_lan_enabled": { + "type": "boolean", + "description": "Flag indicating whether wake-on-LAN should be enabled on this virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." }, "backing": { - "description": "Physical resource backing for the virtual parallel port.", + "description": "Physical resource backing for the virtual Ethernet adapter. \n\n This property may be modified at any time, and changes will be applied the next time the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.BackingInfo" + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingSpec" } ] }, - "state": { - "type": "string", - "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." - }, "start_connected": { "type": "boolean", - "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nIf missing or `null`, the value is unchanged." }, "allow_guest_control": { "type": "boolean", - "description": "Flag indicating whether the guest can connect and disconnect the device." + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nIf missing or `null`, the value is unchanged." } }, - "description": "The Vcenter.Vm.Hardware.Parallel.Info schema contains information about a virtual parallel port." + "description": "The Vcenter.Vm.Hardware.Ethernet.UpdateSpec schema describes the updates to be made to the configuration of a virtual Ethernet adapter." }, - "Vapi.Std.Errors.Unauthenticated": { + "Vcenter.Vm.Hardware.Floppy.BackingInfo": { + "required": [ + "type" + ], "type": "object", "properties": { - "challenge": { + "type": { "type": "string", - "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. \n\n For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da1358-2ba4-11e9-b210-d663bd873d93\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + "description": "Backing type for the virtual floppy drive.\n\nPossible values:\n - `IMAGE_FILE`: Virtual floppy drive is backed by an image file.\n - `HOST_DEVICE`: Virtual floppy drive is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual floppy drive is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Floppy.BackingType*." + }, + "image_file": { + "type": "string", + "description": "Path of the image file backing the virtual floppy drive.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.IMAGE_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the host device backing the virtual floppy drive. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual floppy drive is not connected or no suitable device is available on the host." + }, + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual floppy drive is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.HOST_DEVICE*." } }, - "description": "The Vapi.Std.Errors.Unauthenticated error indicates that the operation requires authentication and the user is not authenticated. \n\n API requests may include a security context containing user credentials. For example, the user credentials could be a SAML token, a user name and password, or the session identifier for a previously established session. \n\n Examples: \n - The SAML token in the request's security context has expired. \n - The user name and password in the request's security context are invalid. \n - The session identifier in the request's security context identifies a session that has expired. \n Counterexamples: \n - The user is authenticated but isn't authorized to perform the requested operation. The *Vapi.Std.Errors.Unauthorized* error would be used instead. \n \n\n For security reasons, the *Vapi.Std.Errors.Error.data* property in this error is missing or `null`, and the *Vapi.Std.Errors.Error.messages* property in this error does not disclose which part of the security context is correct or incorrect. For example the messages would not disclose whether a username or a password is valid or invalid, but only that a combination of username and password is invalid.", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "description": "The Vcenter.Vm.Hardware.Floppy.BackingInfo schema contains information about the physical resource backing a virtual floppy drive." + }, + "Vcenter.Vm.Hardware.Floppy.BackingSpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Backing type for the virtual floppy drive.\n\nPossible values:\n - `IMAGE_FILE`: Virtual floppy drive is backed by an image file.\n - `HOST_DEVICE`: Virtual floppy drive is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual floppy drive is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Floppy.BackingType*." + }, + "image_file": { + "type": "string", + "description": "Path of the image file that should be used as the virtual floppy drive backing.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.IMAGE_FILE*." + }, + "host_device": { + "type": "string", + "description": "Name of the device that should be used as the virtual floppy drive backing.\n\nIf missing or `null`, the virtual floppy drive will be configured to automatically detect a suitable host device." } - ] + }, + "description": "The Vcenter.Vm.Hardware.Floppy.BackingSpec schema provides a specification of the physical resource backing a virtual floppy drive." }, - "Vapi.Std.Errors.ServiceUnavailable": { + "Vcenter.Vm.Hardware.Floppy.CreateSpec": { "type": "object", - "description": "The Vapi.Std.Errors.ServiceUnavailable error indicates that the resource is unavailable. \n\n Examples: \n - Attempt to invoke a operation when the server is too busy. \n - Attempt to invoke a operation when the server is undergoing maintenance. \n - An operation fails to contact VMware Tools running inside the virtual machine. \n \n\n Counterexamples: \n - A client provides an invalid service or operation identifier when invoking the operation using a dynamic interface (for example REST). The *Vapi.Std.Errors.OperationNotFound* error would be used instead. \n - A client invokes the operation from the resource, but that resource has not been installed. The *Vapi.Std.Errors.OperationNotFound* error would be used instead. \n ", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "properties": { + "backing": { + "description": "Physical resource backing for the virtual floppy drive.\n\nIf missing or `null`, defaults to automatic detection of a suitable host device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.BackingSpec" + } + ] + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." } - ] + }, + "description": "The Vcenter.Vm.Hardware.Floppy.CreateSpec schema provides a specification for the configuration of a newly-created virtual floppy drive." }, - "Vcenter.Vm.Hardware.Adapter.Nvme.Info": { + "Vcenter.Vm.Hardware.Floppy.Info": { "required": [ - "bus", - "label" + "allow_guest_control", + "backing", + "label", + "start_connected", + "state" ], "type": "object", "properties": { "label": { "type": "string", - "description": "Device label.\n\nThis property was added in __vSphere API 7.0.0.1__." + "description": "Device label." }, - "bus": { - "type": "integer", - "description": "NVMe bus number.\n\nThis property was added in __vSphere API 7.0.0.1__.", - "format": "int64" + "backing": { + "description": "Physical resource backing for the virtual floppy drive.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.BackingInfo" + } + ] }, - "pci_slot_number": { - "type": "integer", - "description": "Address of the NVMe adapter on the PCI bus.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", - "format": "int64" + "state": { + "type": "string", + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." + }, + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." + }, + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." } }, - "description": "The Vcenter.Vm.Hardware.Adapter.Nvme.Info schema contains information about a virtual NVMe adapter.\n\nThis schema was added in __vSphere API 7.0.0.1__." - }, - "Vapi.Std.Errors.InvalidArgument": { - "type": "object", - "description": "The Vapi.Std.Errors.InvalidArgument error indicates that the values received for one or more parameters are not acceptable. \n\n This error is reported by the API infrastructure, so it could occur in response to the invocation of any operation. It may also be reported as the result of operation-specific validation. \n\n Examples: \n - A parameter has a value that is not of the expected type. \n - A parameter has a value that is not in the required range. \n - A parameter has a value that is not one of the specifically allowed strings. \n - One property of a schema is the tag for a tagged union, and has a specific value but another property of the schema that is required to be specified when the tag has that value is not specified, or another property of the schema that is required to be unspecified when the tag has that value is specified. \n \n\n Counterexamples: \n - Trying to create a new tag in tag category when a tag with the specified name already exists the tag category. The *Vapi.Std.Errors.AlreadyExists* error would be used instead. \n - Invoke the operation to retrieve information about a virtual machine, passing an id that does not identify an existing virtual machine. The *Vapi.Std.Errors.NotFound* error would be used instead. \n - Attempt to put a virtual machine into a folder that can only contain hosts. The *Vapi.Std.Errors.InvalidElementType* error would be used instead. \n - Attempt to attach a SCSI virtual disk to an IDE port. The *Vapi.Std.Errors.InvalidElementType* error would be used instead. \n ", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" - } - ] + "description": "The Vcenter.Vm.Hardware.Floppy.Info schema contains information about a virtual floppy drive." }, "Vcenter.Vm.Hardware.IdeAddressInfo": { "required": [ @@ -3279,72 +11958,94 @@ }, "description": "The Vcenter.Vm.Hardware.IdeAddressInfo schema contains information about the address of a virtual device that is attached to a virtual IDE adapter of a virtual machine." }, - "Vcenter.VmTemplate.LibraryItems.TagSpec": { + "Vcenter.Vm.Hardware.IdeAddressSpec": { "type": "object", "properties": { - "tag_id": { - "type": "string", - "description": "The tag identifier of the vSphere tag. If this field is specified in addition to *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec*, then both tagId and *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec* must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec* must be specified." + "primary": { + "type": "boolean", + "description": "Flag specifying whether the device should be attached to the primary or secondary IDE adapter of the virtual machine.\n\nIf missing or `null`, the server will choose a adapter with an available connection. If no IDE connections are available, the request will be rejected." }, - "tag_name_spec": { - "description": "Information about the name of the tag. If this field is specified in addition to *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id*, then both *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id* and tagNameSpec must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id* must be specified.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.TagNameSpec" - } - ] + "master": { + "type": "boolean", + "description": "Flag specifying whether the device should be the master or slave device on the IDE adapter.\n\nIf missing or `null`, the server will choose an available connection type. If no IDE connections are available, the request will be rejected." } }, - "description": "The Vcenter.VmTemplate.LibraryItems.TagSpec schema contains information required to attach a tag while deploying a VM. \n\n Represents a tag specification with optional *Cis.Tagging.Tag* and/or *Vcenter.VmTemplate.LibraryItems.TagNameSpec*. The *Cis.Tagging.Tag* should already exist in vSphere, otherwise VM deployment will fail.\n\nThis schema was added in __vSphere API 9.1.0.0__." + "description": "The Vcenter.Vm.Hardware.IdeAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual IDE adapter of a virtual machine." }, - "Vapi.Std.Errors.Unauthorized": { + "Vcenter.Vm.Hardware.Info": { + "required": [ + "upgrade_policy", + "upgrade_status", + "version" + ], "type": "object", "properties": { - "challenge": { + "version": { "type": "string", - "description": "Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used. \n\n For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm=\"27da158-2ba4-11e9-b\",sts=\"http://vcenter/sso?vsphere.local\", Basic realm=\"vCenter\"\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + "description": "Virtual hardware version.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*." + }, + "upgrade_policy": { + "type": "string", + "description": "Scheduled upgrade policy.\n\nPossible values:\n - `NEVER`: Do not upgrade the virtual machine when it is powered on.\n - `AFTER_CLEAN_SHUTDOWN`: Run scheduled upgrade when the virtual machine is powered on after a clean shutdown of the guest operating system.\n - `ALWAYS`: Run scheduled upgrade when the virtual machine is powered on.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradePolicy*." + }, + "upgrade_version": { + "type": "string", + "description": "Target hardware version to be used on the next scheduled virtual hardware upgrade.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nThis property is optional and it is only relevant when the value of upgrade_policy is one of *Vcenter.Vm.Hardware.UpgradePolicy.AFTER_CLEAN_SHUTDOWN* or *Vcenter.Vm.Hardware.UpgradePolicy.ALWAYS*." + }, + "upgrade_status": { + "type": "string", + "description": "Scheduled upgrade status.\n\nPossible values:\n - `NONE`: No scheduled upgrade has been attempted.\n - `PENDING`: Upgrade is scheduled but has not yet been run.\n - `SUCCESS`: The most recent scheduled upgrade was successful.\n - `FAILED`: The most recent scheduled upgrade was not successful.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradeStatus*." + }, + "upgrade_error": { + "type": "object", + "description": "Reason for the scheduled upgrade failure.\n\nThis property is optional and it is only relevant when the value of upgrade_status is *Vcenter.Vm.Hardware.UpgradeStatus.FAILED*." } }, - "description": "The Vapi.Std.Errors.Unauthorized error indicates that the user is not authorized to perform the operation. \n\n API requests may include a security context containing user credentials. For example, the user credentials could be a SAML token, a user name and password, or the session identifier for a previously established session. Invoking the operation may require that the user identified by those credentials has particular privileges on the operation or on one or more resource identifiers passed to the operation. \n\n Examples: \n - The operation requires that the user have one or more privileges on the operation, but the user identified by the credentials in the security context does not have the required privileges. \n - The operation requires that the user have one or more privileges on a resource identifier passed to the operation, but the user identified by the credentials in the security context does not have the required privileges. \n \n\n \n\n Counterexamples: \n - The SAML token in the request's security context has expired. A *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n - The user name and password in the request's security context are invalid. The *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n - The session identifier in the request's security context identifies a session that has expired. The *Vapi.Std.Errors.Unauthenticated* error would be used instead. \n \n\n For security reasons, the *Vapi.Std.Errors.Error.data* property in this error is missing or `null`, and the *Vapi.Std.Errors.Error.messages* property in this error does not disclose why the user is not authorized to perform the operation. For example the messages would not disclose which privilege the user did not have or which resource identifier the user did not have the required privilege to access. The API documentation should indicate what privileges are required.", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" - } - ] + "description": "The Vcenter.Vm.Hardware.Info schema contains information related to the virtual hardware of a virtual machine." }, - "Vcenter.Vm.Hardware.ScsiAddressInfo": { + "Vcenter.Vm.Hardware.Memory.Info": { "required": [ - "bus", - "unit" + "hot_add_enabled", + "size_mib" ], "type": "object", "properties": { - "bus": { + "size_mib": { "type": "integer", - "description": "Bus number of the adapter to which the device is attached.", + "description": "Memory size in mebibytes.", "format": "int64" }, - "unit": { + "hot_add_enabled": { + "type": "boolean", + "description": "Flag indicating whether adding memory while the virtual machine is running is enabled. \n\n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running." + }, + "hot_add_increment_size_mib": { + "type": "integer", + "description": "Only set when *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true and the virtual machine is running.", + "format": "int64" + }, + "hot_add_limit_mib": { "type": "integer", - "description": "Unit number of the device.", + "description": "The maximum amount of memory, in mebibytes, that can be added to a running virtual machine.\n\nOnly set when *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true and the virtual machine is running.", "format": "int64" } }, - "description": "The Vcenter.Vm.Hardware.ScsiAddressInfo schema contains information about the address of a virtual device that is attached to a virtual SCSI adapter of a virtual machine." + "description": "The Vcenter.Vm.Hardware.Memory.Info schema contains memory-related information about a virtual machine." }, - "Vcenter.Vm.Hardware.IdeAddressSpec": { + "Vcenter.Vm.Hardware.Memory.UpdateSpec": { "type": "object", "properties": { - "primary": { - "type": "boolean", - "description": "Flag specifying whether the device should be attached to the primary or secondary IDE adapter of the virtual machine.\n\nIf missing or `null`, the server will choose a adapter with an available connection. If no IDE connections are available, the request will be rejected." + "size_mib": { + "type": "integer", + "description": "New memory size in mebibytes. \n\n The supported range of memory sizes is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, this value may only be changed if *Vcenter.Vm.Hardware.Memory.Info.hot_add_enabled* is true, and the new memory size must satisfy the constraints specified by *Vcenter.Vm.Hardware.Memory.Info.hot_add_increment_size_MiB* and *Vcenter.Vm.Hardware.Memory.Info.hot_add_limit_MiB*.\n\nIf missing or `null`, the value is unchanged.", + "format": "int64" }, - "master": { + "hot_add_enabled": { "type": "boolean", - "description": "Flag specifying whether the device should be the master or slave device on the IDE adapter.\n\nIf missing or `null`, the server will choose an available connection type. If no IDE connections are available, the request will be rejected." + "description": "Flag indicating whether adding memory while the virtual machine is running should be enabled. \n\n Some guest operating systems may consume more resources or perform less efficiently when they run on hardware that supports adding memory while the machine is running. \n\n This property may only be modified if the virtual machine is not powered on.\n\nIf missing or `null`, the value is unchanged." } }, - "description": "The Vcenter.Vm.Hardware.IdeAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual IDE adapter of a virtual machine." + "description": "The Vcenter.Vm.Hardware.Memory.UpdateSpec schema describes the updates to be made to the memory-related settings of a virtual machine." }, "Vcenter.Vm.Hardware.NvmeAddressInfo": { "required": [ @@ -3366,101 +12067,79 @@ }, "description": "The Vcenter.Vm.Hardware.NvmeAddressInfo schema contains information about the address of a virtual device that is attached to a virtual NVMe adapter of a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.1__." }, - "Vcenter.Vm.Hardware.Disk.CreateSpec": { + "Vcenter.Vm.Hardware.NvmeAddressSpec": { + "required": [ + "bus" + ], + "type": "object", + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.\n\nThis property was added in __vSphere API 7.0.0.1__.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "format": "int64" + } + }, + "description": "The Vcenter.Vm.Hardware.NvmeAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual NVMe adapter of a virtual machine.\n\nThis schema was added in __vSphere API 7.0.0.1__." + }, + "Vcenter.Vm.Hardware.Parallel.BackingInfo": { + "required": [ + "type" + ], "type": "object", "properties": { "type": { "type": "string", - "description": "Type of host bus adapter to which the device should be attached.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.HostBusAdapterType*.\n\nIf missing or `null`, guest-specific default values will be used" - }, - "ide": { - "description": "Address for attaching the device to a virtual IDE adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressSpec" - } - ] - }, - "scsi": { - "description": "Address for attaching the device to a virtual SCSI adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressSpec" - } - ] - }, - "sata": { - "description": "Address for attaching the device to a virtual SATA adapter.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressSpec" - } - ] + "description": "Backing type for the virtual parallel port.\n\nPossible values:\n - `FILE`: Virtual parallel port is backed by a file.\n - `HOST_DEVICE`: Virtual parallel port is backed by a device on the host where the virtual machine is running.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Parallel.BackingType*." }, - "nvme": { - "description": "Address for attaching the device to a virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nIf missing or `null`, the server will choose an available address; if none is available, the request will fail.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.NvmeAddressSpec" - } - ] + "file": { + "type": "string", + "description": "Path of the file backing the virtual parallel port.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.FILE*." }, - "backing": { - "description": "Existing physical resource backing for the virtual disk. Exactly one of backing or new_vmdk must be specified.\n\nIf missing or `null`, the virtual disk will not be connected to an existing backing.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingSpec" - } - ] + "host_device": { + "type": "string", + "description": "Name of the device backing the virtual parallel port. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual parallel port is not connected or no suitable device is available on the host." }, - "new_vmdk": { - "description": "Specification for creating a new VMDK backing for the virtual disk. Exactly one of backing or new_vmdk must be specified.\n\nIf missing or `null`, a new VMDK backing will not be created.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.VmdkCreateSpec" - } - ] + "auto_detect": { + "type": "boolean", + "description": "Flag indicating whether the virtual parallel port is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.HOST_DEVICE*." } }, - "description": "The Vcenter.Vm.Hardware.Disk.CreateSpec schema provides a specification for the configuration of a newly-created virtual disk." + "description": "The Vcenter.Vm.Hardware.Parallel.BackingInfo schema contains information about the physical resource backing a virtual parallel port." }, - "Vcenter.Vm.Hardware.Ethernet.CreateSpec": { + "Vcenter.Vm.Hardware.Parallel.BackingSpec": { + "required": [ + "type" + ], "type": "object", "properties": { "type": { "type": "string", - "description": "Ethernet adapter emulation type.\n\nPossible values:\n - `E1000`: E1000 ethernet adapter.\n - `E1000E`: E1000e ethernet adapter.\n - `PCNET32`: AMD Lance PCNet32 Ethernet adapter.\n - `VMXNET`: VMware Vmxnet virtual Ethernet adapter.\n - `VMXNET2`: VMware Vmxnet2 virtual Ethernet adapter.\n - `VMXNET3`: VMware Vmxnet3 virtual Ethernet adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.EmulationType*.\n\nIf missing or `null`, defaults to a guest-specific type." - }, - "upt_compatibility_enabled": { - "type": "boolean", - "description": "Flag indicating whether Universal Pass-Through (UPT) compatibility is enabled on this virtual Ethernet adapter.\n\nIf missing or `null`, UPT will not be enabled on the newly-created virtual Ethernet adapter." - }, - "upt_v2_compatibility_enabled": { - "type": "boolean", - "description": "Flag indicating whether Uniform Pass-through version 2(UPTv2) compatibility is enabled on this network adapter. To enable this feature, the network adapter must connect to a network backed by DPU (Data Processing Unit) and network offloading must be enabled on the network.\n\nThis property was added in __vSphere API 8.0.0.1__.\n\nIf missing or `null`, UPTv2 will not be enabled on the newly-created virtual Ethernet adapter." + "description": "Backing type for the virtual parallel port.\n\nPossible values:\n - `FILE`: Virtual parallel port is backed by a file.\n - `HOST_DEVICE`: Virtual parallel port is backed by a device on the host where the virtual machine is running.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Parallel.BackingType*." }, - "mac_type": { + "file": { "type": "string", - "description": "MAC address type.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.MacAddressType*.\n\nIf missing or `null`, defaults to *Vcenter.Vm.Hardware.Ethernet.MacAddressType.GENERATED*." + "description": "Path of the file that should be used as the virtual parallel port backing.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Parallel.BackingType.FILE*." }, - "mac_address": { + "host_device": { "type": "string", - "description": "MAC address.\n\nWorkaround for PR1459647" - }, - "pci_slot_number": { - "type": "integer", - "description": "Address of the virtual Ethernet adapter on the PCI bus. If the PCI address is invalid, the server will change when it the VM is started or as the device is hot added.\n\nIf missing or `null`, the server will choose an available address when the virtual machine is powered on.", - "format": "int64" - }, - "wake_on_lan_enabled": { - "type": "boolean", - "description": "Flag indicating whether wake-on-LAN is enabled on this virtual Ethernet adapter.\n\nDefaults to false if missing or `null`." - }, + "description": "Name of the device that should be used as the virtual parallel port backing.\n\nIf missing or `null`, the virtual parallel port will be configured to automatically detect a suitable host device." + } + }, + "description": "The Vcenter.Vm.Hardware.Parallel.BackingSpec schema provides a specification of the physical resource backing a virtual parallel port." + }, + "Vcenter.Vm.Hardware.Parallel.CreateSpec": { + "type": "object", + "properties": { "backing": { - "description": "Physical resource backing for the virtual Ethernet adapter.\n\nIf missing or `null`, the system may try to find an appropriate backing. If one is not found, the request will fail.", + "description": "Physical resource backing for the virtual parallel port.\n\nIf missing or `null`, defaults to automatic detection of a suitable host device.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.BackingSpec" + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.BackingSpec" } ] }, @@ -3473,48 +12152,27 @@ "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." } }, - "description": "The Vcenter.Vm.Hardware.Ethernet.CreateSpec schema provides a specification for the configuration of a newly-created virtual Ethernet adapter." + "description": "The Vcenter.Vm.Hardware.Parallel.CreateSpec schema provides a specification for the configuration of a newly-created virtual parallel port." }, - "Vcenter.Vm.Hardware.Cdrom.Info": { + "Vcenter.Vm.Hardware.Parallel.Info": { "required": [ "allow_guest_control", "backing", "label", "start_connected", - "state", - "type" + "state" ], "type": "object", "properties": { - "type": { - "type": "string", - "description": "Type of host bus adapter to which the device is attached.\n\nPossible values:\n - `IDE`: Cdrom is attached to an IDE adapter.\n - `SATA`: Cdrom is attached to a SATA adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType*." - }, "label": { "type": "string", "description": "Device label." }, - "ide": { - "description": "Address of device attached to a virtual IDE adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType.IDE*.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressInfo" - } - ] - }, - "sata": { - "description": "Address of device attached to a virtual SATA adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Cdrom.HostBusAdapterType.SATA*.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressInfo" - } - ] - }, "backing": { - "description": "Physical resource backing for the virtual CD-ROM device.", + "description": "Physical resource backing for the virtual parallel port.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.BackingInfo" + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.BackingInfo" } ] }, @@ -3531,142 +12189,85 @@ "description": "Flag indicating whether the guest can connect and disconnect the device." } }, - "description": "The Vcenter.Vm.Hardware.Cdrom.Info schema contains information about a virtual CD-ROM device." - }, - "Vcenter.Vm.Hardware.Disk.VmdkCreateSpec": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Base name of the VMDK file. The name should not include the '.vmdk' file extension.\n\nIf missing or `null`, a name (derived from the name of the virtual machine) will be chosen by the server." - }, - "capacity": { - "type": "integer", - "description": "Capacity of the virtual disk backing in bytes.\n\nIf missing or `null`, defaults to a guest-specific capacity.", - "format": "int64" - }, - "storage_policy": { - "description": "The Vcenter.Vm.Hardware.Disk.StoragePolicySpec schema contains information about the storage policy that is to be associated the with VMDK file.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the default storage policy of the target datastore (if applicable) is applied. Currently a default storage policy is only supported by object based datastores : VVol & vSAN. For non- object datastores, if missing or `null` then no storage policy would be associated with the VMDK file.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.StoragePolicySpec" - } - ] - } - }, - "description": "The Vcenter.Vm.Hardware.Disk.VmdkCreateSpec schema provides a specification for creating a new VMDK file to be used as a backing for a virtual disk. The virtual disk will be stored in the same directory as the virtual machine's configuration file." + "description": "The Vcenter.Vm.Hardware.Parallel.Info schema contains information about a virtual parallel port." }, - "Vcenter.Vm.Hardware.Cpu.Info": { + "Vcenter.Vm.Hardware.SataAddressInfo": { "required": [ - "cores_per_socket", - "count", - "hot_add_enabled", - "hot_remove_enabled" + "bus", + "unit" ], "type": "object", "properties": { - "count": { + "bus": { "type": "integer", - "description": "Number of CPU cores.", + "description": "Bus number of the adapter to which the device is attached.", "format": "int64" }, - "cores_per_socket": { + "unit": { "type": "integer", - "description": "Number of CPU cores per socket.", + "description": "Unit number of the device.", "format": "int64" - }, - "hot_add_enabled": { - "type": "boolean", - "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled." - }, - "hot_remove_enabled": { - "type": "boolean", - "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled." } }, - "description": "The Vcenter.Vm.Hardware.Cpu.Info schema contains CPU-related information about a virtual machine." + "description": "The Vcenter.Vm.Hardware.SataAddressInfo schema contains information about the address of a virtual device that is attached to a virtual SATA adapter of a virtual machine." }, - "Vapi.Std.LocalizationParam": { + "Vcenter.Vm.Hardware.SataAddressSpec": { + "required": [ + "bus" + ], "type": "object", - "properties": { - "s": { - "type": "string", - "description": "String value associated with the parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when string value is used." - }, - "dt": { - "type": "string", - "description": "Date and time value associated with the parameter. Use the format property to specify date and time display style.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when date and time value is used.", - "format": "date-time" - }, - "i": { - "type": "integer", - "description": "long value associated with the parameter.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when long value is used.", - "format": "int64" - }, - "d": { - "type": "number", - "description": "The double value associated with the parameter. The number of displayed fractional digits is changed via precision property.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when double value is used.", - "format": "double" - }, - "l": { - "description": "Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form enumerated type and boolean values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive Vapi.Std.NestedLocalizableMessage instances can be used for localizing short lists of items.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis property will be set when nested localization message value is used.", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.NestedLocalizableMessage" - } - ] - }, - "format": { - "type": "string", - "description": "Format associated with the date and time value in dt property. The enumeration value `SHORT_DATETIME` will be used as default.\n\nPossible values:\n - `SHORT_DATE`: The date and time value will be formatted as short date, for example *2019-01-28*\n - `MED_DATE`: The date and time value will be formatted as medium date, for example *2019 Jan 28*\n - `LONG_DATE`: The date and time value will be formatted as long date, for example *2019 Jan 28*\n - `FULL_DATE`: The date and time value will be formatted as full date, for example *2019 Jan 28, Mon*\n - `SHORT_TIME`: The date and time value will be formatted as short time, for example *12:59*\n - `MED_TIME`: The date and time value will be formatted as medium time, for example *12:59:01*\n - `LONG_TIME`: The date and time value will be formatted as long time, for example *12:59:01 Z*\n - `FULL_TIME`: The date and time value will be formatted as full time, for example *12:59:01 Z*\n - `SHORT_DATE_TIME`: The date and time value will be formatted as short date and time, for example *2019-01-28 12:59*\n - `MED_DATE_TIME`: The date and time value will be formatted as medium date and time, for example *2019 Jan 28 12:59:01*\n - `LONG_DATE_TIME`: The date and time value will be formatted as long date and time, for example *2019 Jan 28 12:59:01 Z*\n - `FULL_DATE_TIME`: The date and time value will be formatted as full date and time, for example *2019 Jan 28, Mon 12:59:01 Z*\n\n\nFor more information see: *Vapi.Std.LocalizationParam.DateTimeFormat*.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis may not be set if enumeration value `SHORT_DATETIME` default format is appropriate" + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.", + "format": "int64" }, - "precision": { + "unit": { "type": "integer", - "description": "Number of fractional digits to include in formatted double value.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nthis will be set when exact precision is required for rendering double numbers.", + "description": "Unit number of the device.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", "format": "int64" } }, - "description": "This schema holds a single message parameter and formatting settings for it. The schema has fields for string, long, double, date time and nested messages. Only one will be used depending on the type of data sent. For date, double and long it is possible to set additional formatting details.\n\nThis schema was added in __vSphere API 7.0.0.0__." + "description": "The Vcenter.Vm.Hardware.SataAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual SATA adapter of a virtual machine." }, - "Vapi.Std.Errors.NotAllowedInCurrentState": { + "Vcenter.Vm.Hardware.ScsiAddressInfo": { + "required": [ + "bus", + "unit" + ], "type": "object", - "description": "The Vapi.Std.Errors.NotAllowedInCurrentState error indicates that the requested operation is not allowed with a resource or service in its current state. This could be because the operation is performing a configuration change that is not allowed in the current state or because operation itself is not allowed in the current state. \n\n Examples: \n - Trying to add a virtual device that cannot be hot plugged to a running virtual machine. \n - Trying to upgrade the virtual hardware version for a suspended virtual machine. \n - Trying to power off, reset, or suspend a virtual machine that is not powered on. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. The *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n ", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" + "properties": { + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device is attached.", + "format": "int64" + }, + "unit": { + "type": "integer", + "description": "Unit number of the device.", + "format": "int64" } - ] + }, + "description": "The Vcenter.Vm.Hardware.ScsiAddressInfo schema contains information about the address of a virtual device that is attached to a virtual SCSI adapter of a virtual machine." }, - "Vcenter.Host.Summary": { + "Vcenter.Vm.Hardware.ScsiAddressSpec": { "required": [ - "connection_state", - "host", - "name" + "bus" ], "type": "object", "properties": { - "host": { - "type": "string", - "description": "Identifier of the host.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." - }, - "name": { - "type": "string", - "description": "Name of the host." - }, - "connection_state": { - "type": "string", - "description": "Connection status of the host\n\nPossible values:\n - `CONNECTED`: Host is connected to the vCenter Server\n - `DISCONNECTED`: Host is disconnected from the vCenter Server\n - `NOT_RESPONDING`: VirtualCenter is not receiving heartbeats from the server. The state automatically changes to connected once heartbeats are received again.\n\n\nFor more information see: *Vcenter.Host.ConnectionState*." - }, - "power_state": { - "type": "string", - "description": "Power state of the host\n\nPossible values:\n - `POWERED_ON`: The host is powered on. A host that is entering standby mode is also in this state.\n - `POWERED_OFF`: The host was specifically powered off by the user through vCenter server. This state is not a certain state, because after vCenter server issues the command to power off the host, the host might crash, or kill all the processes but fail to power off.\n - `STANDBY`: The host was specifically put in standby mode, either explicitly by the user, or automatically by DPM. This state is not a certain state, because after VirtualCenter issues the command to put the host in standby state, the host might crash, or kill all the processes but fail to enter standby mode. A host that is exiting standby mode is also in this state.\n\n\nFor more information see: *Vcenter.Host.PowerState*.\n\nThis property is optional and it is only relevant when the value of connection_state is *Vcenter.Host.ConnectionState.CONNECTED*." + "bus": { + "type": "integer", + "description": "Bus number of the adapter to which the device should be attached.", + "format": "int64" }, - "host_uuid": { - "type": "string", - "description": "UUID of the host. Maps to \"UUID\" in SMBIOS: System Information (Type 1) and offset 08h\n\nThis property was added in __vSphere API 9.0.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node." + "unit": { + "type": "integer", + "description": "Unit number of the device.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", + "format": "int64" } }, - "description": "The Vcenter.Host.Summary schema contains commonly used information about a host in vCenter Server." + "description": "The Vcenter.Vm.Hardware.ScsiAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual SCSI adapter of a virtual machine." }, "Vcenter.Vm.Hardware.Serial.BackingInfo": { "required": [ @@ -3711,252 +12312,79 @@ }, "description": "The Vcenter.Vm.Hardware.Serial.BackingInfo schema contains information about the physical resource backing a virtual serial port." }, - "Vcenter.Vm.Hardware.Info": { - "required": [ - "upgrade_policy", - "upgrade_status", - "version" - ], - "type": "object", - "properties": { - "version": { - "type": "string", - "description": "Virtual hardware version.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*." - }, - "upgrade_policy": { - "type": "string", - "description": "Scheduled upgrade policy.\n\nPossible values:\n - `NEVER`: Do not upgrade the virtual machine when it is powered on.\n - `AFTER_CLEAN_SHUTDOWN`: Run scheduled upgrade when the virtual machine is powered on after a clean shutdown of the guest operating system.\n - `ALWAYS`: Run scheduled upgrade when the virtual machine is powered on.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradePolicy*." - }, - "upgrade_version": { - "type": "string", - "description": "Target hardware version to be used on the next scheduled virtual hardware upgrade.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nThis property is optional and it is only relevant when the value of upgrade_policy is one of *Vcenter.Vm.Hardware.UpgradePolicy.AFTER_CLEAN_SHUTDOWN* or *Vcenter.Vm.Hardware.UpgradePolicy.ALWAYS*." - }, - "upgrade_status": { - "type": "string", - "description": "Scheduled upgrade status.\n\nPossible values:\n - `NONE`: No scheduled upgrade has been attempted.\n - `PENDING`: Upgrade is scheduled but has not yet been run.\n - `SUCCESS`: The most recent scheduled upgrade was successful.\n - `FAILED`: The most recent scheduled upgrade was not successful.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradeStatus*." - }, - "upgrade_error": { - "type": "object", - "description": "Reason for the scheduled upgrade failure.\n\nThis property is optional and it is only relevant when the value of upgrade_status is *Vcenter.Vm.Hardware.UpgradeStatus.FAILED*." - } - }, - "description": "The Vcenter.Vm.Hardware.Info schema contains information related to the virtual hardware of a virtual machine." - }, - "Vcenter.Vm.Hardware.Disk.BackingSpec": { - "required": [ - "type" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Backing type for the virtual disk.\n\nPossible values:\n - `VMDK_FILE`: Virtual disk is backed by a VMDK file.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.BackingType*." - }, - "vmdk_file": { - "type": "string", - "description": "Path of the VMDK file backing the virtual disk.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.BackingType.VMDK_FILE*." - } - }, - "description": "The Vcenter.Vm.Hardware.Disk.BackingSpec schema provides a specification of the physical resource backing a virtual disk." - }, - "Vapi.Std.NestedLocalizableMessage": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier of the localizable string or message template. \n\n This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.\n\nThis property was added in __vSphere API 7.0.0.0__." - }, - "params": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vapi.Std.LocalizationParam" - }, - "description": "Named Arguments to be substituted into the message template.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nservices will not populate this field when there are no parameters to be substituted" - } - }, - "description": "The Vapi.Std.NestedLocalizableMessage schema represents a nested within a parameter localizable string or message template. This schema is useful for modeling composite messages. Such messages are necessary to do correct pluralization of phrases, represent lists of several items etc.\n\nThis schema was added in __vSphere API 7.0.0.0__." - }, - "Vcenter.Vm.Hardware.Disk.Info": { + "Vcenter.Vm.Hardware.Serial.BackingSpec": { "required": [ - "backing", - "label", "type" ], "type": "object", "properties": { - "label": { - "type": "string", - "description": "Device label." - }, "type": { "type": "string", - "description": "Type of host bus adapter to which the device is attached.\n\nPossible values:\n - `IDE`: Disk is attached to an IDE adapter.\n - `SCSI`: Disk is attached to a SCSI adapter.\n - `SATA`: Disk is attached to a SATA adapter.\n - `NVME`: Disk is attached to a NVMe adapter.\n\nThis constant was added in __vSphere API 7.0.0.1__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Disk.HostBusAdapterType*." - }, - "ide": { - "description": "Address of device attached to a virtual IDE adapter.\n\nWorkaround for PR1459646", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.IdeAddressInfo" - } - ] - }, - "scsi": { - "description": "Address of device attached to a virtual SCSI adapter.\n\nWorkaround for PR1459646", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressInfo" - } - ] - }, - "sata": { - "description": "Address of device attached to a virtual SATA adapter.\n\nWorkaround for PR1459646", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.SataAddressInfo" - } - ] - }, - "nvme": { - "description": "Address of device attached to a virtual NVMe adapter.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Disk.HostBusAdapterType.NVME*.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.NvmeAddressInfo" - } - ] - }, - "backing": { - "description": "Physical resource backing for the virtual disk.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingInfo" - } - ] - }, - "capacity": { - "type": "integer", - "description": "Capacity of the virtual disk in bytes.\n\nIf missing or `null`, virtual disk is inaccessible or disk capacity is 0.", - "format": "int64" - } - }, - "description": "The Vcenter.Vm.Hardware.Disk.Info schema contains information about a virtual disk." - }, - "Vapi.Std.Errors.Error": { - "required": [ - "error_type", - "messages" - ], - "type": "object", - "properties": { - "messages": { - "type": "array", - "description": "Stack of one or more localizable messages for human error consumers. \n\n The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked. \n\n Each subsequent message in the stack describes the \"cause\" of the prior message.", - "items": { - "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" - } - }, - "data": { - "type": "object", - "description": "Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. \n\n Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports. \n\n The *Vapi.Std.Errors.ArgumentLocations*, *Vapi.Std.Errors.FileLocations*, and *Vapi.Std.Errors.TransientIndication* schemas are intended as possible values for this property. *Vapi.Std.DynamicID* may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.\n\nSome operations will not set this property when reporting errors." + "description": "Backing type for the virtual serial port.\n\nPossible values:\n - `FILE`: Virtual serial port is backed by a file.\n - `HOST_DEVICE`: Virtual serial port is backed by a device on the host where the virtual machine is running.\n - `PIPE_SERVER`: Virtual serial port is backed by a named pipe server. The virtual machine will accept a connection from a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `PIPE_CLIENT`: Virtual serial port is backed by a named pipe client. The virtual machine will connect to the named pipe provided by a host application or another virtual machine on the same host. This is useful for capturing debugging information sent through the virtual serial port.\n - `NETWORK_SERVER`: Virtual serial port is backed by a network server. This backing may be used to create a network-accessible serial port on the virtual machine, accepting a connection from a remote system.\n - `NETWORK_CLIENT`: Virtual serial port is backed by a network client. This backing may be used to create a network-accessible serial port on the virtual machine, initiating a connection to a remote system.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Serial.BackingType*." }, - "error_type": { + "file": { "type": "string", - "description": "Discriminator field to help API consumers identify the structure type.\n\nPossible values:\n - `ERROR`: Discriminator for the *Vapi.Std.Errors.Error* type.\n - `ALREADY_EXISTS`: Discriminator for the *Vapi.Std.Errors.AlreadyExists* type.\n - `ALREADY_IN_DESIRED_STATE`: Discriminator for the *Vapi.Std.Errors.AlreadyInDesiredState* type.\n - `CANCELED`: Discriminator for the *Vapi.Std.Errors.Canceled* type.\n - `CONCURRENT_CHANGE`: Discriminator for the *Vapi.Std.Errors.ConcurrentChange* type.\n - `FEATURE_IN_USE`: Discriminator for the *Vapi.Std.Errors.FeatureInUse* type.\n - `INTERNAL_SERVER_ERROR`: Discriminator for the *Vapi.Std.Errors.InternalServerError* type.\n - `INVALID_ARGUMENT`: Discriminator for the *Vapi.Std.Errors.InvalidArgument* type.\n - `INVALID_ELEMENT_CONFIGURATION`: Discriminator for the *Vapi.Std.Errors.InvalidElementConfiguration* type.\n - `INVALID_ELEMENT_TYPE`: Discriminator for the *Vapi.Std.Errors.InvalidElementType* type.\n - `INVALID_REQUEST`: Discriminator for the *Vapi.Std.Errors.InvalidRequest* type.\n - `NOT_ALLOWED_IN_CURRENT_STATE`: Discriminator for the *Vapi.Std.Errors.NotAllowedInCurrentState* type.\n - `NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.NotFound* type.\n - `OPERATION_NOT_FOUND`: Discriminator for the *Vapi.Std.Errors.OperationNotFound* type.\n - `RESOURCE_BUSY`: Discriminator for the *Vapi.Std.Errors.ResourceBusy* type.\n - `RESOURCE_IN_USE`: Discriminator for the *Vapi.Std.Errors.ResourceInUse* type.\n - `RESOURCE_INACCESSIBLE`: Discriminator for the *Vapi.Std.Errors.ResourceInaccessible* type.\n - `SERVICE_UNAVAILABLE`: Discriminator for the *Vapi.Std.Errors.ServiceUnavailable* type.\n - `TIMED_OUT`: Discriminator for the *Vapi.Std.Errors.TimedOut* type.\n - `UNABLE_TO_ALLOCATE_RESOURCE`: Discriminator for the *Vapi.Std.Errors.UnableToAllocateResource* type.\n - `UNAUTHENTICATED`: Discriminator for the *Vapi.Std.Errors.Unauthenticated* type.\n - `UNAUTHORIZED`: Discriminator for the *Vapi.Std.Errors.Unauthorized* type.\n - `UNEXPECTED_INPUT`: Discriminator for the *Vapi.Std.Errors.UnexpectedInput* type.\n - `UNSUPPORTED`: Discriminator for the *Vapi.Std.Errors.Unsupported* type.\n - `UNVERIFIED_PEER`: Discriminator for the *Vapi.Std.Errors.UnverifiedPeer* type.\n\n\nFor more information see: *Vapi.Std.Errors.Error.Type*.\n\nThis property was added in __vSphere API 6.7.2__.\n\nCan be missing or `null` for compatibility with preceding implementations." - } - }, - "description": "The Vapi.Std.Errors.Error error describes theproperties common to all standard errors. \n\n This error serves two purposes: \n 1. It is the error that clients in many programming languages can catch to handle all standard errors. Typically those clients will display one or more of the localizable messages from *Vapi.Std.Errors.Error.messages* to a human. \n 2. It is the error that operations can report when they need to report some error, but the error doesn't fit into any other standard error, and in fact the only reasonable way for a client to react to the error is to display the message(s) to a human. \n ", - "discriminator": { - "propertyName": "error_type", - "mapping": { - "ALREADY_EXISTS": "#/components/schemas/Vapi.Std.Errors.AlreadyExists", - "ALREADY_IN_DESIRED_STATE": "#/components/schemas/Vapi.Std.Errors.AlreadyInDesiredState", - "CANCELED": "#/components/schemas/Vapi.Std.Errors.Canceled", - "CONCURRENT_CHANGE": "#/components/schemas/Vapi.Std.Errors.ConcurrentChange", - "ERROR": "#/components/schemas/Vapi.Std.Errors.Error", - "FEATURE_IN_USE": "#/components/schemas/Vapi.Std.Errors.FeatureInUse", - "INTERNAL_SERVER_ERROR": "#/components/schemas/Vapi.Std.Errors.InternalServerError", - "INVALID_ARGUMENT": "#/components/schemas/Vapi.Std.Errors.InvalidArgument", - "INVALID_ELEMENT_CONFIGURATION": "#/components/schemas/Vapi.Std.Errors.InvalidElementConfiguration", - "INVALID_ELEMENT_TYPE": "#/components/schemas/Vapi.Std.Errors.InvalidElementType", - "INVALID_REQUEST": "#/components/schemas/Vapi.Std.Errors.InvalidRequest", - "NOT_ALLOWED_IN_CURRENT_STATE": "#/components/schemas/Vapi.Std.Errors.NotAllowedInCurrentState", - "NOT_FOUND": "#/components/schemas/Vapi.Std.Errors.NotFound", - "OPERATION_NOT_FOUND": "#/components/schemas/Vapi.Std.Errors.OperationNotFound", - "RESOURCE_BUSY": "#/components/schemas/Vapi.Std.Errors.ResourceBusy", - "RESOURCE_IN_USE": "#/components/schemas/Vapi.Std.Errors.ResourceInUse", - "RESOURCE_INACCESSIBLE": "#/components/schemas/Vapi.Std.Errors.ResourceInaccessible", - "SERVICE_UNAVAILABLE": "#/components/schemas/Vapi.Std.Errors.ServiceUnavailable", - "TIMED_OUT": "#/components/schemas/Vapi.Std.Errors.TimedOut", - "UNABLE_TO_ALLOCATE_RESOURCE": "#/components/schemas/Vapi.Std.Errors.UnableToAllocateResource", - "UNAUTHENTICATED": "#/components/schemas/Vapi.Std.Errors.Unauthenticated", - "UNAUTHORIZED": "#/components/schemas/Vapi.Std.Errors.Unauthorized", - "UNEXPECTED_INPUT": "#/components/schemas/Vapi.Std.Errors.UnexpectedInput", - "UNSUPPORTED": "#/components/schemas/Vapi.Std.Errors.Unsupported", - "UNVERIFIED_PEER": "#/components/schemas/Vapi.Std.Errors.UnverifiedPeer" - } - } - }, - "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy": { - "required": [ - "type" - ], - "type": "object", - "properties": { - "type": { + "description": "Path of the file backing the virtual serial port.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Serial.BackingType.FILE*." + }, + "host_device": { "type": "string", - "description": "Policy type to be used when creating the deployed virtual machine's configuration and log files.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the source virtual machine template's configuration and log files.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." + "description": "Name of the device backing the virtual serial port. \n\n\n\nIf missing or `null`, the virtual serial port will be configured to automatically detect a suitable host device." }, - "policy": { + "pipe": { "type": "string", - "description": "Identifier for the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + "description": "Name of the pipe backing the virtual serial port.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.PIPE_CLIENT*." + }, + "no_rx_loss": { + "type": "boolean", + "description": "Flag that enables optimized data transfer over the pipe. When the value is true, the host buffers data to prevent data overrun. This allows the virtual machine to read all of the data transferred over the pipe with no data loss.\n\nIf missing or `null`, defaults to false." + }, + "network_location": { + "type": "string", + "description": "URI specifying the location of the network service backing the virtual serial port. \n - If *Vcenter.Vm.Hardware.Serial.BackingSpec.type* is *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_SERVER*, this property is the location used by clients to connect to this server. The hostname part of the URI should either be empty or should specify the address of the host on which the virtual machine is running.\n - If *Vcenter.Vm.Hardware.Serial.BackingSpec.type* is *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_CLIENT*, this property is the location used by the virtual machine to connect to the remote server.\n \n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_SERVER* or *Vcenter.Vm.Hardware.Serial.BackingType.NETWORK_CLIENT*.", + "format": "uri" + }, + "proxy": { + "type": "string", + "description": "Proxy service that provides network access to the network backing. If set, the virtual machine initiates a connection with the proxy service and forwards the traffic to the proxy.\n\nIf missing or `null`, no proxy service should be used.", + "format": "uri" } }, - "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy schema defines the storage policy specification for the deployed virtual machine's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.Vm.Hardware.Serial.BackingSpec schema provides a specification of the physical resource backing a virtual serial port." }, - "Vapi.Std.LocalizableMessage": { - "required": [ - "args", - "default_message", - "id" - ], + "Vcenter.Vm.Hardware.Serial.CreateSpec": { "type": "object", "properties": { - "id": { - "type": "string", - "description": "Unique identifier of the localizable string or message template. \n\n This identifier is typically used to retrieve a locale-specific string or message template from a message catalog." - }, - "default_message": { - "type": "string", - "description": "The value of this localizable string or message template in the `en_US` (English) locale. If *Vapi.Std.LocalizableMessage.id* refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog." + "yield_on_poll": { + "type": "boolean", + "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host.\n\nIf missing or `null`, defaults to false." }, - "args": { - "type": "array", - "description": "Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.", - "items": { - "type": "string" - } + "backing": { + "description": "Physical resource backing for the virtual serial port.\n\nIf missing or `null`, defaults to automatic detection of a suitable host device.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.BackingSpec" + } + ] }, - "params": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vapi.Std.LocalizationParam" - }, - "description": "Named arguments to be substituted into the message template.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nMissing or `null` means that the message template requires no arguments or positional arguments are used." + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on.\n\nDefaults to false if missing or `null`." }, - "localized": { - "type": "string", - "description": "Localized string value as per request requirements.\n\nThis property was added in __vSphere API 7.0.0.0__.\n\nwhen the client has not requested specific locale the implementation may not populate this field to conserve resources." + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device.\n\nDefaults to false if missing or `null`." } }, - "description": "The Vapi.Std.LocalizableMessage schema represents localizable string and message template. Resources include one or more localizable message templates in the errors they report so that clients can display diagnostic messages in the native language of the user. Resources can include localizable strings in the data returned from operations to allow clients to display localized status information in the native language of the user." + "description": "The Vcenter.Vm.Hardware.Serial.CreateSpec schema provides a specification for the configuration of a newly-created virtual serial port." }, - "Vcenter.Vm.Hardware.Adapter.Sata.Info": { + "Vcenter.Vm.Hardware.Serial.Info": { "required": [ - "bus", + "allow_guest_control", + "backing", "label", - "type" + "start_connected", + "state", + "yield_on_poll" ], "type": "object", "properties": { @@ -3964,287 +12392,379 @@ "type": "string", "description": "Device label." }, - "type": { + "yield_on_poll": { + "type": "boolean", + "description": "CPU yield behavior. If set to true, the virtual machine will periodically relinquish the processor if its sole task is polling the virtual serial port. The amount of time it takes to regain the processor will depend on the degree of other virtual machine activity on the host." + }, + "backing": { + "description": "Physical resource backing for the virtual serial port.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.BackingInfo" + } + ] + }, + "state": { "type": "string", - "description": "Adapter type.\n\nPossible values:\n - `AHCI`: AHCI host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Sata.Type*." + "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." }, - "bus": { - "type": "integer", - "description": "SATA bus number.", - "format": "int64" + "start_connected": { + "type": "boolean", + "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." }, - "pci_slot_number": { - "type": "integer", - "description": "Address of the SATA adapter on the PCI bus.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", - "format": "int64" + "allow_guest_control": { + "type": "boolean", + "description": "Flag indicating whether the guest can connect and disconnect the device." } }, - "description": "The Vcenter.Vm.Hardware.Adapter.Sata.Info schema contains information about a virtual SATA adapter." + "description": "The Vcenter.Vm.Hardware.Serial.Info schema contains information about a virtual serial port." }, - "Vcenter.Vm.Hardware.Boot.Info": { + "Vcenter.Vm.Hardware.UpdateSpec": { + "type": "object", + "properties": { + "upgrade_policy": { + "type": "string", + "description": "Scheduled upgrade policy. \n\n If set to *Vcenter.Vm.Hardware.UpgradePolicy.NEVER*, the *Vcenter.Vm.Hardware.Info.upgrade_version* property will be reset to missing or `null`.\n\nPossible values:\n - `NEVER`: Do not upgrade the virtual machine when it is powered on.\n - `AFTER_CLEAN_SHUTDOWN`: Run scheduled upgrade when the virtual machine is powered on after a clean shutdown of the guest operating system.\n - `ALWAYS`: Run scheduled upgrade when the virtual machine is powered on.\n\n\nFor more information see: *Vcenter.Vm.Hardware.UpgradePolicy*.\n\nIf missing or `null`, the value is unchanged." + }, + "upgrade_version": { + "type": "string", + "description": "Target hardware version to be used on the next scheduled virtual hardware upgrade. \n\n If specified, this property must represent a newer virtual hardware version than the current virtual hardware version reported in *Vcenter.Vm.Hardware.Info.version*.\n\nPossible values:\n - `VMX_03`: Hardware version 3, first supported in ESXi 2.5.\n - `VMX_04`: Hardware version 4, first supported in ESXi 3.0.\n - `VMX_06`: Hardware version 6, first supported in WS 6.0.\n - `VMX_07`: Hardware version 7, first supported in ESXi 4.0.\n - `VMX_08`: Hardware version 8, first supported in ESXi 5.0.\n - `VMX_09`: Hardware version 9, first supported in ESXi 5.1.\n - `VMX_10`: Hardware version 10, first supported in ESXi 5.5.\n - `VMX_11`: Hardware version 11, first supported in ESXi 6.0.\n - `VMX_12`: Hardware version 12, first supported in Workstation 12.0.\n - `VMX_13`: Hardware version 13, first supported in ESXi 6.5.\n - `VMX_14`: Hardware version 14, first supported in ESXi 6.7.\n\nThis constant was added in __vSphere API 6.7__.\n - `VMX_15`: Hardware version 15, first supported in ESXi 6.7 Update 2.\n\nThis constant was added in __vSphere API 6.7.2__.\n - `VMX_16`: Hardware version 16, first supported in Workstation 15.0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_17`: Hardware version 17, first supported in ESXi 7.0.0-0.\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMX_18`: Hardware version 18, first supported in ESXi 7.0 U1.\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `VMX_19`: Hardware version 19, first supported in ESXi 7.0 U2.\n\nThis constant was added in __vSphere API 7.0.2.0__.\n - `VMX_20`: Hardware version 20, first supported in ESXi 8.0.0.1.\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMX_21`: Hardware version 21, first supported in ESXi 8.0 U2.\n\nThis constant was added in __vSphere API 8.0.2.0__.\n - `VMX_22`: Hardware version 22, first supported in ESXi 9.0.\n\nThis constant was added in __vSphere API 9.0.0.0__.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Version*.\n\nIf *Vcenter.Vm.Hardware.UpdateSpec.upgrade_policy* is set to *Vcenter.Vm.Hardware.UpgradePolicy.NEVER*, this property must be missing or `null`. Otherwise, if this property is missing or `null`, default to the most recent virtual hardware version supported by the server." + } + }, + "description": "The Vcenter.Vm.Hardware.UpdateSpec schema describes the updates to virtual hardware settings of a virtual machine." + }, + "Vcenter.Vm.Identity.Info": { "required": [ - "delay", - "enter_setup_mode", - "retry", - "retry_delay", - "type" + "bios_uuid", + "instance_uuid", + "name" ], "type": "object", "properties": { - "type": { + "name": { "type": "string", - "description": "Firmware type used by the virtual machine.\n\nPossible values:\n - `BIOS`: Basic Input/Output System (BIOS) firmware.\n - `EFI`: Extensible Firmware Interface (EFI) firmware.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Type*." - }, - "efi_legacy_boot": { - "type": "boolean", - "description": "Flag indicating whether to use EFI legacy boot mode.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Type.EFI*." + "description": "Virtual machine name.\n\nThis property was added in __vSphere API 6.7.1__." }, - "network_protocol": { + "bios_uuid": { "type": "string", - "description": "Protocol to use when attempting to boot the virtual machine over the network.\n\nPossible values:\n - `IPV4`: PXE or Apple NetBoot over IPv4.\n - `IPV6`: PXE over IPv6.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.NetworkProtocol*.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Type.EFI*." - }, - "delay": { - "type": "integer", - "description": "Delay in milliseconds before beginning the firmware boot process when the virtual machine is powered on. This delay may be used to provide a time window for users to connect to the virtual machine console and enter BIOS setup mode.", - "format": "int64" - }, - "retry": { - "type": "boolean", - "description": "Flag indicating whether the virtual machine will automatically retry the boot process after a failure." - }, - "retry_delay": { - "type": "integer", - "description": "Delay in milliseconds before retrying the boot process after a failure; applicable only when *Vcenter.Vm.Hardware.Boot.Info.retry* is true.", - "format": "int64" + "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nThis property was added in __vSphere API 6.7.1__." }, - "enter_setup_mode": { - "type": "boolean", - "description": "Flag indicating whether the firmware boot process will automatically enter setup mode the next time the virtual machine boots. Note that this flag will automatically be reset to false once the virtual machine enters setup mode." + "instance_uuid": { + "type": "string", + "description": "VirtualCenter-specific 128-bit UUID of a virtual machine, represented as a hexadecimal string. This identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID.\n\nThis property was added in __vSphere API 6.7.1__." } }, - "description": "The Vcenter.Vm.Hardware.Boot.Info schema contains information about the virtual machine boot process." + "description": "The Vcenter.Vm.Identity.Info schema contains information about the identity of a virtual machine.\n\nThis schema was added in __vSphere API 6.7.1__." }, - "Vcenter.Host.FilterSpec": { + "Vcenter.Vm.Power.Info": { + "required": [ + "state" + ], "type": "object", "properties": { - "standalone": { + "state": { + "type": "string", + "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." + }, + "clean_power_off": { "type": "boolean", - "description": "If true, only hosts that are not part of a cluster can match the filter, and if false, only hosts that are are part of a cluster can match the filter.\n\nIf missing or `null` Hosts can match filter independent of whether they are part of a cluster or not. If this field is true and *Vcenter.Host.FilterSpec.clusters* is not empty, no hosts will match the filter." + "description": "Flag indicating whether the virtual machine was powered off cleanly. This property may be used to detect that the virtual machine crashed unexpectedly and should be restarted.\n\nThis property is optional and it is only relevant when the value of state is *Vcenter.Vm.Power.State.POWERED_OFF*." } }, - "description": "The Vcenter.Host.FilterSpec schema contains properties used to filter the results when listing hosts (see *GET /vcenter/host*). If multiple properties are specified, only hosts matching all of the properties match the filter." + "description": "The Vcenter.Vm.Power.Info schema contains information about the power state of a virtual machine." }, - "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage": { + "Vcenter.Vm.Storage.Policy.Compliance.CheckSpec": { + "required": [ + "vm_home" + ], "type": "object", "properties": { - "datastore": { - "type": "string", - "description": "Identifier of the datastore for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n When storage_policy is also specified and is incompatible with the datastore, then the deployed virtual machine will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + "vm_home": { + "type": "boolean", + "description": "Invoke compliance check on the virtual machine home directory if set to true.\n\nThis property was added in __vSphere API 6.7__." }, - "storage_policy": { - "description": "Storage policy for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the deployed virtual machine's configuration and log files are created with the default storage policy associated with the datastore.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy" - } - ] + "disks": { + "uniqueItems": true, + "type": "array", + "description": "Identifiers of the virtual machine's virtual disks for which compliance should be checked.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` or empty, compliance check is invoked on all the associated disks.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } } }, - "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage schema defines the storage specification for a deployed virtual machine's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.Vm.Storage.Policy.Compliance.CheckSpec schema contains properties used to specify the entities on which the storage policy compliance check is to be invoked.\n\nThis schema was added in __vSphere API 6.7__." }, - "Vcenter.Vm.Hardware.Disk.UpdateSpec": { + "Vcenter.Vm.Storage.Policy.Compliance.Info": { + "required": [ + "disks", + "overall_compliance" + ], "type": "object", "properties": { - "backing": { - "description": "Physical resource backing for the virtual disk. \n\n This property may only be modified if the virtual machine is not powered on.\n\nIf missing or `null`, the value is unchanged.", + "overall_compliance": { + "type": "string", + "description": "The overall compliance status of the virtual machine and all it's entities.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirements that apply to the datastore on which it is placed.\n - `OUT_OF_DATE`: The Compliance status becomes out-of-date when the profile associated with the entity is edited but not applied. The compliance status remains out-of-date until the edited policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Vm.Storage.Policy.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__." + }, + "vm_home": { + "description": "The storage policy compliance information *Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo* for the virtual machine's home directory.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` the virtual machine home directory has no storage policy association.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.BackingSpec" + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo" } ] + }, + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo" + }, + "description": "The compliance information *Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo* for the virtual machine's virtual disks that are currently associated with a storage policy.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." } }, - "description": "The Vcenter.Vm.Hardware.Disk.UpdateSpec schema describes the updates to be made to the configuration of a virtual disk." + "description": "The Vcenter.Vm.Storage.Policy.Compliance.Info schema contains information about the storage policy compliance of a virtual machine, including information about it's home directory and/or it's virtual disks.\n\nThis schema was added in __vSphere API 6.7__.", + "nullable": true }, - "Vcenter.Vm.Hardware.Ethernet.BackingInfo": { + "Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo": { "required": [ - "type" + "check_time", + "failure_cause", + "status" ], "type": "object", "properties": { - "type": { - "type": "string", - "description": "Backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.BackingType*." - }, - "network": { - "type": "string", - "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nIf missing or `null`, the identifier of the network backing could not be determined.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." - }, - "network_name": { - "type": "string", - "description": "Name of the standard portgroup backing the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.STANDARD_PORTGROUP*." - }, - "host_device": { + "status": { "type": "string", - "description": "Name of the device backing the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.HOST_DEVICE*." + "description": "Status of the compliance operation.\n\nPossible values:\n - `COMPLIANT`: Entity is in compliance.\n - `NON_COMPLIANT`: Entity is out of compliance.\n - `UNKNOWN_COMPLIANCE`: Compliance status of the entity is not known.\n - `NOT_APPLICABLE`: Compliance computation is not applicable for this entity because it does not have any storage requirements that apply to the datastore on which it is placed.\n - `OUT_OF_DATE`: The Compliance status becomes out-of-date when the profile associated with the entity is edited but not applied. The compliance status remains out-of-date until the edited policy is applied to the entity.\n\n\nFor more information see: *Vcenter.Vm.Storage.Policy.Compliance.Status*.\n\nThis property was added in __vSphere API 6.7__." }, - "distributed_switch_uuid": { + "check_time": { "type": "string", - "description": "UUID of the distributed virtual switch that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.DISTRIBUTED_PORTGROUP*." + "description": "Date and time of the most recent compliance check.\n\nThis property was added in __vSphere API 6.7__.", + "format": "date-time" }, - "distributed_port": { + "policy": { "type": "string", - "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter.\n\nThis property will be missing or `null` if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected." - }, - "connection_cookie": { - "type": "integer", - "description": "Server-generated cookie that identifies the connection to the port. This cookie may be used to verify that the virtual machine is the rightful owner of the port.\n\nThis property will be missing or `null` if the virtual Ethernet device is not bound to a distributed virtual port; this can happen if the virtual machine is powered off or the virtual Ethernet device is not connected.", - "format": "int64" + "description": "Identifier of the storage policy associated with the virtual machine.\n\nThis property was added in __vSphere API 6.7__.\n\nIf missing or `null` SPBM is unable to retrieve or determine the associated policy, *Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo.failure_cause* is set in such cases.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." }, - "opaque_network_type": { + "failure_cause": { + "type": "array", + "description": "The exception that caused the compliance check to fail. There can be more than one cause, since a policy can contain capabilities from multiple providers. If empty, it implies no failures while retrieving compliance.\n\nThis property was added in __vSphere API 6.7__.", + "items": { + "$ref": "#/components/schemas/Vapi.Std.LocalizableMessage" + } + } + }, + "description": "The Vcenter.Vm.Storage.Policy.Compliance.VmComplianceInfo schema contains information about storage policy compliance associated with a virtual machine.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Storage.Policy.DiskPolicySpec": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { "type": "string", - "description": "Type of the opaque network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*." + "description": "Policy type to be used while performing update operation on the virtual disks.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy (see *Vcenter.Vm.Storage.Policy.DiskPolicySpec.policy*).\n - `USE_DEFAULT_POLICY`: Use the default storage policy of the datastore.\n\n\nFor more information see: *Vcenter.Vm.Storage.Policy.DiskPolicySpec.PolicyType*.\n\nThis property was added in __vSphere API 6.7__." }, - "opaque_network_id": { + "policy": { "type": "string", - "description": "Identifier of the opaque network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*." + "description": "Storage Policy identification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Storage.Policy.DiskPolicySpec.PolicyType.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." } }, - "description": "The Vcenter.Vm.Hardware.Ethernet.BackingInfo schema contains information about the physical resource backing a virtual Ethernet adapter." + "description": "The Vcenter.Vm.Storage.Policy.DiskPolicySpec schema provides a specification for the storage policy to be associated with the virtual disks.\n\nThis schema was added in __vSphere API 6.7__." }, - "Vcenter.Vm.Hardware.Floppy.Info": { - "required": [ - "allow_guest_control", - "backing", - "label", - "start_connected", - "state" + "Vcenter.Vm.Storage.Policy.Info": { + "required": [ + "disks" ], "type": "object", "properties": { - "label": { + "vm_home": { "type": "string", - "description": "Device label." + "description": "Storage Policy associated with virtual machine home.\n\nThis property was added in __vSphere API 6.7__.\n\nIfmissing or `null`, the virtual machine's home directory doesn't have any storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." }, - "backing": { - "description": "Physical resource backing for the virtual floppy drive.", + "disks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Storage policies associated with virtual disks. The values in this map are storage policy identifiers. They will be identifiers for the resource type:com.vmware.vcenter.StoragePolicy If the map is empty, the virtual machine does not have any disks or its disks are not associated with a storage policy.\n\nThis property was added in __vSphere API 6.7__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + } + }, + "description": "The Vcenter.Vm.Storage.Policy.Info schema contains information about the storage policies associated with virtual machine's home directory and virtual hard disks.\n\nThis schema was added in __vSphere API 6.7__." + }, + "Vcenter.Vm.Storage.Policy.UpdateSpec": { + "type": "object", + "properties": { + "vm_home": { + "description": "Storage policy to be used when reconfiguring the virtual machine home.\n\nThis property was added in __vSphere API 6.7__.\n\nif missing or `null` the current storage policy is retained.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.BackingInfo" + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.VmHomePolicySpec" } ] }, - "state": { - "type": "string", - "description": "Connection status of the virtual device.\n\nPossible values:\n - `CONNECTED`: The device is connected and working correctly.\n - `RECOVERABLE_ERROR`: Device connection failed due to a recoverable error; for example, the virtual device backing is currently in use by another virtual machine.\n - `UNRECOVERABLE_ERROR`: Device connection failed due to an unrecoverable error; for example, the virtual device backing does not exist.\n - `NOT_CONNECTED`: The device is not connected.\n - `UNKNOWN`: The device status is unknown.\n\n\nFor more information see: *Vcenter.Vm.Hardware.ConnectionState*." - }, - "start_connected": { - "type": "boolean", - "description": "Flag indicating whether the virtual device should be connected whenever the virtual machine is powered on." - }, - "allow_guest_control": { - "type": "boolean", - "description": "Flag indicating whether the guest can connect and disconnect the device." + "disks": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.Vm.Storage.Policy.DiskPolicySpec" + }, + "description": "Storage policy or policies to be used when reconfiguring virtual machine disk.\n\nThis property was added in __vSphere API 6.7__.\n\nif missing or `null` the current storage policy is retained.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." } }, - "description": "The Vcenter.Vm.Hardware.Floppy.Info schema contains information about a virtual floppy drive." + "description": "The Vcenter.Vm.Storage.Policy.UpdateSpec schema describes the updates to be made to the storage policies associated with the virtual machine home and/or its virtual disks.\n\nThis schema was added in __vSphere API 6.7__." }, - "Vcenter.Network.Summary": { + "Vcenter.Vm.Storage.Policy.VmHomePolicySpec": { "required": [ - "name", - "network", "type" ], "type": "object", "properties": { - "network": { - "type": "string", - "description": "Identifier of the network.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." - }, - "name": { + "type": { "type": "string", - "description": "Name of the network." + "description": "Policy type to be used while performing update operation on the virtual machine home's directory.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy (see *Vcenter.Vm.Storage.Policy.VmHomePolicySpec.policy*).\n - `USE_DEFAULT_POLICY`: Use the default storage policy of the datastore.\n\n\nFor more information see: *Vcenter.Vm.Storage.Policy.VmHomePolicySpec.PolicyType*.\n\nThis property was added in __vSphere API 6.7__." }, - "type": { + "policy": { "type": "string", - "description": "Type (Type) of the vCenter Server network.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup (created and managed on ESX)\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual portgroup (created and managed through vCenter)\n - `OPAQUE_NETWORK`: A network whose configuration is managed outside of vSphere. The identifier and name of the network is made available through vSphere so that host and virtual machine virtual ethernet devices can connect to them.\n\n\nFor more information see: *Vcenter.Network.Type*." + "description": "Storage Policy identification.\n\nThis property was added in __vSphere API 6.7__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Storage.Policy.VmHomePolicySpec.PolicyType.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.StoragePolicy`." } }, - "description": "The Vcenter.Network.Summary schema contains commonly used information about a network." + "description": "The Vcenter.Vm.Storage.Policy.VmHomePolicySpec schema provides a specification for the storage policy to be associated with the virtual machine home's directory.\n\nThis schema was added in __vSphere API 6.7__." }, - "Vcenter.ResourcePool.Summary": { + "Vcenter.VmTemplate.LibraryItems.CpuInfo": { "required": [ - "name", - "resource_pool" + "cores_per_socket", + "count" ], "type": "object", "properties": { + "count": { + "type": "integer", + "description": "Number of CPU cores.\n\nThis property was added in __vSphere API 6.8__.", + "format": "int64" + }, + "cores_per_socket": { + "type": "integer", + "description": "Number of CPU cores per socket.\n\nThis property was added in __vSphere API 6.8__.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CpuInfo schema contains CPU related information about the virtual machine template.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec": { + "type": "object", + "properties": { + "num_cpus": { + "type": "integer", + "description": "Number of virtual processors in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same CPU count as the source virtual machine template contained in the library item.", + "format": "int64" + }, + "num_cores_per_socket": { + "type": "integer", + "description": "Number of cores among which to distribute CPUs in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same number of cores per socket as the source virtual machine template contained in the library item.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec schema describes updates to the CPU configuration of the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec": { + "type": "object", + "properties": { + "folder": { + "type": "string", + "description": "Virtual machine folder into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual machine template will be placed in the same folder as the source virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + }, "resource_pool": { "type": "string", - "description": "Identifier of the resource pool.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + "description": "Resource pool into which the virtual machine template should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine template; if a resource pool cannot be chosen, the library item creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." }, - "name": { + "host": { "type": "string", - "description": "Name of the resource pool." + "description": "Host onto which the virtual machine template should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine template; if a host cannot be chosen, the library item creation operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the virtual machine template should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." } }, - "description": "The Vcenter.ResourcePool.Summary schema contains commonly used information about a resource pool in vCenter Server." + "description": "The Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec schema contains information used to place a virtual machine template onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec": { + "Vcenter.VmTemplate.LibraryItems.CreateSpec": { + "required": [ + "library", + "name", + "source_vm" + ], "type": "object", "properties": { - "nics": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec" - }, - "description": "Map of Ethernet network adapters to update.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, all Ethernet adapters will remain connected to the same network as they were in the source virtual machine template. An Ethernet adapter with a MacAddressType of MANUAL will not change. An Ethernet adapter with a MacAddressType of GENERATED or ASSIGNED will receive a new address.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." + "source_vm": { + "type": "string", + "description": "Identifier of the source virtual machine to create the library item from.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." }, - "disks_to_remove": { - "uniqueItems": true, - "type": "array", - "description": "Idenfiers of disks to remove from the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, all disks will be copied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", - "items": { - "type": "string" - } + "name": { + "type": "string", + "description": "Name of the library item.\n\nThis property was added in __vSphere API 6.8__." }, - "disks_to_update": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec" - }, - "description": "Disk update specification for individual disks in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, disks in the deployed virtual machine will have the same settings as the corresponding disks in the source virtual machine template contained in the library item.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + "description": { + "type": "string", + "description": "Description of the library item.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the newly created library item has the same description as the source virtual machine." }, - "cpu_update": { - "description": "CPU update specification for the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same CPU settings as the source virtual machine template contained in the library item.", + "library": { + "type": "string", + "description": "Identifier of the library in which the new library item should be created.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.content.Library`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.content.Library`." + }, + "vm_home_storage": { + "description": "Storage location for the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual machine template's configuration and log files are placed on the default storage backing associated with the library specified by library.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStorage" } ] }, - "memory_update": { - "description": "Memory update specification for the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same memory settings as the source virtual machine template contained in the library item.", + "disk_storage": { + "description": "Storage specification for the virtual machine template's disks.\n\nThis property was added in __vSphere API 6.8__.\n\nIf both disk_storage_overrides and disk_storage are missing or `null`, the virtual machine template's disks are placed in the default storage backing associated with the library specified by library. \n\n If disk_storage_overrides is missing or `null` and disk_storage is specified, all of the virtual machine template's disks are created with the storage spec specified by disk_storage. \n\n If disk_storage_overrides is specified and disk_storage is missing or `null`, disks with identifiers that are not in disk_storage_overrides are placed in the default storage backing associated with the library specified by library. \n\n If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage. ", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage" + } + ] + }, + "disk_storage_overrides": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage" + }, + "description": "Storage specification for individual disks in the virtual machine template. This is specified as a mapping between disk identifiers in the source virtual machine and their respective storage specifications.\n\nThis property was added in __vSphere API 6.8__.\n\nIf both disk_storage_overrides and disk_storage are missing or `null`, the virtual machine template's disks are placed in the default storage backing associated with the library specified by library. \n\n If disk_storage_overrides is missing or `null` and disk_storage is specified, all of the virtual machine template's disks are created with the storage spec specified by disk_storage. \n\n If disk_storage_overrides is specified and disk_storage is missing or `null`, disks with identifiers that are not in disk_storage_overrides are placed in the default storage backing associated with the library specified by library. \n\n If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage. \n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + }, + "placement": { + "description": "Information used to place the virtual machine template.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. In the future, if this property is missing or `null`, the system will place the virtual machine template on a suitable resource. \n\n If specified, each property will be used for placement. If the properties result in disjoint placement, the operation will fail. If the properties along with the placement values of the source virtual machine result in disjoint placement, the operation will fail. ", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreatePlacementSpec" } ] } }, - "description": "The Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec schema defines the hardware customization options that are applied to the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpec schema defines the information required to create a library item containing a virtual machine template.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec": { + "Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage": { "type": "object", "properties": { - "name": { + "datastore": { "type": "string", - "description": "Name of the customization specification.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, no guest customization is performed." + "description": "Identifier for the datastore associated with a virtual machine template's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If storage_policy is also specified and is incompatible with the datastore, then the disk will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "description": "Storage policy for a virtual machine template's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the virtual machine template's disk is created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy" + } + ] } }, - "description": "The Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec schema contains information required to customize the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStorage schema defines the storage specification for a virtual machine template's disks.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.Vm.Hardware.Ethernet.BackingSpec": { + "Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy": { "required": [ "type" ], @@ -4252,48 +12772,71 @@ "properties": { "type": { "type": "string", - "description": "Backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Ethernet.BackingType*." + "description": "Policy type to be used when creating a virtual machine template's disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." }, - "network": { + "policy": { "type": "string", - "description": "Identifier of the network that backs the virtual Ethernet adapter.\n\nThis property is optional and it is only relevant when the value of type is one of *Vcenter.Vm.Hardware.Ethernet.BackingType.STANDARD_PORTGROUP*, *Vcenter.Vm.Hardware.Ethernet.BackingType.DISTRIBUTED_PORTGROUP*, or *Vcenter.Vm.Hardware.Ethernet.BackingType.OPAQUE_NETWORK*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." - }, - "distributed_port": { + "description": "Identifier for the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpecDiskStoragePolicy schema defines the storage policy specification for a virtual machine template's disks.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStorage": { + "type": "object", + "properties": { + "datastore": { "type": "string", - "description": "Key of the distributed virtual port that backs the virtual Ethernet adapter. Depending on the type of the Portgroup, the port may be specified using this field. If the portgroup type is early-binding (also known as static), a port is assigned when the Ethernet adapter is configured to use the port. The port may be either automatically or specifically assigned based on the value of this property. If the portgroup type is ephemeral, the port is created and assigned to a virtual machine when it is powered on and the Ethernet adapter is connected. This property cannot be specified as no free ports exist before use.\n\nMay be used to specify a port when the network specified on the network property is a static or early binding distributed portgroup. If missing or `null`, the port will be automatically assigned to the Ethernet adapter based on the policy embodied by the portgroup type." + "description": "Identifier of the datastore for the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n When storage_policy is also specified and is incompatible with the datastore, then the virtual machine template will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." + }, + "storage_policy": { + "description": "Storage policy for the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the virtual machine template's configuration and log files are created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy" + } + ] } }, - "description": "The Vcenter.Vm.Hardware.Ethernet.BackingSpec schema provides a specification of the physical resource that backs a virtual Ethernet adapter." + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStorage schema defines the storage specification for a virtual machine template's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec": { + "Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy": { + "required": [ + "type" + ], "type": "object", "properties": { - "network": { + "type": { "type": "string", - "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If missing or `null`, the virtual Ethernet adapter will be connected to same network as it was in the source virtual machine template. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + "description": "Policy type to be used when creating the virtual machine template's configuration and log files.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." }, - "subnet": { + "policy": { "type": "string", - "description": "The Identifier of the subnet the virtual ethernet adapter connects to. It is only set when the virtual network adapter is connected to a subnet. If set, this will take precedence over the *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.network* property. If missing or `null`, virtual network adapter will not be connected to a subnet\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." + "description": "Identifier for the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." } }, - "description": "The Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec schema describes the network that the ethernet adapter of the deployed virtual machine should be connected to.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.VmTemplate.LibraryItems.CreateSpecVmHomeStoragePolicy schema defines the storage policy specification for a virtual machine template's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec": { + "Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec": { "type": "object", "properties": { - "num_cpus": { - "type": "integer", - "description": "Number of virtual processors in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same CPU count as the source virtual machine template contained in the library item.", - "format": "int64" + "folder": { + "type": "string", + "description": "Virtual machine folder into which the deployed virtual machine should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If missing or `null`, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine deployment operation will fail. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." }, - "num_cores_per_socket": { - "type": "integer", - "description": "Number of cores among which to distribute CPUs in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same number of cores per socket as the source virtual machine template contained in the library item.", - "format": "int64" + "resource_pool": { + "type": "string", + "description": "Resource pool into which the deployed virtual machine should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine deployment operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + }, + "host": { + "type": "string", + "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine deployment operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + }, + "cluster": { + "type": "string", + "description": "Cluster onto which the deployed virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." } }, - "description": "The Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec schema describes updates to the CPU configuration of the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec schema contains information used to place a virtual machine onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 6.8__." }, "Vcenter.VmTemplate.LibraryItems.DeploySpec": { "required": [ @@ -4348,118 +12891,47 @@ "description": "Guest customization spec to apply to the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the guest operating system is not customized after deployment.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec" - } - ] - }, - "hardware_customization": { - "description": "Hardware customization spec which specifies updates to the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same hardware configuration as the source virtual machine template contained in the library item.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec" - } - ] - }, - "tags": { - "type": "array", - "description": "List of tag parameters that contains information to attach tags while deploying a VM\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", - "items": { - "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.TagSpec" - } - } - }, - "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpec schema defines the deployment parameters that can be specified for the deploy operation.\n\nThis schema was added in __vSphere API 6.8__." - }, - "Vcenter.Datastore.Info": { - "required": [ - "accessible", - "multiple_host_access", - "name", - "thin_provisioning_supported", - "type" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the datastore." - }, - "type": { - "type": "string", - "description": "Type (Type) of the datastore.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*." - }, - "accessible": { - "type": "boolean", - "description": "Whether or not this datastore is accessible." - }, - "free_space": { - "type": "integer", - "description": "Available space of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the available space of this datastore is not known.", - "format": "int64" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec" + } + ] }, - "multiple_host_access": { - "type": "boolean", - "description": "Whether or not more than one host in the datacenter has been configured with access to the datastore." + "hardware_customization": { + "description": "Hardware customization spec which specifies updates to the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same hardware configuration as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec" + } + ] }, - "thin_provisioning_supported": { - "type": "boolean", - "description": "Whether or not the datastore supports thin provisioning on a per file basis. When thin provisioning is used, backing storage is lazily allocated." + "tags": { + "type": "array", + "description": "List of tag parameters that contains information to attach tags while deploying a VM\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.", + "items": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.TagSpec" + } } }, - "description": "The Vcenter.Datastore.Info schema contains information about a datastore." + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpec schema defines the deployment parameters that can be specified for the deploy operation.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.VmTemplate.LibraryItems.TagNameSpec": { - "required": [ - "category_name", - "tag_name" - ], + "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage": { "type": "object", "properties": { - "tag_name": { - "type": "string", - "description": "The name of the tag to attach.\n\nThis property was added in __vSphere API 9.1.0.0__." - }, - "category_name": { + "datastore": { "type": "string", - "description": "The name of the vSphere category that this tag belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__." - } - }, - "description": "Represents a vSphere tag by its name and its respective category's name.\n\nThis schema was added in __vSphere API 9.1.0.0__." - }, - "Vapi.Std.Errors.AlreadyInDesiredState": { - "type": "object", - "description": "The Vapi.Std.Errors.AlreadyInDesiredState error indicates that an attempt to change the state of a resource or service had no effect because the resource or service is already in the desired state. \n\n Examples: \n - Trying to power on a virtual machine that is already powered on.\n ", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" - } - ] - }, - "Vcenter.Vm.Hardware.Cpu.UpdateSpec": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "description": "New number of CPU cores. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket. \n\n The supported range of CPU counts is constrained by the configured guest operating system and virtual hardware version of the virtual machine. \n\n If the virtual machine is running, the number of CPU cores may only be increased if *Vcenter.Vm.Hardware.Cpu.Info.hot_add_enabled* is true, and may only be decreased if *Vcenter.Vm.Hardware.Cpu.Info.hot_remove_enabled* is true.\n\nIf missing or `null`, the value is unchanged.", - "format": "int64" - }, - "cores_per_socket": { - "type": "integer", - "description": "New number of CPU cores per socket. The number of CPU cores in the virtual machine must be a multiple of the number of cores per socket.\n\nIf missing or `null`, the value is unchanged.", - "format": "int64" - }, - "hot_add_enabled": { - "type": "boolean", - "description": "Flag indicating whether adding CPUs while the virtual machine is running is enabled. \n\n This property may only be modified if the virtual machine is powered off.\n\nIf missing or `null`, the value is unchanged." + "description": "Identifier for the datastore associated the deployed virtual machine's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If storage_policy is also specified and is incompatible with the datastore, then the disk will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." }, - "hot_remove_enabled": { - "type": "boolean", - "description": "Flag indicating whether removing CPUs while the virtual machine is running is enabled. \n\n This property may only be modified if the virtual machine is powered off.\n\nIf missing or `null`, the value is unchanged." + "storage_policy": { + "description": "Storage policy for the deployed virtual machine's disk.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the deployed virtual machine's disk is created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy" + } + ] } }, - "description": "The Vcenter.Vm.Hardware.Cpu.UpdateSpec schema describes the updates to be made to the CPU-related settings of a virtual machine." + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStorage schema contains the storage specification for disks in the virtual machine.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.Vm.Hardware.Floppy.BackingInfo": { + "Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy": { "required": [ "type" ], @@ -4467,24 +12939,34 @@ "properties": { "type": { "type": "string", - "description": "Backing type for the virtual floppy drive.\n\nPossible values:\n - `IMAGE_FILE`: Virtual floppy drive is backed by an image file.\n - `HOST_DEVICE`: Virtual floppy drive is backed by a device on the host where the virtual machine is running.\n - `CLIENT_DEVICE`: Virtual floppy drive is backed by a device on the client that is connected to the virtual machine console.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Floppy.BackingType*." + "description": "Policy type to be used when creating the deployed virtual machine's disk.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the corresponding disk in the source virtual machine template.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." }, - "image_file": { + "policy": { "type": "string", - "description": "Path of the image file backing the virtual floppy drive.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.IMAGE_FILE*." - }, - "host_device": { + "description": "Identifier of the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecDiskStoragePolicy schema describes the storage policy specification for the deployed virtual machine's disks.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage": { + "type": "object", + "properties": { + "datastore": { "type": "string", - "description": "Name of the host device backing the virtual floppy drive. \n\n\n\nThis property will be missing or `null` if auto_detect is true and the virtual floppy drive is not connected or no suitable device is available on the host." + "description": "Identifier of the datastore for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n When storage_policy is also specified and is incompatible with the datastore, then the deployed virtual machine will be flagged as being out of compliance with the specified storage policy.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." }, - "auto_detect": { - "type": "boolean", - "description": "Flag indicating whether the virtual floppy drive is configured to automatically detect a suitable host device.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Floppy.BackingType.HOST_DEVICE*." + "storage_policy": { + "description": "Storage policy for the deployed virtual machine's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, datastore must be specified and the deployed virtual machine's configuration and log files are created with the default storage policy associated with the datastore.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy" + } + ] } }, - "description": "The Vcenter.Vm.Hardware.Floppy.BackingInfo schema contains information about the physical resource backing a virtual floppy drive." + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStorage schema defines the storage specification for a deployed virtual machine's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.Vm.Hardware.Boot.Device.Entry": { + "Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy": { "required": [ "type" ], @@ -4492,409 +12974,297 @@ "properties": { "type": { "type": "string", - "description": "Virtual device type.\n\nPossible values:\n - `CDROM`: Virtual CD-ROM device.\n - `DISK`: Virtual disk device.\n - `ETHERNET`: Virtual Ethernet adapter.\n - `FLOPPY`: Virtual floppy drive.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Boot.Device.Type*." + "description": "Policy type to be used when creating the deployed virtual machine's configuration and log files.\n\nPossible values:\n - `USE_SPECIFIED_POLICY`: Use the specified policy.\n - `USE_SOURCE_POLICY`: Use the storage policy that is associated with the source virtual machine template's configuration and log files.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type*.\n\nThis property was added in __vSphere API 6.8__." }, - "nic": { + "policy": { "type": "string", - "description": "Virtual Ethernet device. Ethernet device to use as boot device for this entry.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Device.Type.ETHERNET*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." - }, - "disks": { - "type": "array", - "description": "Virtual disk device. List of virtual disks in boot order.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.Vm.Hardware.Boot.Device.Type.DISK*.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", - "items": { - "type": "string" - } + "description": "Identifier for the storage policy to use.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is optional and it is only relevant when the value of type is *Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy.Type.USE_SPECIFIED_POLICY*.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." } }, - "description": "The Vcenter.Vm.Hardware.Boot.Device.Entry schema specifies a bootable virtual device class or specific bootable virtual device(s)." + "description": "The Vcenter.VmTemplate.LibraryItems.DeploySpecVmHomeStoragePolicy schema defines the storage policy specification for the deployed virtual machine's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.Vm.Hardware.Adapter.Scsi.Info": { + "Vcenter.VmTemplate.LibraryItems.DiskInfo": { "required": [ - "label", - "scsi", - "sharing", - "type" + "disk_storage" ], "type": "object", "properties": { - "label": { - "type": "string", - "description": "Device label." - }, - "type": { - "type": "string", - "description": "Adapter type.\n\nPossible values:\n - `BUSLOGIC`: BusLogic host bus adapter.\n - `LSILOGIC`: LSI Logic host bus adapter.\n - `LSILOGICSAS`: LSI Logic SAS 1068 host bus adapter.\n - `PVSCSI`: Paravirtualized host bus adapter.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Type*." + "capacity": { + "type": "integer", + "description": "Capacity of the virtual disk in bytes.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property will be missing or `null` if the virtual disk is inaccessible.", + "format": "int64" }, - "scsi": { - "description": "Address of the SCSI adapter on the SCSI bus.", + "disk_storage": { + "description": "Disk storage related information.\n\nThis property was added in __vSphere API 6.8__.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.ScsiAddressInfo" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DiskStorageInfo" } ] - }, - "pci_slot_number": { - "type": "integer", - "description": "Address of the SCSI adapter on the PCI bus. If the PCI address is invalid, the server will change it when the VM is started or as the device is hot added.\n\nMay be missing or `null` if the virtual machine has never been powered on since the adapter was created.", - "format": "int64" - }, - "sharing": { - "type": "string", - "description": "Bus sharing mode.\n\nPossible values:\n - `NONE`: The virtual SCSI bus is not shared.\n - `VIRTUAL`: The virtual SCSI bus is shared between two or more virtual machines. In this case, no physical machine is involved.\n - `PHYSICAL`: The virtual SCSI bus is shared between two or more virtual machines residing on different physical hosts.\n\n\nFor more information see: *Vcenter.Vm.Hardware.Adapter.Scsi.Sharing*." } }, - "description": "The Vcenter.Vm.Hardware.Adapter.Scsi.Info schema contains information about a virtual SCSI adapter." - }, - "Vapi.Std.Errors.UnableToAllocateResource": { - "type": "object", - "description": "The Vapi.Std.Errors.UnableToAllocateResource error indicates that the operation failed because it was unable to allocate or acquire a required resource. \n\n Examples: \n - Trying to power on a virtual machine when there are not enough licenses to do so. \n - Trying to power on a virtual machine that would violate a resource usage policy. \n \n\n Counterexamples: \n - Trying to power off a virtual machine that is in the process of being powered on. A *Vapi.Std.Errors.ResourceBusy* error would be used instead. \n - Trying to remove a VMFS datastore when the is a virtual machine registered on any host attached to the datastore. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n - Trying to add a virtual switch if the physical network adapter being bridged is already in use. The *Vapi.Std.Errors.ResourceInUse* error would be used instead. \n - Attempt to invoke some operation on a virtual machine when the virtual machine's configuration file is not accessible (for example due to a storage APD condition). The *Vapi.Std.Errors.ResourceInaccessible* error would be used instead. \n ", - "allOf": [ - { - "$ref": "#/components/schemas/Vapi.Std.Errors.Error" - } - ] + "description": "The Vcenter.VmTemplate.LibraryItems.DiskInfo schema contains information about the virtual machine template's virtual disk.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.Vm.Hardware.SataAddressSpec": { + "Vcenter.VmTemplate.LibraryItems.DiskStorageInfo": { "required": [ - "bus" + "datastore" ], "type": "object", "properties": { - "bus": { - "type": "integer", - "description": "Bus number of the adapter to which the device should be attached.", - "format": "int64" + "datastore": { + "type": "string", + "description": "Identifier of the datastore where the disk is stored.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." }, - "unit": { - "type": "integer", - "description": "Unit number of the device.\n\nIf missing or `null`, the server will choose an available unit number on the specified adapter. If there are no available connections on the adapter, the request will be rejected.", - "format": "int64" + "storage_policy": { + "type": "string", + "description": "Identifier of the storage policy associated with the virtual disk.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual disk does not have a storage policy associated with it.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." } }, - "description": "The Vcenter.Vm.Hardware.SataAddressSpec schema contains information for specifying the address of a virtual device that is attached to a virtual SATA adapter of a virtual machine." + "description": "The Vcenter.VmTemplate.LibraryItems.DiskStorageInfo schema contains storage related information about a virtual machine template's virtual disk.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.Datastore.Summary": { + "Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec": { "required": [ - "datastore", - "name", - "type" + "capacity" ], "type": "object", "properties": { - "datastore": { - "type": "string", - "description": "Identifier of the datastore.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." - }, - "name": { - "type": "string", - "description": "Name of the datastore." - }, - "type": { - "type": "string", - "description": "Type (Type) of the datastore.\n\nPossible values:\n - `VMFS`: VMware File System (ESX Server only).\n - `NFS`: Network file system v3 (linux & esx servers only).\n - `NFS41`: Network file system v4.1 (linux & esx servers only).\n - `CIFS`: Common Internet File System.\n - `VSAN`: Virtual SAN (ESX Server only).\n - `VFFS`: Flash Read Cache (ESX Server only).\n - `VVOL`: vSphere Virtual Volume (ESX Server only).\n\n\nFor more information see: *Vcenter.Datastore.Type*." - }, - "free_space": { - "type": "integer", - "description": "Available space of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the available space of this datastore is not known.", - "format": "int64" - }, "capacity": { "type": "integer", - "description": "Capacity of this datastore, in bytes. \n\n The server periodically updates this value.\n\nThis property will be missing or `null` if the capacity of this datastore is not known.", + "description": "Updated capacity of the virtual disk backing in bytes. This value has to be larger than the original capacity of the disk.\n\nThis property was added in __vSphere API 6.8__.", "format": "int64" } }, - "description": "The Vcenter.Datastore.Summary schema contains commonly used information about a datastore." + "description": "The Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec schema describes updates to the configuration of a virtual disk in the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec": { + "Vcenter.VmTemplate.LibraryItems.EthernetInfo": { + "required": [ + "backing_type", + "mac_type" + ], "type": "object", "properties": { - "folder": { - "type": "string", - "description": "Virtual machine folder into which the deployed virtual machine should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If missing or `null`, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine deployment operation will fail. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." - }, - "resource_pool": { + "backing_type": { "type": "string", - "description": "Resource pool into which the deployed virtual machine should be placed.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine deployment operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ResourcePool`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ResourcePool`." + "description": "Network backing type for the virtual Ethernet adapter.\n\nPossible values:\n - `STANDARD_PORTGROUP`: vSphere standard portgroup network backing.\n - `HOST_DEVICE`: Legacy host device network backing. Imported VMs may have virtual Ethernet adapters with this type of backing, but this type of backing cannot be used to create or to update a virtual Ethernet adapter.\n - `DISTRIBUTED_PORTGROUP`: Distributed virtual switch backing.\n - `OPAQUE_NETWORK`: Opaque network backing.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.EthernetInfo.NetworkBackingType*.\n\nThis property was added in __vSphere API 6.8__." }, - "host": { + "mac_type": { "type": "string", - "description": "Host onto which the virtual machine should be placed. \n\n If host and resource_pool are both specified, resource_pool must belong to host. \n\n If host and cluster are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property may be missing or `null` if resource_pool or cluster is specified. If missing or `null`, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine deployment operation will fail.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `HostSystem`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `HostSystem`." + "description": "MAC address type of the ethernet adapter.\n\nPossible values:\n - `MANUAL`: MAC address is assigned statically.\n - `GENERATED`: MAC address is generated automatically.\n - `ASSIGNED`: MAC address is assigned by vCenter Server.\n\n\nFor more information see: *Vcenter.VmTemplate.LibraryItems.EthernetInfo.MacAddressType*.\n\nThis property was added in __vSphere API 6.8__." }, - "cluster": { + "network": { "type": "string", - "description": "Cluster onto which the deployed virtual machine should be placed. \n\n If cluster and resource_pool are both specified, resource_pool must belong to cluster. \n\n If cluster and host are both specified, host must be a member of cluster.\n\nThis property was added in __vSphere API 6.8__.\n\nIf resource_pool or host is specified, it is recommended that this property be missing or `null`.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property will be missing or `null` if the identifier of the network backing could not be determined.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." } }, - "description": "The Vcenter.VmTemplate.LibraryItems.DeployPlacementSpec schema contains information used to place a virtual machine onto resources within the vCenter inventory.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.VmTemplate.LibraryItems.EthernetInfo schema contains information about a virtual machine template's virtual Ethernet adapter.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec": { + "Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec": { "type": "object", "properties": { - "memory": { - "type": "integer", - "description": "Size of a virtual machine's memory in MB.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same memory size as the source virtual machine template.", - "format": "int64" + "network": { + "type": "string", + "description": "Identifier of the network backing the virtual Ethernet adapter.\n\nThis property was added in __vSphere API 6.8__.\n\nThis property is currently required. \n\n If missing or `null`, the virtual Ethernet adapter will be connected to same network as it was in the source virtual machine template. \n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Network`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Network`." + }, + "subnet": { + "type": "string", + "description": "The Identifier of the subnet the virtual ethernet adapter connects to. It is only set when the virtual network adapter is connected to a subnet. If set, this will take precedence over the *Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec.network* property. If missing or `null`, virtual network adapter will not be connected to a subnet\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." } }, - "description": "The Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec schema describes updates to the memory configuration of the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + "description": "The Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec schema describes the network that the ethernet adapter of the deployed virtual machine should be connected to.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.Folder.Summary": { - "required": [ - "folder", - "name", - "type" - ], + "Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec": { "type": "object", "properties": { - "folder": { - "type": "string", - "description": "Identifier of the folder.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Folder`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Folder`." - }, "name": { "type": "string", - "description": "Name of the vCenter Server folder." - }, - "type": { - "type": "string", - "description": "Type (Type) of the vCenter Server folder.\n\nPossible values:\n - `DATACENTER`: A folder that can contain datacenters.\n - `DATASTORE`: A folder that can contain datastores.\n - `HOST`: A folder that can contain compute resources (hosts and clusters).\n - `NETWORK`: A folder that can contain networkds.\n - `VIRTUAL_MACHINE`: A folder that can contain virtual machines.\n\n\nFor more information see: *Vcenter.Folder.Type*." + "description": "Name of the customization specification.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, no guest customization is performed." } }, - "description": "The Vcenter.Folder.Summary schema contains commonly used information about a folder." + "description": "The Vcenter.VmTemplate.LibraryItems.GuestCustomizationSpec schema contains information required to customize the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.Cluster.Summary": { - "required": [ - "cluster", - "drs_enabled", - "ha_enabled", - "name" - ], + "Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec": { "type": "object", "properties": { - "cluster": { - "type": "string", - "description": "Identifier of the cluster.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `ClusterComputeResource`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `ClusterComputeResource`." + "nics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.EthernetUpdateSpec" + }, + "description": "Map of Ethernet network adapters to update.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, all Ethernet adapters will remain connected to the same network as they were in the source virtual machine template. An Ethernet adapter with a MacAddressType of MANUAL will not change. An Ethernet adapter with a MacAddressType of GENERATED or ASSIGNED will receive a new address.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." }, - "name": { - "type": "string", - "description": "Name of the cluster." + "disks_to_remove": { + "uniqueItems": true, + "type": "array", + "description": "Idenfiers of disks to remove from the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, all disks will be copied.\n\nWhen clients pass a value of this schema as a parameter, the property must contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the property will contain identifiers for the resource type: `com.vmware.vcenter.vm.hardware.Disk`.", + "items": { + "type": "string" + } }, - "ha_enabled": { - "type": "boolean", - "description": "Flag indicating whether the vSphere HA feature is enabled for the cluster." + "disks_to_update": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DiskUpdateSpec" + }, + "description": "Disk update specification for individual disks in the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, disks in the deployed virtual machine will have the same settings as the corresponding disks in the source virtual machine template contained in the library item.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." }, - "drs_enabled": { - "type": "boolean", - "description": "Flag indicating whether the vSphere DRS service is enabled for the cluster." + "cpu_update": { + "description": "CPU update specification for the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same CPU settings as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CpuUpdateSpec" + } + ] + }, + "memory_update": { + "description": "Memory update specification for the deployed virtual machine.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same memory settings as the source virtual machine template contained in the library item.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec" + } + ] } }, - "description": "The Vcenter.Cluster.Summary schema contains commonly used information about a cluster in vCenter Server." + "description": "The Vcenter.VmTemplate.LibraryItems.HardwareCustomizationSpec schema defines the hardware customization options that are applied to the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." }, - "Vcenter.VM.Info": { + "Vcenter.VmTemplate.LibraryItems.Info": { "required": [ - "boot", - "boot_devices", - "cdroms", "cpu", "disks", - "floppies", "guest_os", - "hardware", "memory", - "name", "nics", - "parallel_ports", - "power_state", - "sata_adapters", - "scsi_adapters", - "serial_ports" + "vm_home_storage", + "vm_template" ], "type": "object", "properties": { "guest_os": { "type": "string", - "description": "Guest OS.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*." - }, - "name": { - "type": "string", - "description": "Virtual machine name." - }, - "identity": { - "description": "Identity of the virtual machine.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional because it was added in a newer version than its parent node.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Identity.Info" - } - ] - }, - "power_state": { - "type": "string", - "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." - }, - "instant_clone_frozen": { - "type": "boolean", - "description": "Indicates whether the virtual machine is frozen for instant clone, or not.\n\nThis property was added in __vSphere API 6.7.1__.\n\nThis property is optional because it was added in a newer version than its parent node." - }, - "hardware": { - "description": "Virtual hardware version information.", - "allOf": [ - { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Info" - } - ] + "description": "Configured guest operating system of the virtual machine template.\n\nPossible values:\n - `DOS`: MS-DOS.\n - `WIN_31`: Windows 3.1\n - `WIN_95`: Windows 95\n - `WIN_98`: Windows 98\n - `WIN_ME`: Windows Millennium Edition\n - `WIN_NT`: Windows NT 4\n - `WIN_2000_PRO`: Windows 2000 Professional\n - `WIN_2000_SERV`: Windows 2000 Server\n - `WIN_2000_ADV_SERV`: Windows 2000 Advanced Server\n - `WIN_XP_HOME`: Windows XP Home Edition\n - `WIN_XP_PRO`: Windows XP Professional\n - `WIN_XP_PRO_64`: Windows XP Professional Edition (64 bit)\n - `WIN_NET_WEB`: Windows Server 2003, Web Edition\n - `WIN_NET_STANDARD`: Windows Server 2003, Standard Edition\n - `WIN_NET_ENTERPRISE`: Windows Server 2003, Enterprise Edition\n - `WIN_NET_DATACENTER`: Windows Server 2003, Datacenter Edition\n - `WIN_NET_BUSINESS`: Windows Small Business Server 2003\n - `WIN_NET_STANDARD_64`: Windows Server 2003, Standard Edition (64 bit)\n - `WIN_NET_ENTERPRISE_64`: Windows Server 2003, Enterprise Edition (64 bit)\n - `WIN_LONGHORN`: Windows Longhorn\n - `WIN_LONGHORN_64`: Windows Longhorn (64 bit)\n - `WIN_NET_DATACENTER_64`: Windows Server 2003, Datacenter Edition (64 bit)\n - `WIN_VISTA`: Windows Vista\n - `WIN_VISTA_64`: Windows Vista (64 bit)\n - `WINDOWS_7`: Windows 7\n - `WINDOWS_7_64`: Windows 7 (64 bit)\n - `WINDOWS_7_SERVER_64`: Windows Server 2008 R2 (64 bit)\n - `WINDOWS_8`: Windows 8\n - `WINDOWS_8_64`: Windows 8 (64 bit)\n - `WINDOWS_8_SERVER_64`: Windows 8 Server (64 bit)\n - `WINDOWS_9`: Windows 10\n - `WINDOWS_9_64`: Windows 10 (64 bit)\n - `WINDOWS_9_SERVER_64`: Windows 10 Server (64 bit)\n - `WINDOWS_11_64`: Windows 11 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_12_64`: Windows 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `WINDOWS_HYPERV`: Windows Hyper-V\n - `WINDOWS_SERVER_2019`: Windows Server 2019\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `WINDOWS_SERVER_2021`: Windows Server 2022\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `WINDOWS_SERVER_2025`: Windows Server 2025\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD`: FreeBSD 10 or earlier\n - `FREEBSD_64`: FreeBSD 10 x64 or earlier\n - `FREEBSD_11`: FreeBSD 11\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12`: FreeBSD 12\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13`: FreeBSD 13\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14`: FreeBSD 14\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15`: FreeBSD 15 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `FREEBSD_11_64`: FreeBSD 11 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_12_64`: FreeBSD 12 x64\n\nThis constant was added in __vSphere API 6.7__.\n - `FREEBSD_13_64`: FreeBSD 13 x64\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `FREEBSD_14_64`: FreeBSD 14 x64\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `FREEBSD_15_64`: FreeBSD 15 x64 or later\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `REDHAT`: Red Hat Linux 2.1\n - `RHEL_2`: Red Hat Enterprise Linux 2\n - `RHEL_3`: Red Hat Enterprise Linux 3\n - `RHEL_3_64`: Red Hat Enterprise Linux 3 (64 bit)\n - `RHEL_4`: Red Hat Enterprise Linux 4\n - `RHEL_4_64`: Red Hat Enterprise Linux 4 (64 bit)\n - `RHEL_5`: Red Hat Enterprise Linux 5\n - `RHEL_5_64`: Red Hat Enterprise Linux 5 (64 bit)\n - `RHEL_6`: Red Hat Enterprise Linux 6\n - `RHEL_6_64`: Red Hat Enterprise Linux 6 (64 bit)\n - `RHEL_7`: Red Hat Enterprise Linux 7\n - `RHEL_7_64`: Red Hat Enterprise Linux 7 (64 bit)\n - `RHEL_8_64`: Red Hat Enterprise Linux 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `RHEL_9_64`: Red Hat Enterprise Linux 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `RHEL_10_64`: Red Hat Enterprise Linux 10 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `CENTOS`: CentOS 4/5\n - `CENTOS_64`: CentOS 4/5 (64-bit)\n - `CENTOS_6`: CentOS 6\n - `CENTOS_6_64`: CentOS 6 (64-bit)\n - `CENTOS_7`: CentOS 7\n - `CENTOS_7_64`: CentOS 7 (64-bit)\n - `CENTOS_8_64`: CentOS 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `CENTOS_9_64`: CentOS 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX`: Oracle Linux 4/5\n - `ORACLE_LINUX_64`: Oracle Linux 4/5 (64-bit)\n - `ORACLE_LINUX_6`: Oracle Linux 6\n - `ORACLE_LINUX_6_64`: Oracle Linux 6 (64-bit)\n - `ORACLE_LINUX_7`: Oracle Linux 7\n - `ORACLE_LINUX_7_64`: Oracle Linux 7 (64-bit)\n - `ORACLE_LINUX_8_64`: Oracle Linux 8 (64-bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ORACLE_LINUX_9_64`: Oracle Linux 9 (64-bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `ORACLE_LINUX_10_64`: Oracle Linux 10 (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `SUSE`: Suse Linux\n - `SUSE_64`: Suse Linux (64 bit)\n - `SLES`: Suse Linux Enterprise Server 9\n - `SLES_64`: Suse Linux Enterprise Server 9 (64 bit)\n - `SLES_10`: Suse linux Enterprise Server 10\n - `SLES_10_64`: Suse Linux Enterprise Server 10 (64 bit)\n - `SLES_11`: Suse linux Enterprise Server 11\n - `SLES_11_64`: Suse Linux Enterprise Server 11 (64 bit)\n - `SLES_12`: Suse linux Enterprise Server 12\n - `SLES_12_64`: Suse Linux Enterprise Server 12 (64 bit)\n - `SLES_15_64`: Suse Linux Enterprise Server 15 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `SLES_16_64`: Suse Linux Enterprise Server 16 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `NLD_9`: Novell Linux Desktop 9\n - `OES`: Open Enterprise Server\n - `SJDS`: Sun Java Desktop System\n - `MANDRAKE`: Mandrake Linux\n - `MANDRIVA`: Mandriva Linux\n - `MANDRIVA_64`: Mandriva Linux (64 bit)\n - `TURBO_LINUX`: Turbolinux\n - `TURBO_LINUX_64`: Turbolinux (64 bit)\n - `UBUNTU`: Ubuntu Linux\n - `UBUNTU_64`: Ubuntu Linux (64 bit)\n - `DEBIAN_4`: Debian GNU/Linux 4\n - `DEBIAN_4_64`: Debian GNU/Linux 4 (64 bit)\n - `DEBIAN_5`: Debian GNU/Linux 5\n - `DEBIAN_5_64`: Debian GNU/Linux 5 (64 bit)\n - `DEBIAN_6`: Debian GNU/Linux 6\n - `DEBIAN_6_64`: Debian GNU/Linux 6 (64 bit)\n - `DEBIAN_7`: Debian GNU/Linux 7\n - `DEBIAN_7_64`: Debian GNU/Linux 7 (64 bit)\n - `DEBIAN_8`: Debian GNU/Linux 8\n - `DEBIAN_8_64`: Debian GNU/Linux 8 (64 bit)\n - `DEBIAN_9`: Debian GNU/Linux 9\n - `DEBIAN_9_64`: Debian GNU/Linux 9 (64 bit)\n - `DEBIAN_10`: Debian GNU/Linux 10\n - `DEBIAN_10_64`: Debian GNU/Linux 10 (64 bit)\n - `DEBIAN_11`: Debian GNU/Linux 11\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_11_64`: Debian GNU/Linux 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DEBIAN_12`: Debian GNU/Linux 12\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_12_64`: Debian GNU/Linux 12 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DEBIAN_13`: Debian GNU/Linux 13\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `DEBIAN_13_64`: Debian GNU/Linux 13 (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `ASIANUX_3`: Asianux Server 3\n - `ASIANUX_3_64`: Asianux Server 3 (64 bit)\n - `ASIANUX_4`: Asianux Server 4\n - `ASIANUX_4_64`: Asianux Server 4 (64 bit)\n - `ASIANUX_5_64`: Asianux Server 5 (64 bit)\n - `ASIANUX_7_64`: Asianux Server 7 (64 bit)\n - `ASIANUX_8_64`: Asianux Server 8 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `ASIANUX_9_64`: Asianux Server 9 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `MIRACLELINUX_64`: MIRACLE LINUX (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PARDUS_64`: Pardus (64-bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OPENSUSE`: OpenSUSE Linux\n - `OPENSUSE_64`: OpenSUSE Linux (64 bit)\n - `FEDORA`: Fedora Linux\n - `FEDORA_64`: Fedora Linux (64 bit)\n - `COREOS_64`: CoreOS Linux (64 bit)\n - `VMWARE_PHOTON_64`: VMware Photon (64 bit)\n - `OTHER_24X_LINUX`: Linux 2.4x Kernel\n - `OTHER_24X_LINUX_64`: Linux 2.4x Kernel (64 bit)\n - `OTHER_26X_LINUX`: Linux 2.6x Kernel\n - `OTHER_26X_LINUX_64`: Linux 2.6x Kernel (64 bit)\n - `OTHER_3X_LINUX`: Linux 3.x Kernel\n - `OTHER_3X_LINUX_64`: Linux 3.x Kernel (64 bit)\n - `OTHER_4X_LINUX`: Linux 4.x Kernel\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_4X_LINUX_64`: Linux 4.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `OTHER_5X_LINUX`: Linux 5.x Kernel\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_5X_LINUX_64`: Linux 5.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `OTHER_6X_LINUX`: Linux 6.x Kernel\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_6X_LINUX_64`: Linux 6.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER_7X_LINUX`: Linux 7.x Kernel\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_7X_LINUX_64`: Linux 7.x Kernel (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OTHER_LINUX`: Linux 2.2x Kernel\n - `GENERIC_LINUX`: Other Linux\n - `OTHER_LINUX_64`: Linux (64 bit)\n - `SOLARIS_6`: Solaris 6\n - `SOLARIS_7`: Solaris 7\n - `SOLARIS_8`: Solaris 8\n - `SOLARIS_9`: Solaris 9\n - `SOLARIS_10`: Solaris 10 (32 bit)\n - `SOLARIS_10_64`: Solaris 10 (64 bit)\n - `SOLARIS_11_64`: Solaris 11 (64 bit)\n - `FUSIONOS_64`: FusionOS (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `PROLINUX_64`: ProLinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `KYLINLINUX_64`: Kylinlinux (64 bit)\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `OS2`: OS/2\n - `ECOMSTATION`: eComStation 1.x\n - `ECOMSTATION_2`: eComStation 2.0\n - `NETWARE_4`: Novell NetWare 4\n - `NETWARE_5`: Novell NetWare 5.1\n - `NETWARE_6`: Novell NetWare 6.x\n - `OPENSERVER_5`: SCO OpenServer 5\n - `OPENSERVER_6`: SCO OpenServer 6\n - `UNIXWARE_7`: SCO UnixWare 7\n - `DARWIN`: Mac OS 10.5\n - `DARWIN_64`: Mac OS 10.5 (64 bit)\n - `DARWIN_10`: Mac OS 10.6\n - `DARWIN_10_64`: Mac OS 10.6 (64 bit)\n - `DARWIN_11`: Mac OS 10.7\n - `DARWIN_11_64`: Mac OS 10.7 (64 bit)\n - `DARWIN_12_64`: Mac OS 10.8 (64 bit)\n - `DARWIN_13_64`: Mac OS 10.9 (64 bit)\n - `DARWIN_14_64`: Mac OS 10.10 (64 bit)\n - `DARWIN_15_64`: Mac OS 10.11 (64 bit)\n - `DARWIN_16_64`: Mac OS 10.12 (64 bit)\n - `DARWIN_17_64`: Mac OS 10.13 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_18_64`: Mac OS 10.14 (64 bit)\n\nThis constant was added in __vSphere API 6.7__.\n - `DARWIN_19_64`: Mac OS 10.15 (64 bit)\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `DARWIN_20_64`: Mac OS 11 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_21_64`: Mac OS 12 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `DARWIN_22_64`: Mac OS 13 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `DARWIN_23_64`: Mac OS 14 (64 bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL`: VMware ESX 4\n - `VMKERNEL_5`: VMware ESX 5\n - `VMKERNEL_6`: VMware ESX 6\n - `VMKERNEL_65`: VMware ESXi 6.5 AND ESXi 6.7.\n - `VMKERNEL_7`: VMware ESX 7\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `VMKERNEL_8`: VMware ESX 8\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `VMKERNEL_9`: VMware ESX 9\n\nThis constant was added in __vSphere API 9.0.0.0__.\n - `AMAZONLINUX2_64`: Amazon Linux 2 (64 bit)\n\nThis constant was added in __vSphere API 6.7.1__.\n - `AMAZONLINUX3_64`: Amazon Linux 3 (64 bit)\n\nThis constant was added in __vSphere API 7.0.1.0__.\n - `CRXPOD_1`: CRX Pod 1\n\nThis constant was added in __vSphere API 7.0.0.0__.\n - `CRXSYS_1`: CRX Sys 1\n\nThis constant was added in __vSphere API 8.0.3.0__.\n - `ROCKYLINUX_64`: Rocky Linux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `ALMALINUX_64`: AlmaLinux (64-bit)\n\nThis constant was added in __vSphere API 8.0.0.1__.\n - `OTHER`: Other Operating System\n - `OTHER_64`: Other Operating System (64 bit)\n\n\nFor more information see: *Vcenter.Vm.GuestOS*.\n\nThis property was added in __vSphere API 6.8__." }, - "boot": { - "description": "Boot configuration.", + "cpu": { + "description": "CPU configuration of the virtual machine template.\n\nThis property was added in __vSphere API 6.8__.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Info" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.CpuInfo" } ] }, - "boot_devices": { - "type": "array", - "description": "Boot device configuration. If the list has no entries, a server-specific default boot sequence is used.", - "items": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Boot.Device.Entry" - } - }, - "cpu": { - "description": "CPU configuration.", + "memory": { + "description": "Memory configuration of the virtual machine template.\n\nThis property was added in __vSphere API 6.8__.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cpu.Info" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.MemoryInfo" } ] }, - "memory": { - "description": "Memory configuration.", + "vm_home_storage": { + "description": "Storage information about the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.", "allOf": [ { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Memory.Info" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.VmHomeStorageInfo" } ] }, "disks": { "type": "object", "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Disk.Info" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.DiskInfo" }, - "description": "List of disks.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." + "description": "Storage information about the virtual machine template's virtual disks.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Disk`." }, "nics": { "type": "object", "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Ethernet.Info" - }, - "description": "List of Ethernet adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." - }, - "cdroms": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Cdrom.Info" - }, - "description": "List of CD-ROMs.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Cdrom`." - }, - "floppies": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Floppy.Info" - }, - "description": "List of floppy drives.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Floppy`." - }, - "parallel_ports": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Parallel.Info" - }, - "description": "List of parallel ports.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ParallelPort`." - }, - "serial_ports": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Serial.Info" - }, - "description": "List of serial ports.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SerialPort`." - }, - "sata_adapters": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Sata.Info" - }, - "description": "List of SATA adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.SataAdapter`." - }, - "scsi_adapters": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Scsi.Info" + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.EthernetInfo" }, - "description": "List of SCSI adapters.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.ScsiAdapter`." + "description": "Information about the virtual machine template's virtual ethernet adapters.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.Ethernet`." }, - "nvme_adapters": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Vcenter.Vm.Hardware.Adapter.Nvme.Info" - }, - "description": "List of NVMe adapters.\n\nThis property was added in __vSphere API 7.0.0.1__.\n\nThis property is optional because it was added in a newer version than its parent node.\n\nWhen clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: `com.vmware.vcenter.vm.hardware.NvmeAdapter`." + "vm_template": { + "type": "string", + "description": "Identifier of the latest virtual machine template contained in the library item. This property is the managed object identifier used to identify the virtual machine template in the vSphere Management (SOAP) API.\n\nThis property was added in __vSphere API 6.8__." } }, - "description": "Document-based info." + "description": "The Vcenter.VmTemplate.LibraryItems.Info schema contains information about a virtual machine template item in content library.\n\nThis schema was added in __vSphere API 6.8__.", + "nullable": true }, - "Vcenter.Vm.Identity.Info": { + "Vcenter.VmTemplate.LibraryItems.MemoryInfo": { "required": [ - "bios_uuid", - "instance_uuid", - "name" + "size_mib" ], "type": "object", "properties": { - "name": { + "size_mib": { + "type": "integer", + "description": "Memory size in mebibytes.\n\nThis property was added in __vSphere API 6.8__.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.MemoryInfo schema contains memory related information about the virtual machine template.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec": { + "type": "object", + "properties": { + "memory": { + "type": "integer", + "description": "Size of a virtual machine's memory in MB.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the deployed virtual machine has the same memory size as the source virtual machine template.", + "format": "int64" + } + }, + "description": "The Vcenter.VmTemplate.LibraryItems.MemoryUpdateSpec schema describes updates to the memory configuration of the deployed virtual machine.\n\nThis schema was added in __vSphere API 6.8__." + }, + "Vcenter.VmTemplate.LibraryItems.TagNameSpec": { + "required": [ + "category_name", + "tag_name" + ], + "type": "object", + "properties": { + "tag_name": { "type": "string", - "description": "Virtual machine name.\n\nThis property was added in __vSphere API 6.7.1__." + "description": "The name of the tag to attach.\n\nThis property was added in __vSphere API 9.1.0.0__." }, - "bios_uuid": { + "category_name": { "type": "string", - "description": "128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in \"12345678-abcd-1234-cdef-123456789abc\" format.\n\nThis property was added in __vSphere API 6.7.1__." - }, - "instance_uuid": { + "description": "The name of the vSphere category that this tag belongs to.\n\nThis property was added in __vSphere API 9.1.0.0__." + } + }, + "description": "Represents a vSphere tag by its name and its respective category's name.\n\nThis schema was added in __vSphere API 9.1.0.0__." + }, + "Vcenter.VmTemplate.LibraryItems.TagSpec": { + "type": "object", + "properties": { + "tag_id": { "type": "string", - "description": "VirtualCenter-specific 128-bit UUID of a virtual machine, represented as a hexadecimal string. This identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID.\n\nThis property was added in __vSphere API 6.7.1__." + "description": "The tag identifier of the vSphere tag. If this field is specified in addition to *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec*, then both tagId and *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec* must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_name_spec* must be specified." + }, + "tag_name_spec": { + "description": "Information about the name of the tag. If this field is specified in addition to *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id*, then both *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id* and tagNameSpec must belong to the same vSphere tag.\n\nThis property was added in __vSphere API 9.1.0.0__.\n\nIf missing or `null`, then *Vcenter.VmTemplate.LibraryItems.TagSpec.tag_id* must be specified.", + "allOf": [ + { + "$ref": "#/components/schemas/Vcenter.VmTemplate.LibraryItems.TagNameSpec" + } + ] } }, - "description": "The Vcenter.Vm.Identity.Info schema contains information about the identity of a virtual machine.\n\nThis schema was added in __vSphere API 6.7.1__." + "description": "The Vcenter.VmTemplate.LibraryItems.TagSpec schema contains information required to attach a tag while deploying a VM. \n\n Represents a tag specification with optional *Cis.Tagging.Tag* and/or *Vcenter.VmTemplate.LibraryItems.TagNameSpec*. The *Cis.Tagging.Tag* should already exist in vSphere, otherwise VM deployment will fail.\n\nThis schema was added in __vSphere API 9.1.0.0__." }, - "Vcenter.VM.Summary": { + "Vcenter.VmTemplate.LibraryItems.VmHomeStorageInfo": { "required": [ - "name", - "power_state", - "vm" + "datastore" ], "type": "object", "properties": { - "vm": { - "type": "string", - "description": "Identifier of the virtual machine.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `VirtualMachine`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `VirtualMachine`." - }, - "name": { + "datastore": { "type": "string", - "description": "Name of the Virtual machine." + "description": "Identifier of the datastore where the virtual machine template's configuration and log files are stored.\n\nThis property was added in __vSphere API 6.8__.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `Datastore`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `Datastore`." }, - "power_state": { + "storage_policy": { "type": "string", - "description": "Power state of the virtual machine.\n\nPossible values:\n - `POWERED_OFF`: The virtual machine is powered off.\n - `POWERED_ON`: The virtual machine is powered on.\n - `SUSPENDED`: The virtual machine is suspended.\n\n\nFor more information see: *Vcenter.Vm.Power.State*." - }, - "cpu_count": { - "type": "integer", - "description": "Number of CPU cores.\n\nThis property will be missing or `null` if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the initial phases of virtual machine creation.", - "format": "int64" - }, - "memory_size_mib": { - "type": "integer", - "description": "Memory size in mebibytes.\n\nThis property will be missing or `null` if the virtual machine configuration is not available. For example, the configuration information would be unavailable if the server is unable to access the virtual machine files on disk, and is often also unavailable during the initial phases of virtual machine creation.", - "format": "int64" + "description": "Identifier of the storage policy associated with the virtual machine template's configuration and log files.\n\nThis property was added in __vSphere API 6.8__.\n\nIf missing or `null`, the virtual machine template's configuration and log files do not have a storage policy associated with them.\n\nWhen clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: `com.vmware.spbm.StorageProfile`. When operations return a value of this schema as a response, the property will be an identifier for the resource type: `com.vmware.spbm.StorageProfile`." } }, - "description": "The Vcenter.VM.Summary schema contains commonly used information about a virtual machine." + "description": "The Vcenter.VmTemplate.LibraryItems.VmHomeStorageInfo schema contains storage information about the virtual machine template's configuration and log files.\n\nThis schema was added in __vSphere API 6.8__." } } } diff --git a/VMware/vSphere/README.md b/VMware/vSphere/README.md index bf4aebc..ecbcc69 100644 --- a/VMware/vSphere/README.md +++ b/VMware/vSphere/README.md @@ -17,7 +17,6 @@ This project provides Studio Projects of workflows covering the vCenter REST API - [Generating the Basic Auth Header](#generating-the-basic-auth-header) - [Integration Configuration — VMware vSphere Automation (/api)](#integration-configuration--vmware-vsphere-automation-api) - [Connection Properties](#connection-properties-1) - - [Why /rest for Auth Bootstrap](#why-rest-for-auth-bootstrap) - [OpenAPIs](#openapis) - [`vmware_vsphere_vcenter-latest.json`](#vmware_vsphere_vcenter-latestjson) - [`vmware_vsphere_vcenter-2.0.0.json`](#vmware_vsphere_vcenter-200json) @@ -27,11 +26,9 @@ This project provides Studio Projects of workflows covering the vCenter REST API - [VMware vSphere vCenter Project](#vmware-vsphere-vcenter-project) - [Folder Structure](#folder-structure) - [Dependencies](#dependencies) - - [Known Limitations](#known-limitations) - [VMware vSphere Automation Project](#vmware-vsphere-automation-project) - [Folder Structure](#folder-structure-1) - [Dependencies](#dependencies-1) - - [Known Limitations](#known-limitations-1) ## Contents @@ -146,11 +143,7 @@ Import `vmware_vsphere_automation-latest.json` as an Integration Model in **Admi Same session-based dynamic retrieval as the `/rest` project (see **Session Authentication** above — the idle timeout, auto-refresh-on-401, and Basic-header generation steps are identical), with two differences specific to `/api`: 1. **`server.base_path` must be `/api`**, not empty. This spec's `servers.url` template (`https://{host}/api`) doesn't cleanly split into Itential Platform's `host`/`base_path` fields on its own — `host` should be the bare hostname, and `/api` goes in `base_path` explicitly, or business calls will 404 on the missing prefix. -2. **`dynamicRetrieval.url` deliberately targets the legacy `/rest` session endpoint**, not `/api/session` — see below for why. - -### Why /rest for Auth Bootstrap - -`vmware-api-session-id` is a single, unified session token shared by both the legacy `/rest` API and the modern `/api` surface — whichever endpoint issues it, the other accepts it. This spec uses that to route around a confirmed Itential Platform bug: when an admin routes an integration through an Automation Gateway — a deliberate choice, e.g. to reach vCenter over an mTLS tunnel rather than a direct connection — and a dynamic-retrieval auth request's target endpoint returns a bare JSON string rather than an object, `Gateway.js` unconditionally attempts to `JSON.parse()` an already-decoded string a second time, which throws whenever that string isn't itself valid JSON syntax (e.g. a session token starting with a digit). `/api/session`'s response is exactly that — a bare string (`type: string` in the vendor's own spec) — while `/rest/com/vmware/cis/session`'s response is an object (`{"value": ""}`), which sidesteps the bug entirely (an object-typed body skips the erroneous re-parse). Confirmed live: a token minted via `/rest` works identically against `/api/*` endpoints, so bootstrapping auth through `/rest` while every actual business call still targets `/api` is a clean, permanent fix — not a workaround — for gateway-routed integrations. This is a platform-level gap, not specific to vSphere — any Integration Model with dynamic API key retrieval, routed through a Gateway, against an endpoint whose session response is a bare JSON string rather than an object, will hit the same failure. Worth checking for an object-shaped alternate auth endpoint (as this spec does) before assuming dynamic retrieval simply doesn't work. +2. **`dynamicRetrieval.url` targets the legacy `/rest` session endpoint**, not `/api/session` — `vmware-api-session-id` is a single, unified session token shared by both API generations, so a token minted via `/rest` works identically against `/api/*` endpoints. ## OpenAPIs @@ -158,7 +151,7 @@ Same session-based dynamic retrieval as the `/rest` project (see **Session Authe |---|---|---|---| | [`vmware_vsphere_vcenter-latest.json`](./OpenAPIs/vmware_vsphere_vcenter-latest.json) | latest (curated) | 91 | Actively-maintained, trimmed to 91 of 178 upstream `/rest` operations covering common CRUD for infrastructure automation — see breakdown below | | [`vmware_vsphere_vcenter-2.0.0.json`](./OpenAPIs/vmware_vsphere_vcenter-2.0.0.json) | 2.0.0 | 178 | Full `/rest` spec generated from a live vCenter instance | -| [`vmware_vsphere_automation-latest.json`](./OpenAPIs/vmware_vsphere_automation-latest.json) | latest (curated) | 22 | Actively-maintained, trimmed to 22 of 1363 upstream `/api` operations — matches the `/rest` project's scope 1:1, see breakdown below | +| [`vmware_vsphere_automation-latest.json`](./OpenAPIs/vmware_vsphere_automation-latest.json) | latest (curated) | 89 | Actively-maintained, trimmed to 89 of 1363 upstream `/api` operations — matches the `/rest` curated spec's scope 1:1 wherever `/api` has an equivalent, see breakdown below | | [`vmware_vsphere_automation-9.1.0.0.json`](./OpenAPIs/vmware_vsphere_automation-9.1.0.0.json) | 9.1.0.0 | 1363 | Full `/api` spec, officially published by Broadcom | ### `vmware_vsphere_vcenter-latest.json` @@ -179,23 +172,27 @@ Resources included, by category: Full spec (178 operations), generated directly from a live vCenter 9.1 instance using VMware's [`vmware-openapi-generator`](https://github.com/vmware/vmware-openapi-generator), which only picked up `/rest`-style bindings on this instance despite it being well past the `/api` cutover — see `vmware_vsphere_automation-9.1.0.0.json` below for the modern surface, which turned out to have an official published source instead of needing generation. Regenerate against your own vCenter if you need an exact `/rest` match to a different version. See `vmware_vsphere_vcenter-latest.json` above for the curated subset if you just need common CRUD automation. -vSphere's `/rest` API uses dot-notation query parameter names for list filters (e.g. `filter.names`, `filter.clusters`), which Itential Platform's naming convention doesn't allow — these optional filter parameters are omitted here too, for the same reason. See Known Limitations below. +vSphere's `/rest` API uses dot-notation query parameter names for list filters (e.g. `filter.names`, `filter.clusters`), which Itential Platform's naming convention doesn't allow — these optional filter parameters are omitted here too, for the same reason. ### `vmware_vsphere_automation-latest.json` -Actively-maintained spec (`x-vendor-api-version: 9.1.0.0`). Trimmed to 22 of 1363 upstream `/api` operations, deliberately matching the `/rest` project's scope 1:1 — same automation coverage, modern transport. The full upstream spec covers vastly more: ESX host lifecycle/settings management, Content Library, Appliance self-administration, Supervisor/Namespace Management (Kubernetes), vAPI introspection, and CIS session/task management, none of which are included here — see `vmware_vsphere_automation-9.1.0.0.json` below if you need any of that. +Actively-maintained spec (`x-vendor-api-version: 9.1.0.0`). Trimmed to 89 of 1363 upstream `/api` operations, deliberately matching the `/rest` curated spec's scope 1:1 wherever the modern `/api` surface has an equivalent — same automation coverage, modern transport. Two `/rest` operations (inventory datastore/network "find" queries) have no `/api` equivalent and are excluded. The full upstream spec covers vastly more: ESX host lifecycle/settings management, Content Library, Appliance self-administration, Supervisor/Namespace Management (Kubernetes), vAPI introspection, and CIS session/task management, none of which are included here — see `vmware_vsphere_automation-9.1.0.0.json` below if you need any of that. Resources included, by category: -- **Inventory**: Datacenters, Clusters, Hosts, Datastores (list + get), Networks, Folders, Resource Pools -- **Virtual Machines**: List/get/delete, power on/off, create from Content Library template -- **VM Hardware**: CPU and memory update, disk create/update/delete, Ethernet adapter create/update/delete +- **Inventory**: Datacenters, Clusters, Hosts, Datastores, Networks, Folders, Resource Pools, Storage Policies +- **Virtual Machines**: Create/list/get/delete, power operations (start/stop/reset/suspend), guest OS power operations (shutdown/reboot/standby), guest identity +- **VM Hardware**: CPU, memory, boot/boot device, disks, SCSI/SATA adapters, CD-ROM, Ethernet adapters, hardware version upgrade +- **Templates & OVF**: Deploy VMs from templates and OVF library items +- **ISO**: Mount/unmount ISO images onto a VM +- **Storage Policies**: List policies, read/assign a VM's storage policy, compliance checks +- **Guest Customization**: List guest customization specs -Only `Vcenter.VM_list` has been individually confirmed live against a real vCenter (7.0.3) during development — the rest follow the identical incoming-field pattern Itential Platform generates for every OpenAPI operation (path parameters as flat fields, JSON request bodies as a `requestBodyPayload`/`bodyContentType` pair) and validated structurally, but haven't each been individually exercised. Worth a validation pass against your own vCenter before relying on the less-common ones (hardware CRUD, template deploy) in production. +Every operation follows the same incoming-field pattern Itential Platform generates for OpenAPI operations: path parameters as flat fields, JSON request bodies as a `requestBodyPayload`/`bodyContentType` pair. ### `vmware_vsphere_automation-9.1.0.0.json` -Full spec (1363 operations), sourced directly from Broadcom's official [`vmware/vcf-api-specs`](https://github.com/vmware/vcf-api-specs) GitHub repository (`specifications/vsphere/openapi/automation/vcenter.yaml`) — unlike the `/rest` spec above, this one has a genuine vendor-published source, not something generated from a live instance. Preserved as published except for the `sessionIdAuth` security scheme, which was adapted from the vendor's three alternative auth methods (`basic_auth`, `api_key_auth`, `federated_identity_auth`) down to one dynamic-retrieval scheme — see **Why /rest for Auth Bootstrap** above for why it targets the legacy `/rest` session endpoint instead of `/api/session`, and why `basic_auth`/`federated_identity_auth` aren't usable here (Basic auth only works for session bootstrap, confirmed `401` against real business endpoints; federated/SSO auth isn't expressible as an Itential securityScheme). The one operation that structurally required `federated_identity_auth` (`Vcenter.Authentication.Token_issue`) and the `/session` path itself (absorbed into the security scheme) are excluded from both this file and the curated one, for the same reason. +Full spec (1363 operations), sourced directly from Broadcom's official [`vmware/vcf-api-specs`](https://github.com/vmware/vcf-api-specs) GitHub repository (`specifications/vsphere/openapi/automation/vcenter.yaml`) — unlike the `/rest` spec above, this one has a genuine vendor-published source, not something generated from a live instance. Preserved as published except for the `sessionIdAuth` security scheme, which was adapted from the vendor's three alternative auth methods (`basic_auth`, `api_key_auth`, `federated_identity_auth`) down to one dynamic-retrieval scheme targeting the legacy `/rest` session endpoint (see **Connection Properties** above) — `basic_auth` only works for session bootstrap, not general business endpoints, and federated/SSO auth isn't expressible as an Itential securityScheme. The one operation that structurally required `federated_identity_auth` (`Vcenter.Authentication.Token_issue`) and the `/session` path itself (absorbed into the security scheme) are excluded from both this file and the curated one, for the same reason. --- @@ -221,14 +218,9 @@ CRUD is only built out where vCenter's REST API actually supports it. Inventory | `VMware vSphere vCenter:latest` Integration Model | Import from [`vmware_vsphere_vcenter-latest.json`](./OpenAPIs/vmware_vsphere_vcenter-latest.json) before importing the project | | `vSphere vCenter` integration instance | Create in **Admin > Integrations** with the connection properties above. Workflows are wired to an integration instance named `vSphere vCenter` — update the `adapter_id` value in each workflow task if yours is named differently. Named to distinguish it from the `/api` project's `vSphere Automation` instance if running both in parallel — see **Choosing /rest vs /api** above | -#### Known Limitations - -- **No server-side filtering**: every `List` workflow returns the full unfiltered inventory. Filter client-side if you need a subset. -- **No cluster/host/resource-pool capacity data**: vCenter's REST API doesn't expose CPU or memory utilization for clusters, hosts, or resource pools — that data lives in the older SOAP-based Performance Manager API, which isn't part of this Integration Model. `Get Datastore` is the only workflow with a real capacity number (`free_space`); there's no equivalent for compute capacity. - ### VMware vSphere Automation Project -Backed by the **`VMware vSphere Automation:latest`** Integration Model (see [`vmware_vsphere_automation-latest.json`](./OpenAPIs/vmware_vsphere_automation-latest.json) above). The project contains the same **22 workflows** in the same **2 folders** as the `/rest` project above, rebuilt on the modern `/api` operations — same names, same scope, same ` ` convention, so migrating between the two (or running both side by side) doesn't change how you think about the automation, only which Integration Model and instance backs it. +Backed by the **`VMware vSphere Automation:latest`** Integration Model (see [`vmware_vsphere_automation-latest.json`](./OpenAPIs/vmware_vsphere_automation-latest.json) above). The project contains the same **22 workflows** in the same **2 folders** as the `/rest` project above, rebuilt on the modern `/api` operations — same names, same subset of the curated spec, same ` ` convention, so migrating between the two (or running both side by side) doesn't change how you think about the automation, only which Integration Model and instance backs it. #### Folder Structure @@ -243,9 +235,3 @@ Backed by the **`VMware vSphere Automation:latest`** Integration Model (see [`vm |---|---| | `VMware vSphere Automation:latest` Integration Model | Import from [`vmware_vsphere_automation-latest.json`](./OpenAPIs/vmware_vsphere_automation-latest.json) before importing the project | | `vSphere Automation` integration instance | Create in **Admin > Integrations** with the connection properties above. Workflows are wired to an integration instance named `vSphere Automation` — update the `adapter_id` value in each workflow task if yours is named differently. Named to run in parallel alongside the `/rest` project's `vSphere vCenter` instance without colliding | - -#### Known Limitations - -- **Only `List Virtual Machines` has been individually live-tested** against a real vCenter (7.0.3) — see the `vmware_vsphere_automation-latest.json` spec section above. The rest follow the same platform-generated task pattern but haven't each been individually exercised; validate against your own vCenter before relying on the less-common workflows (hardware CRUD, template deploy) in production. -- **No server-side filtering**: every `List` workflow returns the full unfiltered inventory, same as the `/rest` project. -- **No cluster/host/resource-pool capacity data**: same gap as `/rest` — that data lives outside both REST API generations, in the older SOAP-based Performance Manager API.